使ってみよう Zabbix⑤ : トリガー設定編

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【3/22開催】テックブログを書こう!アウトプットのススメ
1年で100本ブログを出した新米エンジニアがPV数が伸びなくてもTech Blogを書き続ける理由とは?
https://tech-lab.connpass.com/event/312805/

【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちは。サイオステクノロジー OSS サポート担当 山本 です。

これで5回目になります Zabbix 入門編。前回は「もうちょっとだけ続く」と言いましたが、こう言うと結構長く続いてしまうものですよね。

前回、ついにデータを取得することに成功しました。うまく設定を行なえば、この Web インターフェース一つで管理しているあらゆる機器のデータを取得することができるようになりました (はずです)!

しかし Zabbix が便利なところはまだこれからです。今回は「どんなデータが異常なのか」を設定して、設定した条件を満たすデータを1画面で確認できるようにしていきます。

■トリガー:「どんなデータが異常であるのか」の設定

今回は、前回までで設定して取得できるようになったデータについて、「どのような状態になると異常なのか」を設定する「トリガー」の設定方法を見ていきます。
Web インターフェースの準備はいいですね?

今回もまず「ホスト」の一覧画面を開きましょう。画面上部の「設定」、その下の行に出る「ホスト」を選択すると開くのでしたね。前回の「アイテム」では下のホスト一覧から、前々回作成したホストの行の「アイテム」の項目をクリックしましたが、今回はその横の「トリガー」をクリックしてください。

host1-2

そうすると…

trigger1

その「ホスト」用のトリガー一覧画面が表示されます。

今回も新しくトリガーを作成しましょう。この画面でもやはり、右上のほうに「トリガーの作成」ボタンがありますので、これを押下しましょう。

trigger2

開いた画面では以下の項目を設定します。

名前 : (任意)
深刻度 : 警告
条件式 : {<「ホスト」の名前>:<「アイテム」のキー>.last()}>5 (※後述)

setting_trigger1

「条件式」の項目は “{<「ホスト」の名前>:<「アイテム」のキー>.<関数>}<条件>” という構造になっていますが、長ったらしくて打ち間違えそうです。なので、項目の右にある「追加」ボタンから設定しましょう。

表示されるモーダルウィンドウで以下の項目を設定します。

アイテム : (前回作成した「アイテム」) (※項目右の「選択」ボタンから選択)
関数 : last()
結果 : 「>」「5」

setting_trigger2
setting_trigger3

以上を設定して「挿入」ボタンを押下すると、「条件式」の項目に先に記載した設定内容どおりの設定が入っているはずです。
ここまで設定ができたら、画面下部の「追加」ボタンを押下しましょう。

トリガー一覧画面に戻り、作成したトリガーが追加されているはずです。
これでトリガーの登録は完了です。

trigger3

そろそろ言う必要もなくなっている気もしますが、この「トリガー」についてもやはり、一覧画面の下部にある一覧で左側にある項目「名前」をクリックするとそのアイテムの編集が可能で、一番左のチェックボックスにチェックを入れると一括処理を行なうこともできます。

■トリガーの状態変化の確認

トリガー一覧画面では、そのトリガーの現在の状態が表示されています。「条件式」の条件を満たすデータを受信した場合、「障害」と判定されます。今回作成したトリガーは、「ロードアベレージが 5 を超えると障害、それ以下なら正常」というトリガーになります。確認してみましょう。

(※ 以下の手順は検証専用の環境以外では行わないでください)

前回に出てきた「最新データ」画面 (画面上部の「監視データ」「最新データ」) から前回登録したアイテムでロードアベレージの最新値を確認できましたね。

latest1-1

ここの画面を確認しながら、試しにロードアベレージを上昇させてみましょう。
コマンドライン上で以下のコマンドを数回実行すると、ロードアベレージの値が上がっていくはずです。

# yes > /dev/null &

最新データ画面を暫く眺めてみて、「最新の値」が 5 を超えたら再びトリガー一覧画面を見てみましょう。そうすると、先ほど登録したトリガーの「値」の項目が「障害」となっているはずです。

trigger4

「障害」となっているのを確認できたら、コマンドライン上で以下のコマンドを実行して、先のコマンドを停止しましょう。

# killall yes

そうすると今度はロードアベレージが徐々に下がっていくはずです。ロードアベレージが 5 以下になると、トリガーの「値」が「正常」に戻ります。

