Zabbixで障害検知時のメール通知方法
Zabbixで障害を検知した際のメール通知方法を説明する。
目次
Zabbixで障害検知時のメール通知方法
1.目的
zabbixの基本機能であるメールによる障害通知は、SMTP-AUTHに対応していないため、SMTP-AUTH認証設定のアドレスに対してメール送信ができない。
障害発生時にメール送信されるようにするため、「zabbixのカスタムアラートスクリプト機能を利用して、SMTP-AUTHによるメール送信を実現する方法を説明する。
2.動作環境
Zabbix server v2.2.19 (revision 70207) (14 July 2017)
Compilation time: Jul 17 2017 04:50:18
3.カスタムアラートスクリプト
今回は以下の2つのスクリプトを使用する。
| sendMail.sh | カスタムアラートスクリプト本体 |
| sendMail.py | カスタムアラートスクリプトが呼び出すpythonスクリプト ※実際にSMTP-AUTHによるメール送信を行うのはこちら |
※sendMail.shについて
zabbixから3つの引数が渡されるので、カスタムアラートスクリプトにはその処理内容を記載する。
①送信先アドレス
②メールタイトル
③メール本文
コマンドの意味
| -A | SMTP-AUTHでメールを送信する |
| -m | 送信先SMTPサーバ |
| -p | 送信先ポート番号 |
| -t | 送信先メールアドレス |
| -s | メールタイトル |
| -b | メール本文 |
| -f | 送信元メールアドレス ※今回このコマンドは使用せず、デフォルト値をpythonスクリプトに埋め込むこととした。 |
4.カスタムアラートスクリプトの配置先
カスタムアラートスクリプトの配置場所
/usr/lib/zabbix/alertscripts
カスタムアラートスクリプトのパス
zabbix_server.conf内に記載する。
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts5.カスタムアラートスクリプトの通知用メディアへの追加手順
1.メディアタイプの作成
[管理]-[メディアタイプ]-[メディアタイプの作成]

2.メディアタイプを作成する
「タイプ=スクリプト」でメディアタイプを作成
※スクリプト名は配置したカスタムアラートスクリプトの名前

ユーザに通知用のメールアドレスを設定
1.ユーザの選択/作成
[管理]-[ユーザ]
紐づけたいユーザがある場合→「メンバー」項の『ユーザ名』をクリックする。
紐づけたいユーザがない場合→「#」項の『ユーザー』リンクをクリックし、新規作成する。

2.「メディアタブ」を選択

3.追加しているメディアタイプを確認する
追加する場合は下部の「追加」を選択する。

①追加しているメディアタイプ
②新規追加
4.メディアタイプの設定をする

| タイプ | カスタムアラートスクリプトとして登録したメディアタイプ |
| 送信先 | メールの送信先 |
| 有効な時間帯 | 送信許可時間:フォーマットは下記参照https://www.zabbix.com/documentation/2.2/jp/manual/appendix/time_period |
| 指定した深刻度の時に使用 | 通知するレベル(トリガーの設定) |
| ステータス | この設定のステータス有効/無効 |
アクションの追加
1.アクションの作成
[設定]-[アクション]-[アクションの作成]

2.メールの件名とボディ部のフォーマットを行う
{}の部分は通知内容で置き換えられる。

3.実行条件を設定する
「アクションの実行条件」タブの実行条件を設定する。
※何も指定しない場合、最も単純なケースとしてトリガーが「OK」から「障害」に変わった場合にアクションが実行される。

4.アクションの実行内容を設定する
「アクションの実行内容」タブの実行内容を設定する。

| 実行内容のタイプ | アクションの内容 |
| ユーザーグループに送信 | ユーザーグループに送信する場合設定する |
| ユーザーに送信 | 個別ユーザに送信する場合設定する |
| 次のメディアのみ使用 | アクションで使用するメディアタイプ |
6.ダウンロード
◎sendMail.sh ≫ sendmail_sh
◎sendMail.py ≫ sendmail_py
※ダウンロード後に「_」を「.」に修正し、ご使用ください。