Zabbixでログ監視を行います。また、3.0からはログファイルから正規表現を利用して数値を取得できるようになったようです。
前提
Zabbixでログ監視を行うためには、エージェントのアクティブチェック関連の設定をする必要があります。
zabbix_agentd.conf
のServerActive
に、「hostname:port」の形式でアクティブ監視を許可するZabbixサーバを指定します。
また、ログ監視するためにはzabbixユーザの権限が足りません。root権限で実行できるようにするためには、zabbix_agentd.conf
の# AllowRoot=0
をAllowRoot=1
に変更すればよいですが、セキュリティ上よろしくありません。
そこで、ファイルのパーミッションを変更することで、zabbixユーザでもログを読めるようにします。
# chown root:zabbix /var/log/messages
# chmod 640 /var/log/messages
logrotateしても大丈夫なように設定を変更します。以下のようにcreate 0640 root zabbix
を追加しておきます。
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
create 0640 root zabbix
}
テンプレートの作成
テンプレートがない場合はあらかじめ作成しておきます。
Zabbixの「設定」->「テンプレート」でテンプレートの一覧が表示され、右上のテンプレートの作成
から作成できます。
テンプレート名と適切なグループを設定し、追加
します。
アイテム
作成したテンプレートの「アイテム」を選択しアイテムの作成
から作成します。
下記以外の設定は状況に応じて設定してください。
ログ監視のキーにはlog[], logrt[], eventlog[]が使用できます。詳細は6 Log file monitoring [Zabbix Documentation 3.0]などを確認してください。
例 (Postfix/LMTPの遅延を検出する)
- 名前:*任意*
- タイプ:Zabbixエージェント(アクティブ)
- キー:logrt[/var/log/maillog,"^.postfix/lmtp.delay=([0-9.]), delays=.$",,,,\1]
- データ型:数値(浮動小数)
- 単位:sec
トリガー
障害感知できるように設定します。
グラフ
必要であれば設定します。