【Zabbix】アクション設定のメール内容を、ログに記録する

背景

Zabbix で設定しているアクションのメール送信内容を「ログ」に記録して、そちらをログ監視で確認するという要件がありました。

いろいろ調べてみると、断片的に情報をアップして頂いている方がいらっしゃったので、それを組み合わせて実現できました。

備忘録として、こちらにまとめておきます。

設定内容(画面ショットは 2.0 ですが、3.0 系でも大丈夫です)

1.最初にメディアを作成します

メニューより、[管理]→[メディアタイプ]を選択し、右上にある「メディアの新規作成」ボタンを押します。

以下の画面のように作って頂ければと。

メディア設定

名前:monitor_log(任意です)
タイプ:スクリプト
スクリプト名:zabbix_monitor.sh(任意です。ただし、
パスは、./usr/lib/zabbix/alertscripts/ に保存してください)
有効:チェック

2.スクリプトを準備します

以下のようなシェルを作って、[./usr/lib/zabbix/alertscripts/ ]に、項番1 で記載した「スクリプト名」で保存します

DATESTR=`date "+%Y/%m/%d %T"`
META=$2
UNIFIED_LOG=/var/log/zabbix/zabbix_monitor.log
/bin/echo "$DATESTR $META" >> $UNIFIED_LOG 2>&1

※スクリプト内の[META]という変数に[$2]をセットしてます。この[$2]は、アクション設定の「デフォルトの件名」部分に該当します

3.ユーザーを追加します

項番1 で作成したメディアを、ユーザーにセットします

タイプ:monitor_log(項番1で作成したものです)
送信先:zabbix

4.「アクションの実行条件」に追加します

項番3 で作成したユーザーに対して、「アクションの実行条件」で[ユーザーにメッセージを送信: zabbix-monitor]をセットします。

こうすることで、アクションがキックされた際に、[/var/log/zabbix/zabbix_monitor.log]に記載されるようになります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です