今回は、Zabbixの機能の中でも若干分かりにくい「トリガー」と「アクション」について解説をします。
トリガーとは
「トリガー」とはアイテムが収集したデータを評価する条件式のことを言います。
トリガーの値によってどのようにアクションを起こすかを決めることができます。
【例】
たとえばCPUのロードアベレージが「CPUのコア数を超えている場合にアラートメールを送信する」など、トリガーとアクションを決めることができます。
「●●だったら▲▲する。」の●●の部分に相当します。
アクションとは
アクションとはトリガーの条件を満たした場合に起こす「行動」のことを言います。
「●●だったら▲▲する。」の▲▲の部分に相当します。
通常は「メールで通知」になります。
アクションの内容
アクションは
- メッセージの送信
- リモートコマンド
が可能です。
「メッセージの送信」と「リモートコマンド」だけで十分ですが、「Zabbix」と「Twilio」を組み合わせてZabbixから電話を掛けさせることも可能です。
また、メッセージの送信は、「メール」だけでなく「SMS」も可能です。
SMSとは「ショート・メッセージ・サービス」の略で、スマホや携帯電話の電話番号を指定して全角70文字までの短いメッセージを送信することができます。
SMSを受信すると、メールなどと異なるため、確実に確認してらうことができます。
前回、外部チェックの設定をしました。
【Zabbix】外部チェック(externalscripts)の設定手順
今回は「トリガー」と「アクション」を設定して、トリガー条件を満たしたらアラートメールを送信する設定をする手順を解説します。
全体の手順の流れ
- Zabbixのアラートメールを Gmail で受信するための設定
- グループ&ユーザーの作成
- トリガーの作成
- アクションの作成
- 動作検証
Zabbixのアラートメールを Gmail で受信するための設定
Zabbixのアラートメールを Gmail で受信します。
SMTPサーバー(メール送信サーバー)は、Google のSMTPサーバー(smtp.gmail.com)を利用します。
■Gmail SMTP サーバー
ホスト名 : smtp.gmail.com
ポート番号 : 465 番 → SSL接続が必須
587番 → TLS接続が必須
制限事項 : 1日の送信メールの上限は2,000通
Zabbix にログインしてメニューより「管理」–「メディアタイプ」をクリックします。
「メディアタイプの作成」ボタンをクリックします。
※すでに Email タイプがある場合はクリックをして編集をします。
以下のように設定を入れます。
名前 : Email
タイプ : メール
SMTPサーバー : smtp.gmail.com
SMTPサーバーポート番号 : 465
SMTP helo : smtp.gmail.com
送信元メールアドレス : zabbix@localhost
接続セキュリティ : SSL/TLS
ユーザー名 : xxxx@gmail.com(自分のGmailアドレスを入力します)
パスワード : Gmailアカウントのパスワードを入力します
「追加」ボタンをクリックします。
以下のように追加されたことを確認します。
以上でメールサーバーの設定は完了です。
グループ&ユーザーの作成
メールを送信する「グループ」と「ユーザー」を作成します。
グループの作成
最初に「グループ」を作成します。
メニューより「管理」–「ユーザーグループ」をクリックします。
「ユーザーグループの作成」ボタンをクリックします。
ユーザーグループ作成画面が表示されたら「グループ名」を入力します。
「グループ名」を入力後に「権限」タブをクリックします。
「権限」タブに移動したら、下図のように「選択」ボタンをクリックします。
別ウィンドウが表示されたら、下図のように監視したいホストグループを選択をして「選択」ボタンをクリックします。
下図のように「読書可能」ボタンをクリックします。
「読書可能」が選択されていることを確認して「追加」をクリックします。
下図のように追加されてことを確認して「追加」ボタンをクリックします。
下図のように作成したグループが追加されていることを確認します。
ユーザーの作成
グループを作成したら「ユーザー」を作成します。
メニューより「管理」–「ユーザー」をクリックします。
「ユーザーの作成」ボタンをクリックします。
下図のようにユーザーに関する情報を入力後に「メディア」タブをクリックします。
「追加」をクリックします。
別ウィンドウが表示されるので「送信先メールアドレス」を入力し、「指定した深刻度のときに使用」は全部チェックを入れます。(個々の設定はトリガーで設定できます)
設定を入力したら「追加」ボタンをクリックします。
下図のようにメールアドレスが追加されていることを確認して「追加」ボタンをクリックします。
下図のように追加されていることを確認します。
以上で「ユーザー」と「グループ」の作成は完了です。
トリガーの設定
トリガーは前回の外部チェックの設定を引き継いで設定をします。
【Zabbix】外部チェック(externalscripts)の設定手順
Zabbixの管理画面より「設定」-「ホスト」をクリックするとホスト一覧が表示されます。
前回作成した「NTPサーバーのチェックテスト【time.google.com】」の「トリガー」をクリックします。
右上にある「トリガーの作成」ボタンをクリックします。
下図のように「トリガー」を設定します。
深刻度 : どの状態になったらトリガーを発動したいのか決めます
条件式 :
今回の場合は ntpcheck.shを実行し、返り値が「0」の場合は正常です。
そのため、
{cent07:ntpcheck.sh[ntp.nict.jp].last(0)}<>0 |
の条件式を設定しました。
- cent07 ← ホスト名
- ntpcheck.sh[ntp.nict.jp] ← 外部チェックのスクリプト
- last(0) ← ntpcheck.sh[ntp.nict.jp] のチェックの一番最新の値
- {xxx}<>0 ← xxx の結果が0以外である
※~以外を<>で表現します。VAR<>10 ← VAR の値が10以外であること。
設定を入れたら「追加」ボタンをクリックします。
以下のように追加されたことを確認します。
アクションの設定
トリガーを設定したら、最後にトリガー条件になった時の「アクション」を設定します。
今回はメールを送信します。
メニューより「設定」–「アクション」をクリックします。
「アクションの作成」ボタンをクリックします。
下図のように設定します。
新規条件 ← 今回はトリガーの設定で返り値「0」以外を「重度の障害」としたので、「トリガーの深刻度=重度の障害」に設定します。
「追加」をクリックします。
下図のように「実行条件」が追加されたことを確認して「実行内容」タブをクリックします。
下図のように「新規」ボタンをクリックします。
下図のように設定します。
ユーザーグループ : 作成したユーザーグループを選択
次のメディアのみ使用 : Email
設定したら「追加」をクリックします。
下図のように設定が追加されたことを確認します。
続けて「復旧時実行内容」タブをクリックします。
「新規」をクリックします。
下図のように設定します。
ユーザーグループ : 作成したユーザーグループを選択
次のメディアのみ使用 : Email
設定したら「追加」をクリックします。
下図のように設定が追加されていることを確認して「追加」ボタンをクリックします。
追加されていることを確認します。
トリガー発動テスト(アラートメール送信テスト)
トリガーを発動させてアラートメールが送信するかテストします。
現在は正常な状態です。
値が「0」のままです。
次にエラーを起こしてトリガーを発動させるために、アイテムのキーを変更します。
障害が発生してメールが送信されました。
メールが届いたことも確認できました。
コメント