• 製品
  • 使用を開始する
  • 関連ドキュメント
  • リソース

Opsgenie を Icinga と統合する

Icinga インテグレーションの図

OpsgenieIcinga プラグインは、Icinga との双方向の統合をサポートしています。この統合は Opsgenie の Icinga 固有の実行可能ファイルと OEC ユーティリティを活用して、リッチ アラート (ステータス、アラート ヒストグラム、トレンドなど) を自動で作成して IcingaOpsgenie 間でアラートのステータスを同期します。

Opsgenie Icinga プラグインのインテグレーション

OpsgenieIcinga 統合プラグインは、Opsgenie の全機能を活用して Icinga との双方向統合を提供します。この統合は Opsgenie の Icinga 固有の実行可能ファイルと OEC ユーティリティを活用して、リッチ アラート (ステータス、アラート ヒストグラム、トレンドなど) を自動で作成して IcingaOpsgenie 間でアラートのステータスを同期します。

Icinga アラート

インストール

以下の手順では、OpsgenieIcinga インテグレーション プラグインを使用して、OpsgenieIcinga を統合する方法を説明します。お使いの Linux ディストリビューションと Icinga の設定によっては、これらの指示に若干の変更が必要になる場合があることに注意してください。

Lamp ベースの Icinga プラグインを使用している場合は、すべての既存の設定をバックアップします。古いプラグインをアンインストールして、新しいプラグインをインストールします。

前提条件

提供されるパッケージは、以下のシステムをサポートしています。

  • Red Hat ベースの Linux ディストリビューション

  • Debian ベースの Linux ディストリビューション

Opsgenie Icinga プラグインのインストール

OEC の最新バージョンをダウンロードする

Icinga パッケージの最新バージョンをダウンロードするには、oec-scripts リポジトリの readme ファイルを使用してください。

Red Hat ベースのディストリビューションの場合

  • 次のコマンドを実行します。

シェル

1 rpm -i opsgenie-icinga-<your_version>.rpm

 

アップグレード時、rpm パッケージは既存の設定を上書きしません。これによって、新しい既定の設定ファイルが opsgenie-integration.conf.rpmnew として保存されます。rpm アップグレード設定ファイルの処理の詳細については、こちらをご参照ください。

バージョン 201X-XX-XX から2.X.X に更新する場合は、--force パラメーターを追加する必要があります。例:

rpm -U --force opsgenie-integration-<your_version>.rpm

更新前に既存の設定ファイルをバックアップすることをお勧めします。

Debian ベースのディストリビューションの場合

  • 次のコマンドを実行します。

シェル

1 dpkg -i opsgenie-icinga-<your_version>.deb

Opsgenie に Icinga インテグレーションを追加する

この統合はチーム ダッシュボードから追加可能

Opsgenie の Free または Essentials の各プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合、このプランでは [設定] の [統合] ページが利用できないため、この統合はチーム ダッシュボードからのみ追加できます。

統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。

そのためには、次の手順に従います。

  1. Teams からチーム ダッシュボードに移動します。

  2. [統合] > [統合を追加] の順に選択します。

残りの手順に従って統合を完了します。

  1. [設定] > [統合] の順に移動します。Icinga を検索して [追加] を選択します。

  2. [応答者] フィールドによって Icinga アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。

  3. 統合用に生成された API キーをコピーします。このキーは、Icinga によって Opsgenie に対する認証に使用される、Icinga アラートの処理に使用する統合を指定するためのキーです。

  4. [Save Integration (統合の保存)] を選択します。

Icinga での Opsgenie プラグイン設定

プラグインは golang-executable ファイル (send2opsgenie としてプラグインに含まれる) を使用して、Opsgenie でアラートを作成、確認、クローズします。Opsgenie でアラートを作成、確認、閉じるために、イベントでこのファイルを実行するように Icinga を設定します。

設定パラメーター

説明

入力必須

場所

API キー

上記で作成した Icinga インテグレーションから API キーをコピーします。send2opsgenie はこのキーを使用して Opsgenie への認証を行います。API キーは、アラートの処理に使用する必要がある適切なインテグレーション設定を識別するためにも用いられます。

はい

/home/opsgenie/oec/conf/config.json

ベース URL

Opsgenie を別のドメイン (例: EU、サンドボックス) から使用している場合尾、この [configuration.Opsgenie Icinga integration, Advanced Settings] ページを更新する必要があります。

任意

/home/opsgenie/oec/conf/config.json

responders

responders フィールドは、Icinga アラートを通知する必要があるチームを指定するために使用されます。このフィールドは、既定のチーム フィールド値を設定するために使用されます。Opsgenie Icinga インテグレーションの [詳細設定] ページで、異なるアラートを異なるチームにルーティングするように変更します。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

tags

[Tags] フィールドは、Opsgenie で作成されたアラートのタグを指定するために使用されます。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga_server

icinga_server フィールドは OpsgenieIcinga サーバーを識別するために使用されて、複数の Icinga サーバーがある場合にのみ必要です。このフィールドは、Opsgenie がユーザーが実行したアクション (承認、クローズなど) を OEC 経由で Icinga サーバーに返送するときに使用されます。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

