ZabbixのWebインターフェイスでは、運用者や開発者など、見る人の役割に応じて見せ方を変えて管理することで、より迅速に求める情報にたどり着けます。前述した運用者向けの監視結果や開発者向けの監視結果をそれぞれスクリーンで一覧化することで、どこが原因なのかを一目で判別できます。スクリーンには、グラフだけでなく、以下のようなコンポーネントを配置できるようになっています。
この機能を活用し、例えば開発者向けならば、次のような情報を一覧表示するスクリーンを作成できます。
また、役割ごとにZabbixへのログインユーザーやユーザーグループを管理することも重要です。例えば次のように管理するといいでしょう。
【ユーザーグループ】
【ユーザー】
Zabbixでは、ユーザーごとにログイン後に最初に表示するURLを指定可能です。OperatorAには運用者向けスクリーンのURLを、DeveloperAには開発者向けスクリーンのURLを指定しておくことで、よりスムーズに確認作業に移ることができます。
Zabbixの画面を見て、原因を判断してから対応する……。という手順を踏むと、それだけで対応が遅れてしまうことがあります。
そこで、迅速な対応に活用したいのが、Zabbixのアクション機能です。障害とみなすためのトリガー条件を正しく設定した上で、その条件にマッチした時のアクションを定義します。
Zabbixのアクション機能には次のような特徴があります。
具体的な例として次のような場面を想定します。
これをZabbixのアクション設定に置き換えると、以下のようになります。
【ステップ1】
【ステップ2】
このようなアクションを設定する際には、アクション設定で利用できるZabbixのマクロ情報が何であるかを知っておくと便利です。Zabbixのマクロとは、各種設定中で利用する情報を変数として管理できる機能です。公式マニュアルに利用できるマクロの一覧が記載されています。
具体的には、監視アイテムの最新値やインベントリに登録されている情報などを、メッセージ中でマクロ展開できます。加えて、トリガーの条件式で利用する{host:key.func(param)}の形式で取得できる値も展開できるため、稼働状況レポートの作成に有効です。
例えば、開発者向けの稼働状況レポートメールに、過去3回分のWeb監視結果(応答時間)の情報を含めたい場合には、次のようにメッセージを記述します。
最新: {Host01:web.test.time[WebServiceA,Page1,resp].last(0)} sec 1つ前: {Host01:web.test.time[WebServiceA,Page1,resp].last(1)} sec 2つ前: {Host01:web.test.time[WebServiceA,Page1,resp].last(2)} sec
ここまで紹介したように、開発者・運用者など役割によって、知りたい情報は異なります。開発・運用を迅速に回していくにはそれぞれの担当者がどういった情報を必要としているのかを検討し、Zabbixを活用して統合的に監視します。
それらの情報を、それぞれの担当者にとって分かりやすい形で提示し、場合によっては通知を使い分けることで、開発者にとっても、運用者にとっても有用な監視システムをZabbix中心で形成可能となります。
次回、第3回目は、運用作業面に焦点を絞り、監視運用作業を減らし、効率良い運用を実現するにはどうすればいいのかを紹介します。
池田大輔
Twitter : @ike_dai
TIS株式会社戦略技術センター所属。社内向けシステムの保守運用業務を経験後、クラウド時代の効率的な統合運用管理をテーマに活動中。その中でZabbixを利用した統合運用管理システム(HyClops for Zabbix)の開発に取り組む。ZABBIX-JP運営スタッフ所属。Zabbix認定スペシャリスト。『Zabbix統合監視[実践]活用 - 物理・仮想・クラウド混在環境の省力運用(仮)』という書籍を執筆中で、11月中旬頃発売予定。戦略技術センターでは、技術情報をブログ『Tech-Sketch』にて発信中。
Copyright © ITmedia, Inc. All Rights Reserved.