Zabbix監視設定の備忘録です。
やりたいこと
ログで指定したエラーメッセージ(ERRORやerror)が出力された場合にアラート検知したい。
但し、特定のメッセージ(notice)は除外し、10分以上エラーメッセージを検知しない場合はステータスを元に戻す。
前提条件
- Zabbix3.0を利用
- ログ監視にZabbix Agentを利用
- メール通知する為には別途設定が必要
内容
①アイテム設定
まずは監視したいログファイルを指定するアイテムを作成する。重要なのは下記3点で、あとは任意でOK。
・タイプ:Zabbixエージェント(アクティブ)
・キー:log
・データ型:ログ
②トリガー設定
条件式に①で作成したアイテムを選択肢して、検知したいメッセージ(ERRORやerror等)を記載し正規表現を利用する為"regrexp"で指定して、検知したい場合に"1"を指定する。
除外したいメッセージ(notice)の場合は"0"にする。
このままでは、一度検知するとZabbix上でステータスが"軽度の障害"のままになるので10分間エラーメッセージがない場合、ステータスを元に戻す設定を"nodata=600秒"を用いて設定する。
トリガー設定
({Templete App Zabbix Agent:log{/var/log/messages,,,,skip}.regrexp{[E|e][R|r][R|r][O|o][R|r]}=1 and
{Templete App Zabbix Agent:log{/var/log/messages,,,,skip}.regrexp{notice}=0) and
{Templete App Zabbix Agent:log{/var/log/messages,,,,skip}.nodata{600}=0