From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3ECCDB5B.9040908@yauza.ru> Date: Thu, 22 May 2003 18:14:51 +0400 From: "Pavel S. Khmelinsky" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030331 X-Accept-Language: ru, en-us, en MIME-Version: 1.0 To: sisyphus@altlinux.ru Subject: Re: [sisyphus] postfix traffic collector References: <3ECC4191.6060401@yauza.ru> <200305220931.15658.combr@vesna.ru> <20030522083903.6DE8C10E2@troitsky.atvc.ru> <20030522231307.0470cce0.dima@sakhalin.ru> In-Reply-To: <20030522231307.0470cce0.dima@sakhalin.ru> X-Enigmail-Version: 0.73.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: sisyphus@altlinux.ru X-Reply-To: hmepas@yauza.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: Dmitry Lebkov wrote: > On Thu, 22 May 2003 12:39:03 +0400 > Igor Dobryninsky wrote: > > >> Hello, Mike Lykov. >> >>On Thu, 22 May 2003 09:31:15 +0500 >>Mike Lykov 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= >> ^^^^^^^^^ >>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=, size=3651, nrcpt=1 (queue active) >>May 22 12:34:36 troitsky postfix/local[7167]: 747A710E4: >>to=, relay=local, delay=0, status=sent >>("|/usr/bin/procmail -a $DOMAI >> >> Однако, дело может осложнить, например, DrWeb, если он используется, >>или SpamAssassin или ещё что-нибудь подобное. Я так и знал. Готового решения никто не знает. Сейчас подумываю прикрутить как раз еще одну самописную програмку, которая будет подключатся также как DrWeb а потом уже сама передавать сообщение дальше. Т.е. что-нибудь вроде avcheck unix - n n - 5 pipe flags=q user=email_traf argv=email_traff_log -p 1025 localhost:1025 inet n - n - - smtpd в master.cf Есть мысли о предстоящих трудностях? Или готовые куски кода для парсинга сообщения и подсчитывания его длинны в байтах?