第4回 障害発生通知 (4/5)

技術特集

1_zabbix4_tit

tit_zabbix
4)デフォルトで登録されているアクション

デフォルトでは、障害発生時にメッセージを送信して、障害復旧時にリカバリのメッセージを送信するアクションが登録され、無効化されています。
これを有効化することで、アクションがどのように実行されるかを確認してみましょう。

まずは、メールを送れるようにするために事前に設定をしておきます。

その設定とは、メディアEmailの設定修正とユーザに対するメディアの登録です。

メディアEmailの修正は、メニューで「管理」->「メディアタイプ」と選択すると、登録済みのメディアが一覧表示されますので、「Email」という名前の部分をクリックします。

そうすると、デフォルトでは正しくないサンプル値が入っていますので、

  • SMTPサーバー
  • SMTP helo
  • 送信元アドレス

に利用している環境に合わせて設定してください。

例えば、Zabbixサーバを起動しているOSと同じOS上にPostfixなどのMTAを起動していて、ホスト名が「zbxsrv1」、メールの送信元のメールアドレスを「zabbix」ユーザから送るように設定するのであれば、それぞれ、以下のように設定します。

  • SMTPサーバー : localhost.localdomain
  • SMTP helo : zbxsrv1.localdomain
  • 送信元アドレス : zabbix@localhost.localdomain

zbx_action_emailedit

localhost.localdomainなどは、あくまでもローカルで試すようの設定サンプルですので、導入されるメールの環境に合わせて値を変更してください。

次に、ユーザに対して、どのメッセージ送信方法(メディア)を利用するか設定します。具体的には、ユーザに対して利用するメディアを登録します。

ここでは、ユーザ「Admin」のメディアを登録してみます。

「管理」->「ユーザー」でユーザ一覧を表示させ、メンバの「Admin」をクリックすると「ユーザーの設定」画面になります。
そこで、「メディア」タブをクリックして、「追加」をクリックすると、メディアの設定ダイアログが表示されます。

ここで、

タイプ: Email
送信先: root@localhost.localdomain

と入力して「追加」ボタンを押して追加します。

zbx_action_email

深刻度の指定は、トリガーの深刻度が「未分類」や「情報」であれば、メール送信しなくて良いというような指定もできますので、メール送信が不要であれば、チェックを外してください。

追加後に、必ず「保存」ボタンを押して保存することを忘れないようにしてください。
先に紹介した「日本語メール送信」を利用する場合は、メディアとして「Email」ではなく「日本語メール送信」を選択するだけです。
これでメッセージを送信するための事前準備ができました。
あとは、以下の図のように、デフォルトで登録されているアクションのステータスを有効にします。

zbx_action_enable

ここまで設定することで、ユーザグループ「Zabbix administrators」内のユーザに、メッセージを送信する設定ができましたので、何らかの障害を検知したらメールが送信されているはずです。

アクションが正常に実行されたかどうかは、

  • ダッシュボードの「最新20件の障害」内のアクション欄
  • イベント詳細画面の「メッセージアクション」内のステータス欄
  • イベント詳細画面の「イベントリスト」内のアクション欄

で確認することができます。

アクション欄は、緑色の数字が表示されていればアクションが正常に実行できています。赤色の数字であった場合は、何らかの原因でアクションが実行できていません。オレンジ色の数字であった場合は、現在処理中の状態です。

もし、数字が一切表示されていないような場合は、障害が発生したホストに対するアクセス権限の設定不備か、アクションやメディアの設定不備が考えられます。

  • 障害が発生したホストに対して、最低限読み込みのアクセス権限があるか
  • メールを送りたいユーザのメディアが登録されているか
  • 発生した障害の深刻度は、メディアで設定した条件に含まれているか

などを確認してみてください。