[sisyphus] postfix traffic collector
Pavel S. Khmelinsky
=?iso-8859-1?q?hmepas_=CE=C1_yauza=2Eru?=
Чт Май 22 22:53:38 MSD 2003
Dmitry Lebkov wrote:
> On Thu, 22 May 2003 18:14:51 +0400
> "Pavel S. Khmelinsky" <hmepas на yauza.ru> wrote:
>
>
>>Dmitry Lebkov wrote:
>>
>>>On Thu, 22 May 2003 12:39:03 +0400
>>>Igor Dobryninsky <egor на atvc.ru> wrote:
>>>
>>>
>>>
>>>> Hello, Mike Lykov.
>>>>
>>>>On Thu, 22 May 2003 09:31:15 +0500
>>>>Mike Lykov <combr на vesna.ru> wrote:
>>>>
>>>>ML> но мне подсказали - в каждой строчке есть pid... соответственно
>>>>ML> можно суммировать записи об одном процессе (получения
>>>
>>>конкретного>ML> письма) относительно его pid, который в разных
>>>строчках (даже>ML> разнесенных далеко) будет один и тот же.. если
>>>postfix конечно его>ML> пишет ;)
>>>
>>>> Дело в том, что постфикс, по сути дела, это набор
>>>>узкоспециализированных программ, которые последовательно запускаются
>>>>менеджером для обработки письма. Поэтому pid тут не поможет. Тут
>>>>поможет уникальный МessageId, который присваивается каждому письму.
>>>>Вот по нему и надо фильтровать.
>>>>
>>>> МessageId в логе постфикса указывается как раз после
>>>
>>>идентификатора>процесса программы-обработчика. Вот пример:
>>>
>>>
>>>Это не message id - это mail-queue-id. А message-id идет
>>>строчкой ниже - в сообщении от postfix/cleanup. Вот по
>>>комбинации нескольких mail-queue-id и одного message-id
>>>можно отследить весь цикл доставки сообщения, т.к. message-id
>>>на всех этапах доставки(DrWeb, filters, etc) остается без
>>>изменений, а mail-queue-id -- меняется.
>>>
>>>
>>>
>>>>May 22 12:34:36 troitsky postfix/pickup[7125]: 747A710E4: uid=112
>>>>from=<community-admin на altlinux.ru>
>>>> ^^^^^^^^^
>>>>May 22 12:34:36 troitsky postfix/cleanup[7160]: 747A710E4:
>>>>message-id=<015d01c3203c$9f289770$3d01a8c0 на plant.odescable.com.ua>
>>>
>>>May>22 12:34:36 troitsky postfix/qmgr[6250]: 747A710E4:
>>>
>>>>from=<community-admin на altlinux.ru>, size=3651, nrcpt=1 (queue
>>>
>>>active)>May 22 12:34:36 troitsky postfix/local[7167]: 747A710E4:
>>>
>>>>to=<egor на atvc.ru>, relay=local, delay=0, status=sent
>>>>("|/usr/bin/procmail -a $DOMAI
>>>>
>>>> Однако, дело может осложнить, например, DrWeb, если он
>>>
>>>используется,>или SpamAssassin или ещё что-нибудь подобное.
>>
>>Я так и знал. Готового решения никто не знает. Сейчас подумываю
>
>
> Формат логов постфикса еще в процессе (до|раз)работки и до конца не
> стабилизирован. И, в отличии от того же сендмыла, достаточно неудобен
> для разбора.
Это я заметил %:)
>
> Сейчас пишется парсер на перле, который _должен_ учесть все особенности
> имеющегося в ALM постфикса. Задача - учет успешно доставленных сообщений
> (для системы расчетов ISP). Данные складываются в MySQL. Если получится
> что-нить приличное %) -- можно будет попытаться либо завернуть это в
> пакет, либо добавить как contrib к постфиксу.
Уже есть куски кода на которые можно взглянуть? Может мне их и
хватит?
Подробная информация о списке рассылки Sisyphus