Enterprise 技術情報 Enterprise Technical information
外部との連携 Zabbixからの通知をKompiraで受信する
運用自動化を検討するにあたり、構成する機器の監視を行うために専用のツールを使用しているケースが多いと思います。Kompiraを利用して簡易的な監視を行う事も出来ますが、Zabbixなどをすでに利用している場合には、これらの監視ツールとKompiraの連携を行う方が効率的でしょう。
今回は代表的なシステム監視ツールであるZabbixで検知した障害情報などをKompiraで受信する方法についてご紹介します。ここではZabbixからユーティリティー”kompira_sendevt”コマンドを呼び出して、Kompiraに情報を送信します。
動作確認環境
Kompira側の準備 “kompira_sendevt”コマンドで送信されてくる情報を、チャネルを利用して受信します。 次のようなジョブフローを作成して、実行状態にしておいてください。
アクションの実行条件
デフォルトの「トリガーB」を削除して、「トリガー名」-「含まれる」-「HTTP」を追加します。
アクションの実行内容
ここで「タイプ」を「カスタムスクリプト」、「実行内容のタイプ」を「リモートコマンド」に変更しています。
「次で実行」は「Zabbixサーバー」を選択します。
「コマンド」には次のようなkompira_sendevtコマンドを記述しています。
ホスト > テンプレートの追加
続いてテンプレートに”Template App HTTP Service”を追加します。
これらの登録が完了するとZabbixはWebサーバーの監視を始めます。
障害発生として検知させるため、監視対象のWebサーバーのデーモンを、例えば次の様なコマンドで停止します。
上記はZabbixが検知した障害情報の内容となっています。以降は受信した内容に応じて通知や復旧処理をジョブフローに追加する事が出来ます。
システムの監視には、死活監視のみならず各種のメトリックスの閾値監視なども行えるZabbixを利用し、検知した情報を利用して担当者への通知や一次対応などを、Kompiraを用いて自動化することが出来るようになります。
WEBセミナー公開中! 「Zabbix+Kompira Enterprise、Pigeonを使った障害監視と通知の自動化」
動作確認環境
ソフトウェア | バージョン |
---|---|
Kompira | 1.5.5.post8 |
OS | CentOS Linux release 7.8.2003 |
Zabbix | 3.0 LTS |
Kompira側の準備 “kompira_sendevt”コマンドで送信されてくる情報を、チャネルを利用して受信します。 次のようなジョブフローを作成して、実行状態にしておいてください。
</system/channels/Alert> -> [message = $RESULT] -> print('${message}を受信しました') -> self()Zabbix側の準備 方針としては「アクション」に”kompira_sendevt”を実行させる記述を行い、別途に登録したホスト、トリガーにより起動するものとします。今回はエージェントの導入が不要な”Template App HTTP Service”を利用して、リモートからWebサーバーを監視する想定としたシンプルチェックとします。 設定 -> アクション -> アクションの作成 名称は「Kompira通知」としました。



/opt/kompira/bin/kompira_sendevt status="{TRIGGER.STATUS}" severity="{TRIGGER.NSEVERITY}" hostname="{HOSTNAME}" trigger_name="{TRIGGER.NAME}" trigger_key="{TRIGGER.KEY}" detail="{TRIGGER.KEY}: {ITEM.LASTVALUE}"「ホスト」の追加 「ホスト名」「エージェントのIPアドレス」に対象のWebサーバーの名称&IPアドレスを記載します。


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

WEBセミナー公開中! 「Zabbix+Kompira Enterprise、Pigeonを使った障害監視と通知の自動化」
スタートガイド
Kompiraジョブフローの基礎
ジョブフローの簡単な例
Kompiraの機能
-
- フィールド修飾子でフィールドの入力内容に制約を設ける
- Kompiraでの文字列のパターンマッチング
- Kompira上でWikiページを作成する
- スケジューラを使って定期的にジョブを実行する
- ジョブフローを実行するフォームを作成する
- テーブル内の情報を選択して処理を実行する
- ジョブフローに権限設定をする
- ジョブフロー画面の各種設定
- Pythonで記述された処理をKompiraから呼び出す
- Kompiraオブジェクトのプロパティ,メソッド,フィールドを扱う
- Windowsでリモートスクリプトを実行する(その1)
- Windowsでリモートスクリプトを実行する(その2)
- Kompira上のデータをバックアップする(その1)
- Kompira上のデータをバックアップする(その2)
- Kompira上のデータをバックアップする(その3)
外部との連携
-
- Prometheusからの通知をKompiraで受信する
- Kompira cloud Pigeonを利用した通知電話の利用
- ネットワーク機器へのコマンド投入
- KompiraからWindowsGUIアプリケーションを操作する (1/2)
- メールを送信する
- メール受信をトリガーにしてジョブフローを実行する
- アラートメールをフィルタリングして転送する
- チャネルを利用して外部システムからデータを受信する
- Webページから内容を取得する
- Redmineへ新規チケットを登録する
- Redmineでのチケット作成をKompiraに通知する
- Kompira REST APIを利用して外部からジョブフローを実行する
- Kompira REST APIを利用して外部からオブジェクト情報を取得する
- KompiraからSlackに通知する
- Slackでの投稿をKompiraに通知する
- KompiraからTwilioで電話をかける
- Zabbixからの通知をKompiraで受信する
- syslogをKompiraで受信する
- snmptrapをKompiraで受信する
- KompiraでExcelファイルの読み書きをする
- KompiraでGoogle SpreadSheetの読み書きをする
- Active Directoryから情報を取得する
- Active Directoryにユーザーを登録する