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

Opsgenie を Nagios XI プラグインと統合する

Opsgenie は、Opsgenie のフル機能を活用した Nagios XI 統合パッケージを提供しています。このパッケージには、チャートを使用した豊富なアラート、アラートの自動クローズ、Nagios との双方向の統合が含まれています。インストールされ、適切に設定されると、Nagios XI 通知が送信されたときに、プラグインが Opsgenie アラートを作成します。また、OEC ユーティリティを使用して、関連するホストまたはサービスに関係する追加情報 (ステータス、アラート ヒストグラム、トレンドなど) を添付します。この追加情報はアラートとともに、Opsgenie アプリで直接確認できます。

インストール

Nagios XI 統合プラグイン。ご使用の Linux ディストリビューションと Nagios XI 設定によっては、これらの指示に若干の変更が必要になる場合があることにご注意ください。

Lamp ベースの Nagios XI プラグインを使用している場合は、すべての設定をバックアップする必要があります。古いプラグインをアンインストールし、新しいプラグインをインストールします。

前提条件

パッケージは Red Hat および Debian ベースの Linux ディストリビューション用に提供されます。

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

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

Opsgenie Nagios XI プラグインをインストールする

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

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

 

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

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

    1 rpm -i opsgenie-nagiosxi-<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 ベースのディストリビューションの場合

  • 次のコマンドを実行します。
    dpkg -i opsgenie-nagiosxi-<your_version>.deb

Opsgenie で Nagios XI 統合を追加する

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

  2. 統合の詳細を編集し、[統合を保存] を選択します。この統合のための API キーを生成します。このキーは、Nagios XI によって Opsgenie での認証に使用され、Nagios XI アラートの処理に使用する必要がある統合を指定します。

Nagios XI プラグイン

Opsgenie Nagios XI プラグインの設定

プラグインは golang-executable ファイル (send2opsgenie としてプラグインに含まれる) を使用して、Opsgenie でアラートを作成、承認、クローズします。Nagios XI は、イベントでこのファイルを実行して、Opsgenie でアラートを作成、認識、クローズするように設定する必要があります。

設定パラメーター

説明

入力必須

場所

API キー

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

はい

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

ベース URL

Opsgenie を別のドメインから使っている場合 (例: EU、サンドボックス) は、この設定をアップデートする必要があります。Opsgenie NagiosXI 統合の [詳細設定] ページ。

任意

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

responders

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

任意

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

tags

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

任意

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

nagios_server

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

任意

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

logPath

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

任意

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

nagios2opsgenie.http.proxy.enabled

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

任意

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

nagios2opsgenie.http.proxy.host

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

任意

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

nagios2opsgenie.http.proxy.port

プロキシのポートです。

任意

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

nagios2opsgenie.http.proxy.scheme

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

任意

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

nagios2opsgenie.http.proxy.username

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

任意

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

nagios2opsgenie.http.proxy.password

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

任意

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

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

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

  2. Golang フラグを使用した設定: 設定- > Core Config Manager -> コマンドNagios XI ウェブ インターフェイスからコマンドするフラグを入力して設定できます。apiKey に -apiKey フラグを、nagios_server の名前に -ns フラグをそれぞれ使用します。複数の nagios サーバーを持っていない場合、nagios サーバーを定義する必要はありません。フラグを使用すると、上記の他のすべての設定方法が上書きされます。

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

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

Nagios XI コマンドを定義する

  1. Nagios XI ウェブ インターフェイスの設定 -> Core Config Manager -> コマンドから、次のコンテンツを使用して、ホストおよびサービス通知コマンドの作成と設定をします。

  2. ホスト コマンドを定義します。

コマンド名:notify-host-by-opsgenie

コマンドタイプ: その他のコマンド

コマンド ライン:

テキスト

1 /home/opsgenie/oec/opsgenie-nagiosxi/send2opsgenie -entityType=host -t="$NOTIFICATIONTYPE$" -ldt="$LONGDATETIME$" -hn="$HOSTNAME$" -hdn="$HOSTDISPLAYNAME$" -hal="$HOSTALIAS$" -haddr="$HOSTADDRESS$" -hs="$HOSTSTATE$" -hsi="$HOSTSTATEID$" -lhs="$LASTHOSTSTATE$" -lhsi="$LASTHOSTSTATEID$" -hst="$HOSTSTATETYPE$" -ha="$HOSTATTEMPT$" -mha="$MAXHOSTATTEMPTS$" -hei="$HOSTEVENTID$" -lhei="$LASTHOSTEVENTID$" -hpi="$HOSTPROBLEMID$" -lhpi="$LASTHOSTPROBLEMID$" -hl="$HOSTLATENCY$" -het="$HOSTEXECUTIONTIME$" -hd="$HOSTDURATION$" -hds="$HOSTDURATIONSEC$" -hdt="$HOSTDOWNTIME$" -hpc="$HOSTPERCENTCHANGE$" -hgn="$HOSTGROUPNAME$" -hgns="$HOSTGROUPNAMES$" -lhc="$LASTHOSTCHECK$" -lhsc="$LASTHOSTSTATECHANGE$" -lhu="$LASTHOSTUP$" -lhd="$LASTHOSTDOWN$" -lhur="$LASTHOSTUNREACHABLE$" -ho="$HOSTOUTPUT$" -lho="$LONGHOSTOUTPUT$" -hnu="$HOSTNOTESURL$" -hpd="$HOSTPERFDATA$"
Nagios XI コマンド管理

