この記事は CentOS 6 を前提にした古いサーバー構築・保守手順の記録です。CentOS 6 は既にサポートが終了しているため、新規構築では現行の Linux ディストリビューションを利用してください。ここでは、当時の環境を保守・確認するための資料として整理しています。
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
概要
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 は活用していきたい機能の一つなので、今後も調査を継続したいと思います。
関連記事
- CentOS 6 共通設定 – サーバー初期設定の基本
- CentOS 6 ネットワーク設定 – ifcfg と network サービスの基本
- CentOS 6 BOOTPROTO とは – ifcfg の DHCP / static 指定を確認する
- CentOS 6 Yum EPEL リポジトリ設定 – 追加パッケージを利用する
- CentOS 6 SSH 設定 – OpenSSH サーバーの基本確認
- CentOS 6 NTP 時刻同期設定 – ntpd クライアントの基本
ログ通知を設計として見る
rsyslog の ommail はログをメール通知へつなげられますが、条件を誤ると大量通知になります。通知は便利ですが、ノイズが多いと重要な障害を見落とします。
- どの facility / priority を通知対象にするか。
- メール配送側が詰まらないか。
- 同じイベントが大量に送られないか。
- 監視システム側に寄せた方がよい通知ではないか。



