↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] YouTubeも始めました→


2023-06-03(Sat) [長年日記]

logcheckのメールが大きすぎ

今日の学び「jornalctlはロケールに合った日付で返す」

最近、logcheckのメールが大きくなっています。内容を見てみると、以下のようになっていました。

5月 30 12:05:54 on-o.com sm-mta[1699926]: 34U35qGY1699926: milter=greylist, action=data, continue

5月 30 12:05:54 on-o.com sm-mta[1699926]: 34U35qGY1699926: milter=greylist, action=eoh, continue

5月 30 12:05:54 on-o.com sm-mta[1699926]: 34U35qGY1699926: milter=greylist, action=header, continue

時間が日本語になっているため、フィルターをすり抜けてしまっている可能性があり、ロケール設定が悪いことが原因かもしれません。ただ、システムロケールを変えるのは面倒です。今回、調べてみたところ、システムロケールをLANG=ja_JP.UTF-8にしているため、rsyslogのロケールがja_JPになっていてログの日付が日本語になっているのだと思いましたが、/var/log/mail.logを見ると時間は正しくなっていました。

2023-05-28T00:02:28.983494+09:00 on-o.com sm-mta[2451659]: 34RF2S4v2451659: milter=greylist, action=connect, continue

2023-05-28T00:02:29.008603+09:00 on-o.com sm-mta[2451659]: 34RF2S4v2451659: milter=greylist, action=helo, continue

一部だけ日本語になっているのかとgrepで探し回ったけど、見つかりませんでした。

そうこうしているうちに、logcheckがjorunalctlでログを取得していることに気がつきました。以下がそのログです。

$ journalctl |grep milter=greylist|head

5月 29 21:40:30 on-o.com sm-mta[4067371]: 34TCeUN04067371: milter=greylist, action=connect, continue

5月 29 21:40:31 on-o.com sm-mta[4067371]: 34TCeUN04067371: milter=greylist, action=helo, continue

あたり🎯今回の問題はこれによるものでした。

--- /etc/cron.d/logcheck.org 2010-01-03 15:18:23.000000000 +0900

+++ /etc/cron.d/logcheck 2023-06-03 06:04:02.863906271 +0900

@@ -2,6 +2,7 @@

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

+LANG=C

@reboot logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi

2 12 * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi

対策として、cronで起動されるlogcheckにLANG=Cを加えて、様子を見ることにしました。

In English: logcheck email is too large

Today's lesson: "journalctl returns a date that matches the locale"

Recently, logcheck emails have become too large. Upon reviewing the content, it appears as follows:

Since the time is in Japanese, it may have slipped through the filters and the cause may be due to bad locale settings. However, changing the system locale is a hassle. Upon investigation, it was found that rsyslog's locale was ja_JP because the system locale was set to LANG=ja_JP.UTF-8, causing the date on the logs to be in Japanese, but upon checking /var/log/mail.log, the time was correct.

Although I searched with grep to find parts that were in Japanese, I couldn't find any.

In the meantime, it was noticed that logcheck was obtaining logs with jorunalctl. The following is the log:

$ journalctl |grep milter=greylist|head

5月 29 21:40:30 on-o.com sm-mta[4067371]: 34TCeUN04067371: milter=greylist, action=connect, continue

5月 29 21:40:31 on-o.com sm-mta[4067371]: 34TCeUN04067371: milter=greylist, action=helo, continue

This was the cause of the problem.

As a countermeasure, LANG=C was added to logcheck launched by cron, and the situation will be monitored.

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索