3. サービス コマンドを定義します。

コマンド名: notify-service-by-opsgenie

コマンドタイプ: その他のコマンド

コマンド ライン:

テキスト

1 /home/opsgenie/oec/opsgenie-nagiosxi/send2opsgenie -entityType=service -t="$NOTIFICATIONTYPE$" -ldt="$LONGDATETIME$" -hn="$HOSTNAME$" -hdn="$HOSTDISPLAYNAME$" -hal="$HOSTALIAS$" -haddr="$HOSTADDRESS$" -hs="$HOSTSTATE$" -hsi="$HOSTSTATEID$" -lhs="$LASTHOSTSTATE$" -lhsi="$LASTHOSTSTATEID$" -hst="$HOSTSTATETYPE$" -ha="$HOSTATTEMPT$" -mha="$MAXHOSTATTEMPTS$" -hei="$HOSTEVENTID$" -lhei="$LASTHOSTEVENTID$" -hpi="$HOSTPROBLEMID$" -lhpi="$LASTHOSTPROBLEMID$" -hl="$HOSTLATENCY$" -het="$HOSTEXECUTIONTIME$" -hd="$HOSTDURATION$" -hds="$HOSTDURATIONSEC$" -hdt="$HOSTDOWNTIME$" -hpc="$HOSTPERCENTCHANGE$" -hgn="$HOSTGROUPNAME$" -hgns="$HOSTGROUPNAMES$" -lhc="$LASTHOSTCHECK$" -lhsc="$LASTHOSTSTATECHANGE$" -lhu="$LASTHOSTUP$" -lhd="$LASTHOSTDOWN$" -lhur="$LASTHOSTUNREACHABLE$" -ho="$HOSTOUTPUT$" -lho="$LONGHOSTOUTPUT$" -hpd="$HOSTPERFDATA$" -s="$SERVICEDESC$" -sdn="$SERVICEDISPLAYNAME$" -ss="$SERVICESTATE$" -ssi="$SERVICESTATEID$" -lss="$LASTSERVICESTATE$" -lssi="$LASTSERVICESTATEID$" -sst="$SERVICESTATETYPE$" -sa="$SERVICEATTEMPT$" -msa="$MAXSERVICEATTEMPTS$" -siv="$SERVICEISVOLATILE$" -sei="$SERVICEEVENTID$" -lsei="$LASTSERVICEEVENTID$" -spi="$SERVICEPROBLEMID$" -lspi="$LASTSERVICEPROBLEMID$" -sl="$SERVICELATENCY$" -set="$SERVICEEXECUTIONTIME$" -sd="$SERVICEDURATION$" -sds="$SERVICEDURATIONSEC$" -sdt="$SERVICEDOWNTIME$" -spc="$SERVICEPERCENTCHANGE$" -sgn="$SERVICEGROUPNAME$" -sgns="$SERVICEGROUPNAMES$" -lsch="$LASTSERVICECHECK$" -lssc="$LASTSERVICESTATECHANGE$" -lsok="$LASTSERVICEOK$" -lsw="$LASTSERVICEWARNING$" -lsu="$LASTSERVICEUNKNOWN$" -lsc="$LASTSERVICECRITICAL$" -so="$SERVICEOUTPUT$" -lso="$LONGSERVICEOUTPUT$" -snu="$SERVICENOTESURL$" -spd="$SERVICEPERFDATA$"
NagioXI サービス コマンド

4. コマンドを追加したら、変更を有効にするために [新しい設定を適用] を押すことを忘れないでください。

Nagios XI 連絡先を定義する

  1. 設定 -> Core Config Manager --> 連絡先に移動します。

  2. [新規追加] ボタンをクリックします。

  3. 共通設定を次のように入力します。

連絡先名: opsgenie

説明: Opsgenie 連絡先

アクティブ: チェック済み

NagioXI 連絡先管理

