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

/etc/rsyslog.d/ommail.conf

$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

主な設定は以下のとおり

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

SELinuxの設定

SELinuxが有効な場合は、rsyslogからメールを送信できないように制限されています。
setseboolコマンドでlogging_syslogd_can_sendmailを有効にします。

setsebool -P logging_syslogd_can_sendmail 1

getseboolで確認

# getsebool -a | grep logging
logging_syslogd_can_sendmail --> on