| SENDMAIL2DLF.IN(1) | LogReport's Lire Documentation | SENDMAIL2DLF.IN(1) |
نام (NAME)
sendmail2dlf - تبدیل فایلهای گزارش sendmail به dlf
خلاصه دستور (SYNOPSIS)
sendmail2dlf
توضیحات (DESCRIPTION)
دستور sendmail2dlf(1) یک فایل گزارش sendmail (نسخه 8.10.x یا بالاتر) با سطح گزارشگیری ۹ (LogLevel 9) را که توسط syslog ایجاد شده است، به یک فایل فرمت لاگ تقطیرشده ایمیل Lire (مخفف Distilled Log Format یا dlf) تبدیل میکند.
ورودی به ازای هر رویداد یک خط است. خروجی تولیدشده به ازای هر تحویل یک خط است:
time logrelay queueid msgid fromuser fromdomain fromrelay \ size delay xdelay touser todomain torelay stat
(این باید همان فرمتی باشد که در email/dlf.cfg تعریف شده است.)
مثال (EXAMPLE)
خطوط
Apr 20 03:00:11 firewall sendmail[442]: DAA00442: \ from=<user@example.com>, size=4992, class=0, \ pri=34992, nrcpts=1, \ msgid=<200004192316.BAA19611@achilles.noot.com>, \ proto=ESMTP, relay=host.example.nl [150.0.0.45] Apr 20 03:00:11 firewall sendmail[442]: DAA00442: \ to=<jan@aap.com>, delay=00:00:00, mailer=smtp, \ stat=queued Apr 20 05:00:11 firewall sendmail[503]: DAA00442: \ to=<jan@aap.com>, delay=02:00:00, \ xdelay=00:00:03, mailer=smtp, relay=mailgw.aap.com. \ [3.4.64.199], stat=Sent (OK id=12i7CN-0001Kv-00)
به موارد زیر تبدیل خواهند شد:
956109611 firewall DAA00442 \ <200004192316.baa19611@achilles.noot.com> user \ example.com host.example.nl_[150.0.0.45] 4992 0 0 \ jan aap.com host.example.nl._[150.0.0.45] queued \ UNKNOWN 956116811 firewall DAA00442 \ <200004192316.baa19611@achilles.noot.com> user \ example.com host.example.nl_[150.0.0.45] 4992 \ 7200 3 jan aap.com mailgw.aap.com._[3.4.64.199] \ sent (ok_id=12i7cn-0001kv-00)
خطوط
Mar 17 13:34:32 mailhost sendmail[8408]: NAA08408: \ from=<piet@example.com>, size=1890, class=0, \ pri=0, nrcpts=4, \ msgid=<000b01bf9009$f6885b20$6c062014@sabepc06.be.example.com>, \ proto=ESMTP, relay=root@[1.2.6.10] Mar 17 13:45:26 mailhost sendmail[8457]: NAA08408: \ to=lkrksen@www, delay=00:10:56, xdelay=00:00:01, \ mailer=smtp, relay=www.example.nl. [194.229.43.3], \ stat=Sent (NAA06261 Message accepted for delivery) \ Mar 17 13:45:27 mailhost sendmail[8457]: NAA08408: \ to=ll@host.example.com, delay=00:10:57, \ xdelay=00:00:01, mailer=smtp, relay=host.example.nl. \ [150.0.0.45], stat=Sent (OK) Mar 17 13:45:31 mailhost sendmail[8457]: NAA08408: \ to=<mvelsla@aap.com>,<pvhove@aap.com>,<pdebaerd@aap.com>, \ delay=00:11:01, xdelay=00:00:04, mailer=smtp, \ relay=mailgw.aap.com. [3.4.64.199], stat=Sent (OK \ id=12Vw8J-0001iT-00)
به موارد زیر تبدیل خواهند شد:
953210726 mailhost NAA08408 \ <000b01bf9009$f6885b20$6c062014@sabepc06.be.example.com>\ piet example.com root@[1.2.6.10] 1890 656 1 lkrksen \ www www.example.nl._[194.229.43.3] sent \ (naa06261_message_accepted_for_delivery) 953210727 mailhost NAA08408 \ <000b01bf9009$f6885b20$6c062014@sabepc06.be.example.com> \ piet example.com root@[1.2.6.10] 1890 657 1 ll \ host.example.com host.example.nl._[150.0.0.45] sent (ok) 953210731 mailhost NAA08408 \ <000b01bf9009$f6885b20$6c062014@sabepc06.be.example.com> \ piet example.com root@[1.2.6.10] 1890 661 4 mvelsla \ aap.com mailgw.aap.com._[3.4.64.199] sent \ (ok_id=12vw8j-0001it-00) 953210731 mailhost NAA08408 \ <000b01bf9009$f6885b20$6c062014@sabepc06.be.example.com> \ piet example.com root@[1.2.6.10] 1890 661 4 pvhove \ aap.com mailgw.aap.com._[3.4.64.199] sent \ (ok_id=12vw8j-0001it-00) 953210731 mailhost NAA08408 \ <000b01bf9009$f6885b20$6c062014@sabepc06.be.example.com> \ piet example.com root@[1.2.6.10] 1890 661 4 pdebaerd \ aap.com mailgw.aap.com._[3.4.64.199] sent \ (ok_id=12vw8j-0001it-00)
خطوط
Mar 15 13:34:09 firewall sendmail[279]: NAA00279: \ from=<klaas@example.com>, size=2281952, class=0, \ pri=2311952, nrcpts=1, \ msgid=<200003151230.NAA00112@mailhost.example.nl>, \ proto=ESMTP, relay=host.example.nl [150.0.0.45] Mar 15 13:34:09 firewall sendmail[279]: NAA00279: \ to=<klaas@hotmail.com>, delay=00:00:04, mailer=smtp, \ stat=queued Mar 15 13:39:58 firewall sendmail[401]: NAA00279: \ to=<klaas@hotmail.com>, delay=00:05:53, xdelay=00:00:06, \ mailer=smtp, relay=mc5.law5.hotmail.com. \ [216.32.243.136], stat=Service unavailable Mar 15 13:39:58 firewall sendmail[401]: NAA00279: \ NAA00401: postmaster notify: Service unavailable Mar 15 13:40:04 firewall sendmail[401]: NAA00401: \ to=klaas@host.example.com, delay=00:00:06, \ xdelay=00:00:04, mailer=smtp, relay=host.example.nl. \ [150.0.0.45], stat=Sent (OK)
به موارد زیر تبدیل خواهند شد:
953037249 firewall NAA00279 \ <200003151230.naa00112@mailhost.example.nl> klaas \ example.com host.example.nl_[150.0.0.45] 2281952 4 1 \ klaas hotmail.com mailgw.csc.com._[208.219.64.199] \ queued UNKNOWN 953037598 firewall NAA00279 \ <200003151230.naa00112@mailhost.example.nl> klaas \ example.com host.example.nl_[150.0.0.45] 2281952 353 6 \ klaas hotmail.com mc5.law5.hotmail.com._[216.32.243.136] \ service unavailable
این موضوع که تحویل
'Mar 15 13:40:04 firewall sendmail[401]: NAA00401:'
هیچ رکورد dlf ایجاد نمیکند، یک اشکال است.
هنگامی که خط
Mar 15 19:39:40 mailhost sendmail[2178]: TAA02178: \ from=<foo@hotmail.com>, size=0, class=0, pri=0, \ nrcpts=0, proto=SMTP, relay=[1.84.7.150]
در ورودی رخ دهد و خط دیگری با همان شناسه صف (queueid) وجود نداشته باشد، این خط دور انداخته شده و به عنوان نادیدهگرفتهشده (skipped) گزارش میشود؛ هر خط to- یا from- که فاقد جفت متناظر باشد، دور انداخته خواهد شد.
خطوطی مانند:
Mar 15 13:40:19 firewall sendmail[456]: alias database \ /etc/aliases.db out of date
دور انداخته خواهند شد.
مثالها (EXAMPLES)
برای پردازش گزارش تولیدشده توسط sendmail:
$ sendmail2dlf < mail.log
دستور sendmail2dlf به ندرت به تنهایی استفاده میشود، بلکه احتمالاً توسط lr_log2report فراخوانی خواهد شد:
$ lr_log2report sendmail < /var/log/maillog
اشکالات (BUGS)
هنگامی که شناسههای صف (queueid) درون یک فایل گزارش دوباره استفاده شوند، رفتار برنامه غیرقابلپیشبینی خواهد بود. قطعههای ناقص گزارش (مانند خطوط from- بدون خطوط to-) به درستی مدیریت نمیشوند.
گزارش شده است که رویدادهایی مانند زیر در فایلهای گزارش sendmail رخ میدهند:
SAA14845: from=<>, size=146990, class=0, pri=176990, nrcpts=1, msgid=<092246.09986@rly-yc03.mx.aol.com>, proto=ESMTP, relay=omr-d06.mx.aol.com [205.188.156.71] SAA14845: to=joe@mailhost, ctladdr=<joe@example.edu>, delay=00:00:01, mailer=local, stat=User unknown SAA14845: to=<joe@example.edu>, delay=00:00:01, mailer=local, stat=User unknown SAA14845: SAA14846: postmaster notify: User unknown SAA14846: to="|exec /usr/local/bin/procmail", ctladdr=ann@mailhost (2217/10), delay=00:00:00, xdelay=00:00:00, mailer=prog, stat=Sent SAA14846: to=bob@imap-ns, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, relay=apex.example.edu. [152.19.4.80], stat=Sent (Message received: GVV8N400.CMX) SAA14846: to=eve@mailhost, delay=00:00:01, xdelay=00:00:00, mailer=local, stat=Sent
توجه داشته باشید که شناسه SAA14845 دارای دو خط پایانی =to است، در حالی که خط =from مقدار nrcpts=1 را مشخص میکند. این موضوع فرضیه بنیادی این اسکریپت را نقض میکند. ما هنوز در مورد نحوه برخورد با این مورد تصمیمگیری نکردهایم...
تشکر و قدردانی (THANKS)
Edward Eldred، برای یافتن و گزارش کردن یک اشکال.
نسخه (VERSION)
$Id: sendmail2dlf.in,v 1.32 2006/07/23 13:16:34 vanbaal Exp $
حق نشر (COPYRIGHT)
حق نشر © 2000, 2001, 2002 Stichting LogReport Foundation LogReport@LogReport.org
این برنامه بخشی از Lire است.
نرمافزار Lire یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) منتشرشده توسط بنیاد نرمافزارهای آزاد؛ چه نگارش ۲ پروانه و چه (به انتخاب خودتان) هر نگارش بالاتری بازتوزیع کرده یا تغییر دهید.
این برنامه به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «پروانه عمومی همگانی گنو» مراجعه کنید.
شما باید به همراه این برنامه نسخهای از پروانه عمومی همگانی گنو را دریافت کرده باشید (فایل COPYING را ببینید)؛ در غیر این صورت، نشانی http://www.gnu.org/copyleft/gpl.html را بررسی کنید.
نویسنده (AUTHOR)
Joost van Baal <joostvb@logreport.org>
| 2025-09-28 | Lire 2.1.1 |