「ざびたん導入手順」の編集履歴(バックアップ)一覧はこちら
「ざびたん導入手順」(2011/06/17 (金) 06:44:57) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*ざびたん導入手順
**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.ざびたんパッケージのインストール
ざびたんのパッケージは、 [[https://github.com/sechiro/Zabbitan]] で配布しています。ここにある「zabbi_tan.nar」ファイルをRAWでダウンロードし、起動中のSSPゴーストにドラッグアンドドロップしてください。
インストールはこれだけで終了です。
**5.Zabbixサーバ上でのアクション設定
Zabbixで上がったアラートがざびたんに送信されるように設定を行います。
ZabbixのWebフロントエンドから「設定」>「アクション」と辿り、新規のアクションとして、「"{HOSTNAME}:{TRIGGER.NAME}:{TRIGGER.SEVERITY}:{TRIGGER.VALUE}"」を引数として、ざびたんスクリプトメッセージスクリプト「zabbi_msg.py」を実行するリモートコマンドを設定してください。
ざびたんスクリプトは、SSPのインストールフォルダ>ghost>zabbi_tanにあります。そのフルパスをZabbix上のリモートコマンドとして指定してください。また、スクリプトを実行する条件となる「アクションのコンディション」には「トリガーの値="障害"」、「トリガーの値="回復"」の2つを指定してください。
設定方法は、[[おれのZabbixがこんなに可愛いわけがない(おかわり)>http://www.slideshare.net/sechiro/zabbix-6898674]]にある、「今回の設定~障害通知~」が参考になると思います。
>最低限のアクション設定はこれだけですが、引数の最後に「:{ITEM.VALUE}」を加えておくと、ざびたんからの通知にトリガー発動時のアイテムの値も含まれるようになるので、より幸せになれるかも知れません。
**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.障害試験
それぞれの障害に対応するトリガーを発生させて正しく動作することを確認して下さい。
以上で設定は完了です。
***8.カスタマイズ
現状では、最低限の設定しか入っておらず複雑な分岐はしていません。
zabbi_msg.py は、単純なif分岐になっているので、[[伺か(SSTP)関連]]のページにある資料を見て適宜作り替えてもらえるとうれしいです。
*ざびたん導入手順
**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.ざびたんパッケージのインストール
ざびたんのパッケージは、 [[https://github.com/sechiro/Zabbitan_nar_file]] で配布しています。ここにある「zabbi_tan.nar」ファイルをRAWでダウンロードし、起動中のSSPゴーストにドラッグアンドドロップしてください。
インストールはこれだけで終了です。
※開発中の最新版は、[[https://github.com/sechiro/zabbi_tan]]にあります。内容を確認したい方は、こちらで中身をみることができます。
**5.Zabbixサーバ上でのアクション設定
Zabbixで上がったアラートがざびたんに送信されるように設定を行います。
ZabbixのWebフロントエンドから「設定」>「アクション」と辿り、新規のアクションとして、「"{HOSTNAME}:{TRIGGER.NAME}:{TRIGGER.SEVERITY}:{TRIGGER.VALUE}"」を引数として、ざびたんスクリプトメッセージスクリプト「zabbi_msg.py」を実行するリモートコマンドを設定してください。
ざびたんスクリプトは、SSPのインストールフォルダ>ghost>zabbi_tanにあります。そのフルパスをZabbix上のリモートコマンドとして指定してください。また、スクリプトを実行する条件となる「アクションのコンディション」には「トリガーの値="障害"」、「トリガーの値="回復"」の2つを指定してください。
設定方法は、[[おれのZabbixがこんなに可愛いわけがない(おかわり)>http://www.slideshare.net/sechiro/zabbix-6898674]]にある、「今回の設定~障害通知~」が参考になると思います。
>最低限のアクション設定はこれだけですが、引数の最後に「:{ITEM.VALUE}」を加えておくと、ざびたんからの通知にトリガー発動時のアイテムの値も含まれるようになるので、より幸せになれるかも知れません。
**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.障害試験
それぞれの障害に対応するトリガーを発生させて正しく動作することを確認して下さい。
以上で設定は完了です。
***8.カスタマイズ
現状では、最低限の設定しか入っておらず複雑な分岐はしていません。
zabbi_msg.py は、単純なif分岐になっているので、[[伺か(SSTP)関連]]のページにある資料を見て適宜作り替えてもらえるとうれしいです。