rsyslog の ommail を試します。ommail は、ログの文字列等を識別してメール通知をしてくれる rsyslog のモジュールです。本稿では、Warning 以上のログをメールで通知するように設定してみます。
$ModLoad ommail
$ActionMailSMTPServer mail.si1230.com
$ActionMailFrom root
$ActionMailTo myadmin@si1230.com
$template mail_subject,"Log Report on %hostname%"
$template mail_body,"Server name: %hostname%nSyslog facility: %syslogfacility-text%nSyslog severity: %syslogseverity-text%nn%msg%n"
$ActionMailSubject mail_subject
if $syslogseverity <= 4 then :ommail:;mail_body
service rsyslog restart設定完了後、Warning 以上のログがメールで通知されることを確認しましたが、OS 起動が不安定になりました。調査の結果、/var パーティションの使用率が 100% に達していたことが原因であることが判明しました。
/var は 4GB の独立したパーティションとして設定されており、/var/log/messages ファイルのサイズが 4GB 近くになっていたため、/var パーティションの容量が不足し、OS 起動が不安定になったと考えられます。
問題発生時の /var/log/messages ファイルには、以下のようなログが大量に記録されていました。これらのログは非常に速く記録されており、起動後数分で 4GB に達していた可能性があります。
cat /var/log/messages
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket
May 13 00:36:04 xxxxxxxx rsyslogd: imuxsock: recvfrom UNIX: Socket operation on non-socket結局、今回は rsyslog.conf の設定を戻して解消しましたが、ommail は活用していきたい機能の一つなので、今後も調査を継続したいと思います。
参考
書籍
書籍
参考書籍
ストーリーで覚える Linux CLI 入門
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 6 rsyslog ommail 有効化で大量のログが出力




