CentOS 6.3でRsyslog ommailを利用してシステムアラートを送信するには


ommail はrsyslogで特定のエラーが発生した場合、メールアラートを送信するモジュールです。
CentOS 5系でommailを使用する場合は、rsyslogをコンパイル・インストールし直す必要がありましたが、CentOS 6以降では、デフォルトでommail.soを含むrsyslogがインストールされていますので設定だけで利用することができます。

/etc/rsyslog.d/ommail.conf

[text]
$ModLoad ommail

$ActionMailSMTPServer 192.168.1.2
$ActionMailFrom alert@example.com
$ActionMailTo admin@example.com
$template mail_subject,"Syslog Warning"
$template mail_body,"%fromhost%\r\n%msg%"
$ActionMailSubject mail_subject
$ActionExecOnlyOnceEveryInterval 15

*.error :ommail:;mail_body
[/text]
主な設定は以下のとおり

  • $ActionMailSMTPServer: SMTPサーバーのホスト名/IPアドレス
  • $ActionMailFrom: アラートメールの送信者アドレス
  • $ActionMailTo: アラートメールの送信先アドレス
  • $ActionMailSubject: メールタイトル
  • $template mail_subject: メールタイトルのテンプレート
  • $template mail_body: メール本文のテンプレート
    ール本文のテンプレート
  • ActionExecOnlyOnceEveryInterval: メール送信間隔

SELinuxの設定

SELinuxが有効な場合は、rsyslogからメールを送信できないように制限されています。
setseboolコマンドでlogging_syslogd_can_sendmailを有効にします。
[bash]
setsebool -P logging_syslogd_can_sendmail 1
[/bash]
getseboolで確認
[bash]
# getsebool -a | grep logging
logging_syslogd_can_sendmail –> on
[/bash]

,