もしお手元の環境において元々のロードアベレージが 5 以上で、最初から「障害」となってしまっている場合などは、今回作成したトリガーを編集して、「>5」の箇所を適切な値に変更して試してみてください。

(※ 検証専用の手順はここまでです)

■トリガーの状態変化の履歴の確認

さて、先述のとおりトリガー一覧画面でトリガーの現在の状態、つまり最新のデータは正常だったのか障害だったのかを確認することはできるのですが、見ていない間に「障害」となるデータ→「正常」なデータの順で受信した場合、トリガー画面では「正常」と見えるのみで「障害」となるデータを受信したことを確認できません。それではちょっとまずいです。

しかしごあんしんください。そういった情報を確認するページは別に存在しています。
そのページを表示するには、画面上部の「監視データ」、その下の行に出る「障害」と選択していきます。

problems1

この画面は、「どのトリガー」が「いつ」障害になったか、いつ正常に戻ったかの一覧を表示する画面になります。先ほどトリガーの状態を変化させてみたので、早速その履歴が出ていますね。

このとおり、一度障害になって正常に戻ったトリガーについても「解決済」として、「いつ異常が発生して」「いつ正常に戻った」のかの記録が残っています。また、現在も継続している「障害」については「障害」としてこの画面に表示されます。

problems2

この「障害」画面では、この Zabbix で管理している全てのトリガーの障害履歴を表示することも可能なので、設定した「トリガー」が障害になったかどうかはこの画面を見れば全てわかります

なお、この画面はデフォルトでは「最近の障害」のみを表示しています。古くなってしまった履歴を確認するには、画面真ん中のフィルタで「ヒストリ」を選択して適用しましょう。

problems3

■この画面の補足

最後に、今回の操作に関連する補足です。

トリガーの「障害」と「障害」画面について

「トリガーが障害と判定される」ことと、「障害」画面で「障害」と表示されることは一見同じことのように見えますが、実際は少しだけ異なります。「トリガー」設定の「障害イベント生成モード」などによって若干異なりますが、以下のような性質があります。

・「障害イベント生成モード:単一」
トリガーが「正常」から「障害」に変化した時のみ、「障害」画面で「障害」が作成されます。

・「障害イベント生成モード:複数」
トリガーが「障害」と判定される度に、「障害」画面で「障害」が作成されます。

「それで何がどう違うの?」というお話は次回に…

Zabbix 4.0 での変更点

・(トリガー一覧画面) : トリガーの「状態」が確認できるように変更 (※Zabbix3.0 では「監視データ > トリガー」という専用画面があったが、この変更により削除)

・(トリガー設定画面) : トリガーが「障害」から「正常」に戻る際の条件を、別途設定可能に。

・(トリガー設定画面) : 関連した「障害」のトリガーを纏めて正常に戻すことのできる、「タグ」機能の追加

・(トリガー設定画面) : 障害画面で「障害」状態の項目を手動で「解決済」に変更できるようにする機能・設定の追加

・(障害画面):新規画面 (※Zabbix3.0 の「監視データ > イベント」画面の代わりに導入)

・(全ての設定・編集画面) : 入力必須の項目に必須マークがついた

・(全ての設定・編集画面など) : 編集画面の「選択」ボタンなどで表示される別画面が、「新規ポップアップウィンドウ」から「モーダルウィンドウ」に変更

■さいごに

今回は Zabbix Web インターフェースのトリガー設定関連を見ていきました。

「どんなデータを取得するのか」「どんなデータが来たら異常が発生したと判断するのか?」を予め決めておく必要はありますが、これでこの Zabbix で管理している範囲で起きた「障害」が 1画面で確認できるようになりました。ここまでくると「なんかすごそう」という気分になってきませんか?

ですが、まだ「Zabbix の画面を確認すればわかる」というだけです。次回は「障害」に応じて特定のコマンドを実行させたり、メール通知したりする機能を見ていきます!

関連記事

使ってみよう Zabbix① : インストール編
使ってみよう Zabbix② : ユーザー設定編
使ってみよう Zabbix③ : ホスト設定編
使ってみよう Zabbix④ : アイテム設定編
・使ってみよう Zabbix⑤ : トリガー設定編 (※今回)
使ってみよう Zabbix⑥ : アクション設定編
使ってみよう Zabbix⑦ : テンプレート編

ZabbixはZabbix LLCの登録商標です。

アバター画像
About 山本 53 Articles
元サーバサイドエンジニアのサポートエンジニア。「物事は理解できれば活路が見出せる可能性がある」という信条のもと、今日も石橋を叩く。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる