Kompira

Menu Menu

Enterprise Technical information

外部との連携 Zabbixからの通知をKompiraで受信する

運用自動化を検討するにあたり、構成する機器の監視を行うために専用のツールを使用しているケースが多いと思います。Kompiraを利用して簡易的な監視を行う事も出来ますが、Zabbixなどをすでに利用している場合には、これらの監視ツールとKompiraの連携を行う方が効率的でしょう。

今回は代表的なシステム監視ツールであるZabbixで検知した障害情報などをKompiraで受信する方法についてご紹介します。ここではZabbixからユーティリティー”kompira_sendevt”コマンドを呼び出して、Kompiraに情報を送信します。


動作確認環境

ソフトウェア バージョン
Kompira 1.5.5.post8
OS CentOS Linux release 7.8.2003
Zabbix 3.0 LTS

 


 

Kompira側の準備

“kompira_sendevt”コマンドで送信されてくる情報を、チャネルを利用して受信します。
次のようなジョブフローを作成して、実行状態にしておいてください。

 

Zabbix側の準備

方針としては「アクション」に”kompira_sendevt”を実行させる記述を行い、別途に登録したホスト、トリガーにより起動するものとします。今回はエージェントの導入が不要な”Template App HTTP Service”を利用して、リモートからWebサーバーを監視する想定としたシンプルチェックとします。

設定 -> アクション -> アクションの作成
名称は「Kompira通知」としました。

 

アクションの設定1

 

アクションの実行条件
デフォルトの「トリガーB」を削除して、「トリガー名」-「含まれる」-「HTTP」を追加します。

アクションの設定2

 

アクションの実行内容

アクションの設定3

 

ここで「タイプ」を「カスタムスクリプト」、「実行内容のタイプ」を「リモートコマンド」に変更しています。
「次で実行」は「Zabbixサーバー」を選択します。

「コマンド」には次のようなkompira_sendevtコマンドを記述しています。

 

「ホスト」の追加
「ホスト名」「エージェントのIPアドレス」に対象のWebサーバーの名称&IPアドレスを記載します。

ホストの追加

 

ホスト > テンプレートの追加

続いてテンプレートに”Template App HTTP Service”を追加します。

テンプレートの設定

 

これらの登録が完了するとZabbixはWebサーバーの監視を始めます。
障害発生として検知させるため、監視対象のWebサーバーのデーモンを、例えば次の様なコマンドで停止します。

 

 

Zabbixがhttpdからの応答が無くなった事を検知すると、アクションで設定した”kompira_sendevt”を呼び出してKompiraのチャネルにデータを送信します。Kompira側で先に動かしていたチャネル受信データを表示するジョブフローのコンソールには次の様な表示が出ます。

 

チャネルでの受信

 

上記はZabbixが検知した障害情報の内容となっています。以降は受信した内容に応じて通知や復旧処理をジョブフローに追加する事が出来ます。

システムの監視には、死活監視のみならず各種のメトリックスの閾値監視なども行えるZabbixを利用し、検知した情報を利用して担当者への通知や一次対応などを、Kompiraを用いて自動化することが出来るようになります。

スタートガイド

Kompiraジョブフローの基礎

ジョブフローの簡単な例

Kompiraの機能

外部との連携