「ざびたん導入手順」の編集履歴(バックアップ)一覧に戻る

ざびたん導入手順 - (2011/01/29 (土) 13:28:18) のソース

*ざびたん導入手順
**0.前提条件
***構築済みのZabbixサーバ(1.8.3以上)があること。
Zabbixを導入済みでない場合は、[[Zabbix関連]]のページからリンクされているZabbix-JPサイトにあるインストール手順にしたがって、Zabbixサーバの構築を行ってください。
***Zabbixサーバと通信できるWindowsマシンがあること。
この導入手順で使用するSSPはWindowsアプリケーションであるため、Windows環境が必須です。(他のプラットフォームへの対応は今後の課題となっています)

**1.Windows上へのZabbix Agentの導入
Zabbix-JPのサイトからWindows用のエージェントをダウンロードして、ざびたんを構築するWindows PCにインストールします。
導入の際、「リモートコマンドを使用する」のチェックを入れてください。

**2.ZabbixサーバへのWindows PCの登録
Zabbixサーバ上に管理対象ホストとしてWindows PCを登録します。監視アイテムの設定は特に必要ありませんが、Template_Windowsのテンプレートを適用して、そこに含まれる項目程度は監視しておくとよいでしょう。
ホストの登録後、Zabbixサーバ上で監視データが取得されていることを確認し、サーバ・エージェント間の通信ができていることを確認して下さい。
※ここで監視データが取得できていない場合は、ホスト設定やWindows側、Zabbixサーバ側のFirewallの設定などを確認して通信ができるようにしてください。

**3.SSPのインストール
[[ばぐとら研究所>http://ssp.shillest.net/]]からSSPの最新パッケージをダウンロードして、インストールしてください。

**4.ざびたんパッケージのインストール
ざびたんパッケージは、qpstudy05での発表後の配布を目指して作成中です。少々お待ち下さい。

**5.Zabbixサーバ上でのアクション設定
(仕様検討中)

**6.Python 2.5以上のインストール
ざびたんは、ざびたんパッケージ内のPythonスクリプトをリモートコマンドで実行することでセリフを話すことができます。
そのために、Python 2.5以上のPython実行環境をWindows PCにインストールしてください。また、.pyのファイルがそのまま実行出来るようにPythonのインタプリタにパスを通しておいてください。
※ほかの言語でもいいのですが、たまたま私(@sechiro)がPython勉強中だったのでPythonを使っています。

**7.動作確認
ここまでの準備が整ったら、動作確認を行います。
SSPを起動し、ざびたんゴーストに切り替えてください。

***7.1.ローカルでの動作確認
ざびたんはZabbixのトリガーの種類に応じたセリフを話します。Zabbixの障害は、致命的障害(Disaster)、重大な障害(High)、軽度の障害(Average)、警告(Warning)、情報(Information)、未分類(Not classified)の6つに分類されていて、それぞれに障害時・回復時のメッセージが割り当てられています。(ただし、警告・情報の回復メッセージは共通です。また未分類は障害時・回復時ともに同じメッセージを出します)

これらのトリガーは、"{HOSTNAME}:{TRIGGER.NAME}:{TRIGGER.SEVERITY}:{TRIGGER.VALUE}"という形式でPythonスクリプトで渡されるので、ローカルでの試験の際は、これらに対応する値をスクリプトに渡して動作確認を行います。例えば以下のようにコマンドを実行していきます。
※トリガーの値には{TRIGGER.STATUS}というものもありますが、[[Zabbixのドキュメント>http://www.zabbix.com/documentation/1.8/manual/config/macros]]を見たところ、「deprecated」になっていたので{TRIGGER.VALUE}を採用しました。

【障害時・最後の値が1】
zabbi-msg.py "untan01:Test Trigger:Not classified:1"
zabbi-msg.py "untan01:Test Trigger:Information:1"
zabbi-msg.py "untan01:Test Trigger:Warning:1"
zabbi-msg.py "untan01:Test Trigger:Average:1"
zabbi-msg.py "untan01:Test Trigger:High:1"
zabbi-msg.py "untan01:Test Trigger:Disaster:1"

【回復時・最後の値が0】
zabbi-msg.py "untan01:Test Trigger:Not classified:0"
zabbi-msg.py "untan01:Test Trigger:Information:0"
zabbi-msg.py "untan01:Test Trigger:Warning:0"
zabbi-msg.py "untan01:Test Trigger:Average:0"
zabbi-msg.py "untan01:Test Trigger:High:0"
zabbi-msg.py "untan01:Test Trigger:Disaster:0"

また、ホスト名にkanaもしくはkayoが入っている姉妹構成(Heartbeatクラスタ)の場合は、masterプロセスの障害の際に特別なメッセージが出るので、それについても試験します。(回復メッセージは姉妹共通の1種類のみです)

zabbi-msg.py "kana01:Heartbeat Master is not running on kana01:Disaster:1"
zabbi-msg.py "kayo01:Heartbeat Master is not running on kayo01:Disaster:1"
zabbi-msg.py "kana01:Heartbeat Master is not running on kana01:Disaster:0"
zabbi-msg.py "kayo01:Heartbeat Master is not running on kayo01:Disaster:0"

以上で正しくメッセージが送られることを確認して下さい。


***7.2.障害試験
それぞれの障害に対応するトリガーを発生させて正しく動作することを確認して下さい。


以上で設定は完了です。