【CentOS7】rsyslog(ommail)でログ監視 ~キーワードを検知してアラートメール送信~

ommail とは

ommail とは Mail Output Module のことで、rsyslog が標準装備しているメール送信用モジュールです。予め設定したキーワードを検知してリアルタイムにメール送信が可能です。

ommail の設定例

rsyslog.conf ではデフォルトで /etc/rsyslog.d/配下の任意の .conf を読み込みますので、/etc/rsyslog.d/ommail.conf というファイルを作り、そこでOmmailのモジュールを呼び出し、さらにキーワード検知の設定をします。

# vi /etc/rsyslog.d/ommail.conf
# Setup
$ModLoad ommail

$ActionMailSMTPServer  10.1.1.1    #SMTPサーバ
$ActionMailFrom  alert@example.com   #送信元メールアドレス
$ActionMailSubject  subject
$ActionMailTo  admin@example.com   #宛先メールアドレス

$template subject,"Alert Mail!"   #メールタイトル
$template body,"From:%fromhost%\r\nKeyword is detected in below log!\r\n%msg%"   #メッセージ本文

$ActionExecOnlyOnceEveryInterval  1   # 1秒以内に複数キーワードが検知されても送信は1回だけにする

# Trigger
if \
( $msg contains 'Hoge' ) or \    # キーワード1
( $msg contains 'Fuga' ) \   # キーワード2
then :ommail:;body

後は rsyslog を再起動して完成。

# systemctl restart rsyslog

動作確認として logger コマンドで "Hoge test"というログを /var/log/messagesに出力。

# logger Hoge test
# tail /var/log/messages

メールが送れない場合は奴の仕業かも?

SELinux を有効にしてたら以下を設定しないとメール送信できません。

# setsebool -P logging_syslogd_can_sendmail on

シェアする

  • このエントリーをはてなブックマークに追加

フォローする