ZABICOM / Zabbixの機能活用
外部連携
ZABICOM / Zabbixは、外部ツールと連携するための機能を多数用意しています。連携機能は、大きく分けて5種類あります。
- (1)自作スクリプトで監視データを収集
-
「system.runアイテムキー」、「外部チェックアイテム」、「ユーザーパラメータ」を利用すると、任意のスクリプトやOS標準のコマンドを監視に使用できます。ZABICOMの基本機能では対応していないような特殊な監視を行う場合に有効な手段です。
- (2)さまざまな障害通知手段に対応
-
「メディアタイプ」を使用することで、通知メッセージをメールやJabber、SMS、任意のスクリプトに切り替えることが可能です。スクリプトに対して通知することで、監視表示灯と連携したり、チケット管理システムに起票したりすることも可能です。
- (3)障害発生時、自動で任意のコマンドの実行
-
「アクション」の機能のひとつ「リモートコマンド」を使用すると、障害通知の代わりに、エージェントを導入済みのサーバー上で任意のコマンドやスクリプトを実行できます。(2)との違いは、ZABICOMサーバー上で実行するか、エージェント導入済みサーバー上で実行するかです。
(クリックで拡大) [オペレーションのタイプ]に[リモートコマンド]を指定します。[リモートコマンド]欄には、実行したいコマンドを記述します。コマンドの前には実行対象のサーバー名と「:」を記述する必要があります。上記の例では、zabicom_serverというホストのHTTPサービス監視で異常が発生したとき、zabicom_server上でHTTPサービスの再起動を行うコマンドが実行されます。
- (4)ZABICOMサーバーで、任意の値を任意のタイミングで収集
-
「zabbix_sender」は、少し特殊な機能です。zabbix_senderを使うと、任意の値をZABICOMサーバーに収集させることができます。ただし、あらかじめZABICOMサーバー上の任意のホストにZabbixトラッパー・アイテムを定義しておく必要があります。
ホスト「zabicom_server」に定義されたアイテム・キー「SenderItem」に対して値「20」を送信し、保存させる場合のコマンド例は、以下の通りです。$ [ZABICOMのインストールパス]/zabbix_sender -c [ZABICOMの設定ファイルのパス]/zabbix_agentd.conf -s zabicom_server -k SenderItem -o 20
各オプションの意味や、使用可能なオプションについては、zabbix_senderのヘルプ・メッセージを参照してください。
(クリックで拡大) これを応用すると、「外部のシステムで障害が発生した場合に、ZABICOMにエラー・ログを送信する」といった連携が可能になります。また、zabbix_senderは、ZABICOMでSNMP Trapを収集する仕組みとしても使われています。
- (5)外部プログラムからの監視の設定やデータの変更
-
「Zabbix API」を使用すると、外部のプログラムから各種設定を変更したり、収集した値を参照したりできます。ZABICOMのフロントエンド・プログラム(Webアプリケーション部分)も「Zabbix API」を利用しています。APIが実装されたことにより、外部連携は従来と比べて飛躍的にやりやすくなりました。APIは1.8から実装された発展途上の機能なので、今後ますます使いやすくなっていくでしょう。