4. アラート設定を次のように入力します。

ホスト通知の有効化:

オン

ホスト通知期間:

24時間365日体制

ホスト通知オプション:

ダウン、接続不可 (ユースケースに応じて、他のオプションも選択できます)

ホスト通知コマンドを管理する:

notify-host-by-opsgenie コマンドを選択したリストに追加する

サービス通知の有効化:

オン

サービス通知期間:

24時間365日体制

サービス通知オプション:

重要 (ユース ケースに応じて、他のオプションを選択できます)

サービス通知コマンドを管理する:

notify-service-by-opsgenie コマンドを選択したリストに追加する

NagioXI 連絡先アラート設定

5. [保存] と [設定の適用] ボタンをクリックします。

連絡先がホストとサービスの連絡先リストに追加されていることを確認してください。

すべて問題がない場合は、Nagios XI で作成されたすべての通知について Opsgenie のアラートで確認できます。ホストやサービスが復帰すると、Opsgenie のアラートも自動的にクローズします。

何か問題がある場合は、send2opsgenie ログとトラブルシューティング ガイドで一般的な問題について確認してください。問題が解決しない場合は、ご遠慮なくお問い合わせください。

Opsgenie から Nagios XI 統合を設定する (オプション)

この機能を使用するには、[Send Alert Actions To Nagios XI (アラート アクションを Nagios XI に送信する)] チェックボックスを、Opsgenie Nagios XI 統合で有効にする必要があります。

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

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

設定パラメーター

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

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

  • command_url – アラートが承認された場合、コメントされた場合など、Nagios XI アラートをアップデートするための URLです。

  • user & password: NagiosXI Web サーバーを認証するための資格情報。

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

Nagios XI リッチ アラート
Nagios XI 添付ファイル

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

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

インテグレーションをうまく機能させることができない場合は、問題が以下に記載されていないかどうかを確認し、当社のアドバイスに従ってください。

1- Nagios XI アラートが Opsgenie で作成されません。

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

/home/opsgenie/oec/opsgenie-nagiosxi/send2opsgenie -entityType=host -t=PROBLEM -hs=DOWN -hn=test_host

[Trace/breakpoint trap (トレース / ブレークポイント トラップ)] エラーが発生している場合、send2opsgenie プラグインがサーバー ディストリビューションと互換性がないことを意味します。以下の「ソースと send2opsgenie の再コンパイル」セクションに従い、特定のサーバー環境に従って send2opsgenie.go を再構築します。

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

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

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

  • ログに [Could not execute this action with apiKey of [NagiosXI] integration ([NagiosXI] 統合の apiKey を使用してこのアクションを実行できませんでした)] と評されている場合、間違った統合パッケージをタウンロードした可能性があります。Nagios またはその他のものではなく、Nagios XI 統合パッケージを必ずダウンロードしてください。

  • 問題が解決しない場合は、プラグインのログ レベルをデバッグに設定してもう一度お試しいただき、お問い合わせフォームでログを送信してください。

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

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

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

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

/home/opsgenie/oec/conf/opsgenie-integration.conf ファイルで、nagios2opsgenie.logger=warning の行を nagios2opsgenie.logger=debug に変更します。

2- Opsgenie でアラートを承認しても Nagios XI アラートが承認されません。

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

  • "Posted [Acknowledge] action to NagiosXI.." がログに表示されない場合、これは、Opsgenie が承認アクションを Nagios XI に送信しなかったことを意味します。統合の設定を確認してください。アラート アクションと一致していない可能性があります。

  • "Posted [Acknowledge] action to Nagios XI.." のみがログに表示され、それ以降関連ログがない場合、OEC に接続の問題が発生している可能性があります。ログを確認してください。

3- Nagios XI RPM パッケージを開けません

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

"is already installed" のエラーが表示された場合は、代わりに "rpm -i opsgenie-nagiosxi-1.0.4-rpm-x86-64.rpm --force" を使用してください。

4. スクリプトのアラートに zip ファイルを添付しているときに権限エラーが発生します

スクリプトの実行中に "PermissionError: [Errno 13] Permission denied (権限は拒否されました): details_*" エラーが表示される場合は、スクリプトの添付方法の「file_name」変数にスクリプトのパスを追加します。

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

実行可能な send2opsgenie のソースは /home/opsgenie/oec/opsgenie-nagiosxi* の下にあり、send2opsgenie.go は /home/opsgenie/oec/opsgenie-nagiosxi** の下にあり、GitHub OpsGenie Integration リポジトリでも利用できます。実行可能ファイルの動作を変更するには、sendopsgenie.go を編集し、以下を使用して構築します。

go build send2opsgenie.go

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

その他のヘルプ