logPath

ログ ファイルの完全なパスを指定します。(既定値は /var/log/opsgenie/isend2opsgenie.log)。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga2opsgenie.http.proxy.enabled

icinga2opsgenie.http.proxy.enabled フィールドは、外部プロキシの設定を有効/無効化します。既定値は false です。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga2opsgenie.http.proxy.host

これは、プロキシのホストです。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga2opsgenie.http.proxy.port

プロキシのポートです。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga2opsgenie.http.proxy.scheme

これは、プロキシ接続プロトコルです。プロキシ サーバーによって、http または https になる場合があります。既定値は http です。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga2opsgenie.http.proxy.username

プロキシ認証ユーザー名です。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

icinga2opsgenie.http.proxy.password

これは、プロキシ認証パスワードです。

任意

/home/opsgenie/oec/conf/opsgenie-integration.conf

golang 実行可能ファイルを設定するには、次の 3 つの方法があります。

  1. conf ファイルからの設定: /home/opsgenie/oec/conf/opsgenie-integration.conf ファイルから設定します。conf ファイルから設定すると、スクリプトで行われた設定が上書きされます。

  2. Golang フラグを使用して設定: opsgenie.cfg ファイルでコマンドにフラグを入力して、設定します。apiKey に -apiKey フラグを、icinga_server の名前に -is フラグをそれぞれ使用します。複数の Icinga サーバーが使用されていない場合は、Icinga サーバーを定義する必要はありません。フラグを使用すると、上記の他のすべての設定方法が上書きされます。

追加のカスタム引数を送信するには、フラグの後に、customArgName1 customArgValue1 customArgName2 customArgValue2 を追加します。
 

{{_payload.customArgName}}

  を入力フィールドの必要な場所に追加することで、カスタム引数を解析します。
生のパラメーターの使用に関する詳細については、動的フィールドのドキュメントをご確認ください。

3. スクリプトからの設定: send2opsgenie.go スクリプトから apiKey と icinga_server を設定します。このオプションを使用する場合、スクリプトを再構築し、新しい実行可能ファイルを /home/opsgenie/oec/opsgenie-icinga ディレクトリに配置します。send2opsgenie.go の場所と go スクリプトの構築方法については、「ソース」セクションを参照してください。

環境変数を定義して、HTTP リクエストの送信にプロキシを使用するように golang 実行可能ファイルを設定します。 

HTTP_PROXY=http://host:port

Icinga 連絡先を定義する

  1. /home/opsgenie/oec/opsgenie-icinga/opsgenie.cfg 設定ファイル (連絡先とそのホストおよびサービス通知コマンドを設定します) を /usr/local/icinga/etc/objects ディレクトリにコピーします。

シェル

1 cp /home/opsgenie/oec/opsgenie-icinga/opsgenie.cfg /usr/local/icinga/etc/objects

2. メインの Icinga 設定ファイル (ICINGA_HOME/etc/icinga.cfg) に次の行を追加します

シェル

1 2 3 ... cfg_file=/usr/local/icinga/etc/objects/opsgenie.cfg ...

3. ICINGA_HOME/etc/objects/contacts.cfg ファイル内の Icinga 設定のメイン連絡先グループに連絡先「opsgenie」を追加します。デフォルト設定である contacts.cfg を使用する場合は、「opsgenie」ユーザーを「admins」連絡先グループに追加します。

4. Icinga を再起動してください。

すべて問題がない場合は、Icinga で作成されたすべての通知について Opsgenie にアラートが表示されます。

Icinga 通知

Opsgenie を Icinga インテグレーションに設定する (オプション)

この機能を使用するには、Opsgenie Icinga インテグレーションで [Send Alert Actions To Icinga (Icinga にアラート アクションを送信)] チェックボックスと [Send via OEC (OEC 経由で送信)] チェックボックスが有効になっている必要があります。

Opsgenie の OEC と Icinga スクリプトを使用して、Icinga のアラートを更新します。これによって、独自のスクリプトや機能をデプロイして提供された機能を変更し、カスタマイズしたアクションを Icinga 上で実行できます。

Icinga でアクションを実行できるようにするには、OEC で設定ファイルから設定パラメーターを取得します。設定ファイルは、/home/opsgenie/oec/conf/config.json の下にあります。

設定パラメーター

  • alert_histogram_image_url — OEC は、この URL を使用して Icinga からヒストグラム画像を取得します。ローカル ホストを Icinga サーバー アドレスと置き換える必要があります。

  • trends_image_url — OEC は、この URL を使用して Icinga からトレンド画像を取得します。ローカル ホストを Icinga サーバー アドレスと置き換える必要があります。

  • command_url – アラートが承認された場合、コメントされた場合など、Icinga アラートを更新するための URL。

  • userIcinga ヒストグラムとトレンド画像を取得するために Icinga Web サーバーを認証するためのユーザー名。

  • passwordIcinga ヒストグラムとトレンド画像を取得するために Icinga Web サーバーを認証するためのパスワード。

