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]