Muff's website forum

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

SMF - Just Installed!

Автор Тема: Eximstats  (Прочитано 26260 раз)

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Eximstats
« : Августа 29, 2011, 02:11:31 pm »

Приветствую.
Появилась проблема, при использовании Eximstats, настроенного по статье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
поэтому всё точь в точь делал, а результата нет :(
Exim работает как часы, и логи пишет в maillog нормально.
Записан

muff

  • Administrator
  • Долгожитель
  • ***
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 283
    • Просмотр профиля
    • IT, Network, Beer!
Re: Eximstats
« Ответ #1 : Августа 29, 2011, 02:17:01 pm »

А какой листинг самого файла? Не через веб, а с консоли?
И с какими параметрами exim пишет логи? Я использую такой вариант:

log_selector = \
        +all_parents \
        +lost_incoming_connection \
        +received_sender \
        +received_recipients \
        +smtp_confirmation \
        +smtp_syntax_error \
        +smtp_connection \
        +smtp_protocol_error \
        -queue_run
Записан
Если нет ответа, то давайте подумаем...

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Re: Eximstats
« Ответ #2 : Августа 29, 2011, 02:34:18 pm »

Сам файл с консоли выглядит вот так.
Цитировать
<!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>&nbsp;</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

Может дело в разрешениях на папку?
« Последнее редактирование: Августа 29, 2011, 02:39:22 pm от Trennis »
Записан

muff

  • Administrator
  • Долгожитель
  • ***
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 283
    • Просмотр профиля
    • IT, Network, Beer!
Re: Eximstats
« Ответ #3 : Августа 29, 2011, 04:11:24 pm »

Надеюсь /var/log/maillog не пустой? Ротация логов как настроена?
Если запустить вручную парсинг?

/usr/local/sbin/eximstats  -emptyok -charts -chartdir /usr/local/www/eximstats/ -html=/usr/local/www/eximstats/eximstats.html /var/log/maillog
Записан
Если нет ответа, то давайте подумаем...

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Re: Eximstats
« Ответ #4 : Августа 29, 2011, 07:17:16 pm »

Нет, все письма логируются нормально.

Ротация такая:
Цитировать
/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, это что может быть?
« Последнее редактирование: Августа 29, 2011, 07:35:51 pm от Trennis »
Записан

muff

  • Administrator
  • Долгожитель
  • ***
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 283
    • Просмотр профиля
    • IT, Network, Beer!
Re: Eximstats
« Ответ #5 : Августа 30, 2011, 10:24:29 am »

А опция 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
Записан
Если нет ответа, то давайте подумаем...

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Re: Eximstats
« Ответ #6 : Августа 30, 2011, 01:57:01 pm »

А опция 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
Если в
Цитировать
# Убираем из логов временную метку Exim`a - её ставит syslogd
syslog_timestamp = no
поставить yes, то eximstats начнёт понимать логи. И всё считается. :)

Насчёт замороженных сообщений вопрос ещё открыт ;)
« Последнее редактирование: Августа 30, 2011, 02:41:39 pm от Trennis »
Записан

muff

  • Administrator
  • Долгожитель
  • ***
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 283
    • Просмотр профиля
    • IT, Network, Beer!
Re: Eximstats
« Ответ #7 : Августа 30, 2011, 03:23:06 pm »

Спасибо за подсказку - добавлю дополнительный комментарий в статью по поводу eximstats  и syslog_timestamp.

По поводу замороженных сообщений: дайте вывод команды mailq.
Записан
Если нет ответа, то давайте подумаем...

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Re: Eximstats
« Ответ #8 : Августа 30, 2011, 04:01:09 pm »

Рад, что оказался полезен. ;)
Это как раз и висят эти рутовые сообщения :)
Цитировать
# 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
Записан

muff

  • Administrator
  • Долгожитель
  • ***
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 283
    • Просмотр профиля
    • IT, Network, Beer!
Re: Eximstats
« Ответ #9 : Августа 30, 2011, 04:50:09 pm »

Создайте алиас для root@test.ru, который будет перенаправлять почту администратору.
А чтобы удалить замороженные сообщения, воспользуйтесь следующей командой:

exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrm
Записан
Если нет ответа, то давайте подумаем...

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Re: Eximstats
« Ответ #10 : Августа 30, 2011, 11:02:02 pm »

Алиас создал, замороженные письма удалил. ;)
В целом по man разобрался, что за что отвечает в команде, но для чего нужно { print $3 }?  :)

Спасибо за помощь :)
Записан

muff

  • Administrator
  • Долгожитель
  • ***
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 283
    • Просмотр профиля
    • IT, Network, Beer!
Re: Eximstats
« Ответ #11 : Августа 31, 2011, 10:21:45 am »

Вывод без использования { 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, с ключами, указывающими на необходимость удаления письма по идентификатору.
Записан
Если нет ответа, то давайте подумаем...

Trennis

  • Пионер
  • *
  • Karma: 0
  • Оффлайн Оффлайн
  • Сообщений: 24
    • Просмотр профиля
Re: Eximstats
« Ответ #12 : Августа 31, 2011, 03:30:27 pm »

Ясно, спасибо за разъяснение :)
Записан
 

Страница сгенерирована за 0.084 секунд. Запросов: 27.