Zabbix でログ監視をする
いつも調べ直すのでよく使うトリガー条件式などをメモとして残す(zabbix2.4)
1. ホストのマクロ
OSによってシステムログのパスが違うのでホストのマクロに登録する
{$SYSLOG} = /var/log/mesasges
2. アイテムのキー値
ログに出力された内容はすべてサーバに収集する。アイテムはテンプレートの中に作ること。
logrt[{$SYSLOG}]
3. 正規表現
検知したい文字列と検知したい文字列を含んでしまうけど除外したい文字列を正規表現に定義する。
syslog_regexp = err | warn | fail | panic 結果を真 大文字小文字を区別
syslog_exclude = test 結果を真 大文字小文字を区別
4. トリガー条件式
検知文字列を受信した場合のトリガーと、除外文字列を受信したときのトリガーを”&”でくくる
ログ監視は自動的に正常に戻らないので基準時間(5分)を決めておき定期的に障害状態を解除する条件も追加する
{hostname:logrt[{$SYSLOG}].regexp(@syslog_regexp)}=1
&
{hostname:logrt[{$SYSLOG}].regexp(@syslog_exclude)}=0
&
{hostname:logrt[{$SYSLOG}].nodata(300)}=0