Muff's website forum
FreeBSd => Почта => Тема начата: Trennis от Августа 29, 2011, 02:11:31 pm
-
Приветствую.
Появилась проблема, при использовании Eximstats, настроенного по статьеhttp://muff.kiev.ua/comment/reply/40#comment-form (http://muff.kiev.ua/comment/reply/40#comment-form)
При выполнении скрипта, появляется файл eximstats.html, но содержимое, при просмотре через браузер, его примерно следующее
Exim statistics from 9999-99-99 99:99:99 to 0000-00-00 00:00:00
Grand total summary
Deliveries by Transport
Messages received per hour
Deliveries per hour
Time spent on the queue: all messages
Time spent on the queue: messages with at least one remote delivery
Relayed messages
Top 50 sending hosts by message count
Top 50 sending hosts by volume
Top 50 host destinations by message count
Top 50 host destinations by volume
Grand total summary
TOTAL Volume Messages Addresses Hosts At least one addr
Delayed At least one addr
Failed
Received 0 0 0 0 0.0% 0 0.0%
Delivered 0 0 0 0
Deliveries by Transport
Volume Messages
Messages received per hour (each dot is 1 message)
00-01 0
01-02 0
02-03 0
03-04 0
04-05 0
05-06 0
06-07 0
07-08 0
08-09 0
09-10 0
10-11 0
11-12 0
12-13 0
13-14 0
14-15 0
15-16 0
16-17 0
17-18 0
18-19 0
19-20 0
20-21 0
21-22 0
22-23 0
23-24 0
ну и так далее по нулям... В чём может быть проблема? Exim настраивался по статье http://muff.kiev.ua/content/exim-nastroika-pochtovogo-servera-na-baze-exim-s-khraneniem-spiska-polzovatelei-v-bd-mysql-i (http://muff.kiev.ua/content/exim-nastroika-pochtovogo-servera-na-baze-exim-s-khraneniem-spiska-polzovatelei-v-bd-mysql-i)
поэтому всё точь в точь делал, а результата нет :(
Exim работает как часы, и логи пишет в maillog нормально.
-
А какой листинг самого файла? Не через веб, а с консоли?
И с какими параметрами exim пишет логи? Я использую такой вариант:
log_selector = \
+all_parents \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_connection \
+smtp_protocol_error \
-queue_run
-
Сам файл с консоли выглядит вот так.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<title>Exim statistics from 9999-99-99 99:99:99 to 0000-00-00 00:00:00</title>
</head>
<body bgcolor="white">
<h1>Exim statistics from 9999-99-99 99:99:99 to 0000-00-00 00:00:00</h1>
<ul>
<li><a href="#Grandtotal">Grand total summary</a>
<li><a href="#Transport">Deliveries by Transport</a>
<li><a href="#Messages received">Messages received per hour</a>
<li><a href="#Deliveries">Deliveries per hour</a>
<li><a href="#Time spent on the queue all messages">Time spent on the queue: all messages</a>
<li><a href="#Time spent on the queue messages with at least one remote delivery">Time spent on the queue: messages with at least one remote delivery</a>
<li><a href="#Relayed messages">Relayed messages</a>
<li><a href="#Sending host count">Top 50 sending hosts by message count</a>
<li><a href="#Sending host volume">Top 50 sending hosts by volume</a>
<li><a href="#Host destination count">Top 50 host destinations by message count</a>
<li><a href="#Host destination volume">Top 50 host destinations by volume</a>
</ul>
<hr>
<a name="Grandtotal"></a>
<h2>Grand total summary</h2>
<table border=1>
<tr><th>TOTAL</th><th>Volume</th><th>Messages</th><th>Addresses</th><th>Hosts</th><th colspan=2>At least one addr<br>Delayed</th><th colspan=2>At least one addr<br>Failed</th>
<tr><td>Received</td><td align="right"> 0</td><td align="right">0</td><td align="right"></td><td align="right">0</td><td align="right">0</td><td align="right"> 0.0%</td><td align="right">0</td><td align="right"> 0.0%</td>
<tr><td>Delivered</td><td align="right"> 0</td><td align="right">0</td><td align="right">0</td><td align="right">0</td>
</table>
<hr><a name="Transport"></a><h2>Deliveries by Transport</h2>
<table border=0 width="100%"><tr><td><table border=1>
<tr><th> </th><th>Volume</th><th>Messages</th>
</tr></table></td><td></td><td></td></tr></table>
<hr><a name="Messages received"></a><h2>Messages received per hour (each dot is 1 message)</h2>
<table border=0 width="100%">
<tr><td><pre>
00-01 0
01-02 0
02-03 0
03-04 0
04-05 0
05-06 0
06-07 0
07-08 0
08-09 0
09-10 0
10-11 0
11-12 0
12-13 0
13-14 0
14-15 0
15-16 0
16-17 0
17-18 0
18-19 0
19-20 0
20-21 0
21-22 0
22-23 0
23-24 0
</pre>
</td><td>
<img src="./histogram_Messages_received.png"></td></tr></table>
<hr><a name="Deliveries"></a><h2>Deliveries per hour (each dot is 1 delivery)</h2>
<table border=0 width="100%">
<tr><td><pre>
00-01 0
01-02 0
02-03 0
03-04 0
04-05 0
05-06 0
06-07 0
07-08 0
08-09 0
09-10 0
10-11 0
11-12 0
12-13 0
13-14 0
14-15 0
15-16 0
16-17 0
17-18 0
18-19 0
19-20 0
20-21 0
21-22 0
22-23 0
23-24 0
</pre>
</td><td>
<img src="./histogram_Deliveries.png"></td></tr></table>
<hr><a name="Time spent on the queue all messages"></a><h2>Time spent on the queue: all messages</h2>
<table border=0 width="100%"><tr><td><table border=1>
<tr><th>Time</th><th>Messages</th><th>Percentage</th><th>Cumulative Percentage</th>
</table></td><td></td></tr></table>
<hr><a name="Time spent on the queue messages with at least one remote delivery"></a><h2>Time spent on the queue: messages with at least one remote delivery</h2>
<table border=0 width="100%"><tr><td><table border=1>
<tr><th>Time</th><th>Messages</th><th>Percentage</th><th>Cumulative Percentage</th>
</table></td><td></td></tr></table>
<hr><a name="Relayed messages"></a><h2>Relayed messages</h2>
No relayed messages
<hr><a name="Sending host count"></a><h2>Top 50 sending hosts by message count</h2>
<table border=0 width="100%">
<tr><td>
<table border=1>
<tr><th align="right">Messages</th><th align="right">Bytes</th><th align="right">Average</th><th align="right" nowrap>Sending host</th></tr>
</table>
</td><td>
</td><td>
</td></tr></table>
<hr><a name="Sending host volume"></a><h2>Top 50 sending hosts by volume</h2>
<table border=0 width="100%">
<tr><td>
<table border=1>
<tr><th align="right">Messages</th><th align="right">Bytes</th><th align="right">Average</th><th align="right" nowrap>Sending host</th></tr>
</table>
</td><td>
</td><td>
</td></tr></table>
<hr><a name="Host destination count"></a><h2>Top 50 host destinations by message count</h2>
<table border=0 width="100%">
<tr><td>
<table border=1>
<tr><th align="right">Messages</th><th align="right">Bytes</th><th align="right">Average</th><th align="right" nowrap>Host destination</th></tr>
</table>
</td><td>
</td><td>
</td></tr></table>
<hr><a name="Host destination volume"></a><h2>Top 50 host destinations by volume</h2>
<table border=0 width="100%">
<tr><td>
<table border=1>
<tr><th align="right">Messages</th><th align="right">Bytes</th><th align="right">Average</th><th align="right" nowrap>Host destination</th></tr>
</table>
</td><td>
</td><td>
</td></tr></table>
</body>
</html>
Пишет логи так же:
log_selector = \
+all_parents \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_connection \
+smtp_protocol_error \
-queue_run
Может дело в разрешениях на папку?
-
Надеюсь /var/log/maillog не пустой? Ротация логов как настроена?
Если запустить вручную парсинг?
/usr/local/sbin/eximstats -emptyok -charts -chartdir /usr/local/www/eximstats/ -html=/usr/local/www/eximstats/eximstats.html /var/log/maillog
-
Нет, все письма логируются нормально.
Ротация такая:
/var/log/maillog 640 7 * $W6D0 JC
Мистика какая-то.
Всё что нужно могу выложить... Что ещё требуется?
И вручную запускал, всё одно... :(
Пробовал вот так:
# eximstats /var/log/maillog >> files/eximstats.txt
Ответ:
**** No valid log lines read
Вот maillog:
Aug 29 19:05:21 gate exim[3787]: 1QxsOx-000JBG-3p Message is frozen
Aug 29 19:05:21 gate exim[3788]: 1QxVl8-000IGR-LH Message is frozen
Aug 29 19:30:51 gate exim[1882]: SMTP connection from [192.168.0.4] (TCP/IP connection count = 1)
Aug 29 19:30:57 gate exim[3919]: no host name found for IP address 192.168.0.4
Aug 29 19:30:57 gate exim[3919]: 1Qy7Xt-00011D-I6 <= test@test.ru H=(gate) [192.168.0.4] P=esmtp S=880 id=82ce2bf88c77d463e75cce916f7cc84c@test.ru from <test@test.ru> for test@test.ru
Aug 29 19:30:57 gate exim[3921]: 1Qy7Xt-00011D-I6 => test <test@test.ru> R=virtual_localuser T=local_delivery
Aug 29 19:30:57 gate exim[3921]: 1Qy7Xt-00011D-I6 Completed
Aug 29 19:30:57 gate exim[3919]: SMTP connection from (gate) [192.168.0.4] closed by QUIT
И ещё, немного не по теме, но здесь спрошу:
Кстати постоянно появляются кучи замороженных сообщений, причём машина тестовая и никто никому сообщения не шлёт, кроме меня. Так же заметил отсыл сообщений от имени root@test.ru to root, это что может быть?
-
А опция qualify_domain установлена в значение test.ru?
Письма отправляются в 3 часа утра? Тогда это отчеты операционной системы.
Замороженные - смотрите на какой адрес были отправлены письма...
По поводу запуска "вручную"... Синтаксис следующий:
# /usr/local/sbin/eximstats -emptyok -charts -chartdir /usr/local/www/eximstats/ -html=/usr/local/www/eximstats/eximstats.html /var/log/maillog
-
А опция qualify_domain установлена в значение test.ru?
Да. Там на самом деле вместо test.ru мой настоящий домен прописан. Это я вручную заменил когда писал.
Да, письма слались в 3 утра. Спасибо за разъяснение. :)
А как посмотреть адреса замороженных писем? В maillog по этому поводу ничего не сказано.
Блин, ну хоть убейте, уже копи-пастом всё сделал, не хочет мне отчёт делать, хоть ты тресни :(
Вручную так тоже запускал.
Сделал ещё вот так, чтобы ошибки писал...
# /usr/local/sbin/eximstats -charts -chartdir /usr/local/www/eximstats/ -html=/usr/local/www/eximstats/eximstats.html /var/log/maillog
**** No valid log lines read
[root@gate /home/adminbief]#
Из чего становится ясно, что он не понимает, что там пишется :( Но как заставить? :)
-----------------------------------
Всё, проблема решена.
Оказалось, что в статье http://muff.kiev.ua/content/exim-nastroika-pochtovogo-servera-na-baze-exim-s-khraneniem-spiska-polzovatelei-v-bd-mysql-i (http://muff.kiev.ua/content/exim-nastroika-pochtovogo-servera-na-baze-exim-s-khraneniem-spiska-polzovatelei-v-bd-mysql-i)
Если в
# Убираем из логов временную метку Exim`a - её ставит syslogd
syslog_timestamp = no
поставить yes, то eximstats начнёт понимать логи. И всё считается. :)
Насчёт замороженных сообщений вопрос ещё открыт ;)
-
Спасибо за подсказку - добавлю дополнительный комментарий в статью по поводу eximstats и syslog_timestamp.
По поводу замороженных сообщений: дайте вывод команды mailq.
-
Рад, что оказался полезен. ;)
Это как раз и висят эти рутовые сообщения :)
# mailq
37h 22K 1Qxs61-000J9Y-Ol <> *** frozen ***
root@test.ru
37h 4.3K 1Qxs61-000JAC-Qi <> *** frozen ***
root@test.ru
37h 1.4K 1QxsEg-000JAW-Hp <> *** frozen ***
root@test.ru
37h 2.1K 1QxsOx-000JBG-3p <> *** frozen ***
root@test.ru
31h 1.2K 1QxxH4-000JLv-Iu <> *** frozen ***
root@test.ru
13h 14K 1QyEag-000AdK-G4 <> *** frozen ***
root@test.ru
13h 4.3K 1QyEag-000AdL-G5 <> *** frozen ***
root@test.ru
13h 1.4K 1QyEiF-000AgD-TT <> *** frozen ***
root@test.ru
13h 1.9K 1QyEsD-000Ah5-Gw <> *** frozen ***
root@test.ru
-
Создайте алиас для root@test.ru, который будет перенаправлять почту администратору.
А чтобы удалить замороженные сообщения, воспользуйтесь следующей командой:
exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrm
-
Алиас создал, замороженные письма удалил. ;)
В целом по man разобрался, что за что отвечает в команде, но для чего нужно { print $3 }? :)
Спасибо за помощь :)
-
Вывод без использования { print $3 } имеет следующий вид:
exim -bp | awk '$6~"frozen"'
72m 1.8K 1Qydws-000JQF-Gw <> *** frozen ***
68m 11K 1Qye0o-000JY3-MA <> *** frozen ***
51m 1.8K 1QyeGe-000K2a-5L <> *** frozen ***
44m 106K 1QyeOI-000KJq-5D <> *** frozen ***
43m 4.0K 1QyeOk-000KL9-Ea <> *** frozen ***
А нам нужны только идентификаторы писем, тоесть 3 колонка. Соответственно:
exim -bp | awk '$6~"frozen" { print $3 }'
1Qydws-000JQF-Gw
1Qye0o-000JY3-MA
1QyeGe-000K2a-5L
1QyeOI-000KJq-5D
1QyeOk-000KL9-Ea
Ну а потом уже через конвеер даем перенаправление в Exim, с ключами, указывающими на необходимость удаления письма по идентификатору.
-
Ясно, спасибо за разъяснение :)