連載
» 2014年08月04日 18時00分 UPDATE

Hatoholで実現する分散監視(4):イベント発生→スクリプト起動、Hatoholのアクションを設定する (1/2)

何らかの異常を感知したら、すぐに行動を起こすべし。Hatoholを使って、検知後すぐにスクリプトの起動、メールの送信を行う方法を学びます。

[大和一洋,@IT]
「Hatoholで実現する分散監視」のインデックス

連載目次

最近のHatoholリリース情報

 前回の記事を公開したあと、2014年6月末にHatohol 14.06がリリースされました。ZabbixやNagiosのテスト環境を簡単に構築するための仮想ディスクイメージも公開しています。

 Hatohol 14.06での主な追加機能は、従来のZabbix 2.0に加え、Zabbix 2.2を監視対象として使用できること、プロジェクト管理ソフトウェア「Redmine」と連携し、インシデントの起票などの自動化が可能となったことです。今回の記事では、このHatohol14.06を用いて、アクションを設定する方法を説明します。

Hatoholのアクションで何ができる?

 Hatoholのアクションは、ZabbixやNagiosの監視対象にイベントが発生した際、コマンドを実行する仕組みです。アクションを設定するには、まず、HatoholのWebUIの上部メニューの「アクション」を選択します。図1のような画面になりますので、「アクション追加」ボタンをクリック、図2のダイアログを表示させます。

図1 アクションを登録
図2 アクションの詳細を登録

 このダイアログに、アクションの発動条件と、実行させるコマンドのパラメーターを指定します。条件には、表1に示した項目の組み合わせを指定できます。また、実行するアクションそのものにかかわる項目を表2に示します。

表1 アクションの実行条件パラメーター
項目名 設定可能な値
サーバー 1つの監視サーバー、または、ANY(全て)
ホストグループ サーバー項目で指定した監視サーバーの1つのホストグループ(※1)、または、ANY(全て)
※1 サーバーがANYの場合、本パラメーターはANYに固定されます。
ホスト 指定したホストグループの1つのホスト(※2)、または、ANY(全て)
※2 サーバーがANYの場合、本パラメーターはANYに固定されます。
トリガー 指定したホストの1つのトリガー(※3)、または、ANY(全て)
※3 ホストがANYの場合、本パラメーターはANYに固定されます。
ステータス 正常: 異常から正常へ遷移した場合
異常: 正常から異常へ遷移した場合
ANY: 上記の両方
深刻度 情報、警告、軽度の障害、重度の障害、致命的な障害、ANY(全て)
ANY以外の場合、その深刻度に「一致」か「以上」が選択できます。
表2 アクション設定のためのパラメーターの説明
項目名 設定可能な値
タイプ コマンド:指定したコマンドを実行します。
レジデント:指定した共有ファイルをロードし、その中の特定の関数を実行します。(やや高度な内容のため、今回の連載では説明を割愛します)
タイムアウト 実行したコマンドのタイムアウト時間を指定します。指定された時間を経過してもコマンドが終了しない場合、KILLシグナルを送信して強制終了させることができます。
デフォルトの値は0であり、この場合、タイムアウトはありません。
実行パラメーター 実行するコマンドとそのオプションを指定します。
※コマンドは、/usr/libexec/hatohol/action以下に配置される必要があります。このパラメーターには、そこからの相対パスを指定します。
実行ディレクトリ コマンドを実行するディレクトリを指定します。

 Hatoholのアクション設定では、テンプレートを利用することもできます。テンプレートは、実行パラメーターを自動生成する仕組みです。

 Hatohol 14.06では、Eメール送信のためのテンプレートが用意されています。現在はこの1種類だけですが、今後、他のテンプレートも追加していく予定です。テンプレートを使わない場合、ユーザーは、実行するコマンドやその引数を明示的に指定します。

コマンドに渡される引数

 表2における実行パラメーターで指定されたコマンドには、その項目に記述されているユーザー指定のオプションに続いて、当該イベントに関する次の10個のパラメーターが渡されます。

表3 コマンドへの渡される引数(IDは全て10進数)
パラメーター(引数順) 説明
ヘッダ 固定文字列:--hatohol-action-v1
将来、パラメーター仕様を変更した際、末尾のv1部を更新する予定
アクションID 条件がマッチしたアクションのID
サーバーID イベントが発生したホストを監視している監視サーバーのID
ホストID イベントが発生したホストのID
時刻 書式は、UNIX時間.ナノ秒
イベントID イベントID
イベントタイプ 0: 正常状態に復帰、1: 障害状態に移行
トリガーID イベントと関連するトリガーのID
状態 0:正常、1:障害、2:不明
深刻度 0:不明、1:情報、2:警告、3:軽度の障害、4:重度の障害、5:致命的な障害

テスト環境の構築

 擬似的に障害を発生させるテスト環境を構築します。これには、冒頭で述べたHatoholコミュニティ提供の仮想ディスクイメージを利用します。下記のドキュメントにインストール方法の記載がありますので、そちらを参照してください。

手順書(VMイメージから構築する用)/Hatoholコミュニティ提供

https://drive.google.com/file/d/0Bwxg1mm3GuhnbzRLSEtxTFM3WkU/edit?usp=sharing


 また、このイメージ内に配置されているマシン情報(IPアドレスなど)は、下記の表にまとめられています。

マシン構成表/Hatoholコミュニティ提供

https://drive.google.com/file/d/0Bwxg1mm3GuhnVUdCcEJMbko1cFU/edit?usp=sharing


       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。