背景
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]に記載されるようになります