また、ダウンロードしたパッケージには、/usr/local/bin にある OEC ユーティリティと、/home/opsgenie/oec/scripts にある OEC によって実行する必要があるスクリプトが含まれています。OEC の設定が完了したら、OEC を実行する必要があります。OEC を実行する方法に関する詳細については、OEC の実行のドキュメントをご参照ください。

Icinga アラートの詳細
Icinga 添付ファイル

Icinga インテグレーション パッケージは SSL v1.0 をサポートしていません。Icinga のサーバーで SSL v1.0 を使用している場合は、SSL サーバーをアップグレードすることをお勧めします。

よくある質問とトラブルシューティング

インテグレーションが機能しない場合、以下の問題が発生しているかどうかを確認し、アドバイスに従ってください。

1. Icinga アラートが Opsgenie で作成されません

シェルから次のテスト コマンドを実行します。Opsgenie でアラートが作成されているかどうかを確認します。

シェル

1 /home/opsgenie/oec/opsgenie-icinga/send2opsgenie -entityType=host -t=PROBLEM -hs=DOWN -hn=test_host
  • 「トレース / ブレークポイント トラップ」エラーの場合: 使用されている send2opsgenie プラグインがサーバー ディストリビューションと互換性がないことを意味します。以下の「ソースと send2opsgenie の再コンパイル」セクションに従い、特定のサーバー環境に従って send2opsgenie.go を再構築します。

  • Opsgenie でアラートが作成された場合: インテグレーションが正しくインストールされていることを意味します。IcingaOpsgenie のアラートの連絡先に通知していないことが問題である可能性がありま Icinga す。Icinga アラート通知ログを確認します。

  • そうでない場合: /var/log/opsgenie/send2opsgenie.log のログを確認してください。ログ ファイルで以下のエラーがないか探します。

  • エラー "RestException[Could not authenticate.]" がログに表示されたら、OpsgenieAPI キーを識別できなかったということです。上記の「Icinga での Opsgenie プラグイン設定」で説明されているように、API キーが正しく設定されているかを確認します。

  • ログに「[Icinga] インテグレーションの apiKey ではこのアクションを実行できませんでした」というエラーが含まれる場合は、Icinga 2 またはその他のパッケージではなく、正しい Icinga インテグレーション パッケージがダウンロードされて使用されたことをご確認ください。

  • 問題がわからない場合は、プラグインのログ レベルをデバッグに設定し、再試行して、お問い合わせフォームでログを送ってください。そうすれば、こちらのほうで問題を解決し、解決策を見つけるよう努力します。

  • /var/log/opsgenie/send2opsgenie.log ファイル、またはログがない場合は、以下を確認してください。

  • まず、Icinga ユーザーが /var/log/opsgenie ディレクトリへの書き込み権限を持っていることを確認します。インストール パッケージによって自動で実行されます。エラーが発生した場合は、chown -R icinga:opsgenie /var/log/opsgenie を実行します。

  • /usr/local/icinga/var/icinga.logIcinga サーバーのログを確認します。send2opsgenie に関するエラー ログがあるかどうかを確認し、それらを添えてお問い合わせください。

send2opsgenie プラグインのログ レベルをデバッグに設定:

send2opsgenie.logger=warning の行を icinga2opsgenie.logger=debug (/etc/opsgenie/conf/opsgenie-integration.conf ファイル内) に変更します。

2. Opsgenie でアラートが承認されても Icinga アラートが承認されません

  • まず、アラート ログを確認します。

  • [Posted [Acknowledge] action to Icinga.. (Icinga に [承認] アクションを投稿..)] アクションがログにない場合は、Opsgenie が承認アクションを Icinga に送信しなかったことを意味します。アラート アクションと一致していない可能性があるため、統合設定を確認します。

  • "Icingaに投稿された [承認] アクションの場合。"アクションがログになく、それ以降関連ログもない場合は、OEC が接続に問題があることを意味します。ログを確認します。

3. Icinga RPM パッケージを開けませんでした

rpm パッケージのインストール中にパッケージが廃止されたことを示すエラーが表示された場合は、代わりに "rpm -i opsgenie-icinga-1.0.4-rpm-x86-64.rpm --nodeps" を使用する必要があります。

"インストール済み" のエラーが表示された場合は、代わりに "rpm -i opsgenie-icinga-1.0.4-rpm-x86-64.rpm --force" を使用してください。

send2opsgenie のソースと再コンパイル

実行可能な send2opsgenie のソースは /usr/bin/ に、send2opsgenie.go は/etc/opsgenie/ にあり、GitHub Opsgenie Integration リポジトリでも利用できます。実行可能ファイルの動作を変更するには、send2opsgenie.go を編集して次を使用して構築します。

シェル

1 go build send2opsgenie.go

go のインストールについては、https://golang.org/doc/install をご参照ください。プラグインの実行ファイルは linux/386 システム用に構築されていることにご注意ください。

その他のヘルプ