イベント発生→スクリプト起動、Hatoholのアクションを設定する:Hatoholで実現する分散監視(4)(1/2 ページ)
何らかの異常を感知したら、すぐに行動を起こすべし。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つの監視サーバー、または、ANY(全て) |
ホストグループ | サーバー項目で指定した監視サーバーの1つのホストグループ(※1)、または、ANY(全て) ※1 サーバーがANYの場合、本パラメーターはANYに固定されます。 |
ホスト | 指定したホストグループの1つのホスト(※2)、または、ANY(全て) ※2 サーバーがANYの場合、本パラメーターはANYに固定されます。 |
トリガー | 指定したホストの1つのトリガー(※3)、または、ANY(全て) ※3 ホストがANYの場合、本パラメーターはANYに固定されます。 |
ステータス | 正常: 異常から正常へ遷移した場合 異常: 正常から異常へ遷移した場合 ANY: 上記の両方 |
深刻度 | 情報、警告、軽度の障害、重度の障害、致命的な障害、ANY(全て) ANY以外の場合、その深刻度に「一致」か「以上」が選択できます。 |
項目名 | 設定可能な値 |
---|---|
タイプ | コマンド:指定したコマンドを実行します。 レジデント:指定した共有ファイルをロードし、その中の特定の関数を実行します。(やや高度な内容のため、今回の連載では説明を割愛します) |
タイムアウト | 実行したコマンドのタイムアウト時間を指定します。指定された時間を経過してもコマンドが終了しない場合、KILLシグナルを送信して強制終了させることができます。 デフォルトの値は0であり、この場合、タイムアウトはありません。 |
実行パラメーター | 実行するコマンドとそのオプションを指定します。 ※コマンドは、/usr/libexec/hatohol/action以下に配置される必要があります。このパラメーターには、そこからの相対パスを指定します。 |
実行ディレクトリ | コマンドを実行するディレクトリを指定します。 |
Hatoholのアクション設定では、テンプレートを利用することもできます。テンプレートは、実行パラメーターを自動生成する仕組みです。
Hatohol 14.06では、Eメール送信のためのテンプレートが用意されています。現在はこの1種類だけですが、今後、他のテンプレートも追加していく予定です。テンプレートを使わない場合、ユーザーは、実行するコマンドやその引数を明示的に指定します。
コマンドに渡される引数
表2における実行パラメーターで指定されたコマンドには、その項目に記述されているユーザー指定のオプションに続いて、当該イベントに関する次の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
Copyright © ITmedia, Inc. All Rights Reserved.