Opsgenie を Icinga と統合する
概要
統合でできるようになること
Opsgenie の Icinga プラグインは、Icinga との双方向の統合をサポートしています。この統合は Opsgenie の Icinga 固有の実行可能ファイルと OEC ユーティリティを活用して、リッチ アラート (ステータス、アラート ヒストグラム、トレンドなど) を自動で作成して Icinga と Opsgenie 間でアラートのステータスを同期します。
統合をセットアップする
Icinga 統合プラグインは、Opsgenie の全機能を活用して Icinga との双方向の統合を提供します。以下の手順では、Icinga 統合プラグインを使用して、Opsgenie と Icinga を統合する方法を説明します。ご使用の Linux ディストリビューションと Icinga の設定によっては、これらの手順に若干の変更が必要になる場合があることに注意してください。
インストールの必須条件
インストール パッケージは、以下のシステムをサポートしています。
RedHat ベースの Linux ディストリビューション
Debian ベースの Linux ディストリビューション
Icinga 用の Opsgenie プラグインをインストールする
Opsgenie Edge Connector (OEC) は Icinga 統合の送信認証を設定するための必須条件です。OEC と Icinga のスクリプトを組み合わせて使用して、Icinga のアラートを更新できます。このセットアップにより、Icinga 上で独自のスクリプトをデプロイしたり、提供されたスクリプトを変更したり、カスタマイズしたアクションを実行したりできます。Icinga パッケージの最新バージョンは、このリポジトリからダウンロードしてください。
RedHat ベースの Linux ディストリビューション
rpm -i opsgenie-icinga-<your_version>.rpm
rpm をアップグレードする前に、設定ファイルをバックアップします。
rpm パッケージは、アップグレード中に既存の設定を上書きしません。新しい既定の設定ファイルは integration.conf.rpmnew として保存されます。バージョン 201X-XX-XX から 2.X.X にアップグレードするには、--force パラメーターを追加します。例: rpm -U --force opsgenie-icinga-<your_version>.rpm
Learn more about config file handling for rpm upgrades.
Debian ベースの Linux ディストリビューション
次のコマンドを実行します。
dpkg -i opsgenie-icinga-<your_version>.deb
Icinga 統合を追加する
Opsgenie の Free プランまたは Essentials プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合は、チーム ダッシュボードからのみこの統合を追加できます。 このプランでは、[設定] の [統合] ページが利用できません。
[チーム] に移動して自分のチームを選択します。
左側のナビゲーションで [統合] を選択し、[統合を追加] を選択します。
統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。このセクションの残りの手順に従って、統合を設定してください。
Opsgenie に Icinga 統合を追加するには:
[設定] > [統合] の順に移動します。
[統合を追加] を選択します。
検索を実行して「Icinga」を選択します。
次の画面で、統合の名前を入力します。
オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。
[Continue] を選択します。
この時点で、統合が保存されます。[統合を設定する手順] セクションを展開して、API キーをコピーします。
このキーは、後で Icinga で統合を設定するときに使用します。Icinga はこのキーを使用して、Opsgenie に対する認証を実行し、Icinga アラートの処理に使用する統合を指定します。[統合をオンにする] を選択します。
統合のために作成したルールは、統合をオンにした場合にのみ機能します。
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 フィールドは Opsgenie で Icinga サーバーを識別するために使用されて、複数の 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/integration.conf ファイルから設定します。これによって、過去にスクリプトで行った設定がすべて上書きされます。
方法 2: Golang フラグで設定する
このセクションの前半で説明したように、Icinga で作成された通知のコマンドにフラグを入力して設定します。apiKey には -apiKey フラグを使用します。
To send additional custom arguments, add them after the flags. For example, customArgName1 customArgValue1 customArgName2 customArgValue2. Parse custom arguments by adding {{_payload.customArgName}} to wherever is needed in the input fields. Learn more about using raw parameters.
方法 3: スクリプトから設定する
send2opsgenie.go スクリプトの apiKey を設定します。スクリプトを再度ビルドして、新しい実行可能ファイルを /home/opsgenie/oec/scripts ディレクトリに配置します。send2opsgenie.go の場所と go スクリプトのビルド方法の詳細については、この記事の「send2opsgenie のソースと再コンパイル」セクションを参照してください。
Icinga 連絡先を定義する
1. /home/opsgenie/oec/opsgenie-icinga/opsgenie.cfg ファイル (連絡先、そのホスト、サービス通知コマンドを設定します) を /usr/local/icinga/etc/objects ディレクトリにコピーします。
シェル
cp /home/opsgenie/oec/opsgenie-icinga/opsgenie.cfg /usr/local/icinga/etc/objects2. メインの Icinga 設定ファイル (ICINGA_HOME/etc/icinga.cfg) に次の行を追加します。
シェル
...
cfg_file=/usr/local/icinga/etc/objects/opsgenie.cfg
...ICINGA_HOME/etc/objects/contacts.cfg ファイル内の Icinga 設定のメイン連絡先グループに連絡先「opsgenie」を追加します。既定の設定である contacts.cfg を使用する場合は、「opsgenie」ユーザーを「admins」連絡先グループに追加します。
4. Icinga を再起動します。
特に問題がない場合は、Icinga で作成されたすべての通知について Opsgenie にアラートが表示されます。
Icinga をアップデートするように Opsgenie を設定する
これはオプションのステップです。
統合設定ページの「Icinga にアラート アクションを送信」チェックボックスを選択します。OEC と Icinga のスクリプトを組み合わせて使用して、Icinga のアラートを更新できます。このセットアップにより、Icinga 上で独自のスクリプトをデプロイしたり、提供されたスクリプトを変更したり、カスタマイズしたアクションを実行したりできます。
Icinga でアクションを実行するために、OEC は設定ファイル config.json (/home/opsgenie/oec/conf/oec-config.json にあります) から設定パラメーターを取得します。
設定パラメーター
alert_histogram_image_url: OEC は、この URL を使用して Icinga からヒストグラム画像を取得します。ローカル・ホストを Icinga サーバー・アドレスと置き換える必要があります。
trends_image_url: OEC は、この URL を使用して Icinga からトレンド画像を取得します。ローカル・ホストを Icinga サーバー・アドレスと置き換える必要があります。
command_url: アラートが承認された場合やコメントされた場合などに Icinga アラートを更新するための URL。
user: Icinga ヒストグラムとトレンド画像を取得するために Icinga Web サーバーを認証するユーザー名。
password: Icinga ヒストグラムとトレンド画像を取得するために Icinga Web サーバーを認証するパスワード。
The downloaded package includes the OEC utility (found in /usr/local/bin) and the script that OEC needs to run (found in /home/opsgenie/oec/scripts). Be sure to run OEC after configuring it. Learn more about running OEC.
Icinga 統合パッケージは SSL v1.0 をサポートしていません。Icinga サーバーで SSL v1.0 を使用している場合は、SSL サーバーをアップグレードしてください。
send2opsgenie のソースと再コンパイル
The source for the executable send2opsgenie is found in /usr/bin/ and send2opsgenie.go, in /home/opsgenie/oec/scripts respectively and is also available in this repository. To change the behavior of the executable, edit send2opsgenie.go and build it by using the following command: go build send2opsgenie.go
For installing go, refer to http://golang.org/doc/install. Note that the executable in the plugin is built for linux/386 systems.
よくある質問とトラブルシューティング
統合が機能しない場合は、このセクションを確認して、規定のガイドラインに従ってください。
Icinga アラートが Opsgenie で作成されません
シェルから次のテスト コマンドを実行して、Opsgenie でアラートが作成されているかを確認します。
/home/opsgenie/oec/scripts/send2opsgenie -entityType=host -t=PROBLEM -hs=DOWN -hn=test_host
"Trace/breakpoint trap (トレース/ブレークポイント トラップ)" エラーが発生した場合は、send2opsgenie プラグインがサーバー ディストリビューションと互換性がありません。この記事の「send2opsgenie のソースと再コンパイル」セクションでの説明のとおり、特定のサーバー環境に従って send2opsgenie.go を再ビルドしてください。
アラートが Opsgenie で作成されている場合は、統合が正しく設定されています。この場合、Icinga が Opsgenie の連絡先にアラートを通知していないことが考えられます。Icinga アラートの通知ログを確認してください。
アラートが Opsgenie で作成されていない場合は、/var/log/oec/send2opsgenie.log にあるログを確認してください。
ログ ファイルで以下のエラーがないか探します。「RestException[Could not authenticate.]」がログにある場合は、Opsgenie が API キーを識別できなかったことを意味します。この記事の「Icinga で Opsgenie プラグインを設定する」セクションに記載されているステップに従って、API キーが正しく設定されているか確認してください。
If unsure of the problem, set the plugin's log level to debug and try again. Contact us and share the logs.
/var/log/oec/send2opsgenie.log ファイル、またはログがない場合は、次をご確認ください。
Icinga ユーザーが /var/log/oec ディレクトリに書き込む権限を持っているかどうか、ご確認ください。インストール パッケージによって自動で実行されます。問題が発生した場合は、次のコマンドを実行してください。
chown -R icinga:opsgenie /var/log/oecCheck the Icinga server logs at /opt/icinga/log/zeneventd.log. See if there are error logs regarding
send2opsgenie. Contact us with the logs as needed.
send2opsgenie プラグインのログ レベルをデバッグに設定する
send2opsgenie プラグインのログ レベルを DEBUG に設定します。/home/opsgenie/oec/conf/integration.conf ファイルを開いて、send2opsgenie.logger=warning 行を icinga2opsgenie.logger=debug に変更します。
Opsgenie でアラートが承認されても Icinga アラートが承認されません
Check the activity log.
「Posted [Acknowledge] action to Icinga..」がログにない場合は、Opsgenie が「承認」アクションを Icinga に送信しなかったことを意味します。統合設定を確認してください。アラート アクションと一致していない可能性があります。
「Posted [Acknowledge] action to Icinga..」のみがログに記録されており、それ以降に関連するログがない場合は、OEC に接続の問題が発生している可能性があります。ログを確認してください。
Learn more about activity logs.
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をご利用ください。
この内容はお役に立ちましたか?