Zabbixで監視項目が障害や、しきい値オーバーを検出した際に、ユーザーへメール通知がされるように設定しておきます。設定の流れとしては、ユーザーのメディアに通知先のメールアドレスを設定し、アクションの設定で通知の内容と、どのユーザーに通知をメールするかを設定します。最後にメディアタイプの設定で送信メールサーバを指定します。
Postfixの設定確認
はじめに、Zabbixをインストールしているサーバーから外部へ、メールが送信できるかを確認しておきます。
echo "This is test mail." | mail -s `hostname` <メールアドレス>
メールが送信できない場合は、外部へメールが送信できるように Postfixの設定を変更しておきます。
ユーザーの作成
Zabbixをインストールした際に「Admin」という管理用のユーザーが作成されていますが、セキュリティ確保のため、新たに管理用のユーザーを作成して「Admin」は削除します。
[管理]→[ユーザー] → プルダウンメニューで「ユーザー」を選択し「ユーザーの作成」をクリックします。
[ユーザー]タブを選択し、下記を入力します。ユーザー名(エイリアス)やパスワードは任意のものを入力してください。
タイプ「Email」を選択して、送信先に通知先のメールアドレスを入力、「追加」ボタンをクリックするとメディアが追加されます。
最後に[権限]タブを選択し、ユーザーの種類を「Zabbix特権管理者」に変更して「追加」ボタンをクリックすれば、ユーザーの作成完了です。
↓
Admin ユーザーの削除
インストール直後の場合は Adminユーザーでログインしていると思いますので、一度ログアウトして、新たに作成したユーザーでログインします。
[管理]→[ユーザー] → プルダウンメニューで「ユーザー」を選択します。
Adminユーザーにチェックを入れて「選択を削除」を選択して「実行」をクリックすれば、Adminユーザーが削除されます。
↓
アクションの設定
アクション設定では通知メールの内容と、どのユーザーに通知をメールするかを設定します。
[設定]→[アクション]をクリックし、始めから設定されているアクションを削除します。
[アクション]タブを選択し、下記を入力します。件名とメッセージにはマクロが使えます。※下記で設定しているのメッセージはほんの一例ですのでお好みで設定してください。
---(コピペ用)---------------------------
デフォルトの件名:【障害発生】{TRIGGER.NAME} {ITEM.LASTVALUE}
デフォルトのメッセージ:
障害発生時刻:{DATE}-{TIME}
障害発生箇所:{TRIGGER.NAME}
最新値:{ITEM.LASTVALUE}
復旧通知の件名:【復旧】{TRIGGER.NAME} {ITEM.LASTVALUE}
リカバリメッセージ:
復旧時刻:{DATE}-{TIME}
復旧箇所:{TRIGGER.NAME}
最新値:{ITEM.LASTVALUE}
------------------------------
続いて[アクションの実行内容]タブを選択し「新規」をクリックします。
「ユーザーに送信」セクションの「追加」をクリックし、先ほど作成したユーザーを追加します。次のメディアのみ使用「Email」を選択し「追加」をクリックします。
「ユーザーにメッセージを送信」にユーザーが追加されているのを確認し「追加」をクリックします。
メディアタイプの設定
メディアタイプの設定では、主に送信メールサーバの設定を行います。
[管理]→[メディアタイプ]をクリックし、JabberとSMSを無効にします。※[実行]をクリックすると「削除しますか?」旨のアラートが表示されますが、削除はされません。
JabberとSMSが無効になっていることを確認し、[Email]をクリックします。
SMTPサーバと SMTP helo を「localhost」に変更し「更新」をクリックすれば設定完了です。
今回のサーバ構成では、Zabbixと同居しているメールサーバ(Postfix)を使ってメールを送信しますので「localhost」を設定しています。SMTPサーバと SMTP helo はご自分のサーバ構成に合わせて設定してください。
最後にメールの送信テストを行いたいところなのですが、Zabbixには「テストメールを送信」のような機能が無いようですので、トリガーを作成した時に合わせてメールの送信テストも行うことにします。
コメント