• 使用を開始する
  • 関連ドキュメント

Opsgenie を OpenNMS と統合する

OpenNMS ロゴ

この統合は廃止されました。

つまり、Opsgenie アカウントに新しい OpenNMS インテグレーションは追加できません。当面の間、既存の OpenNMS インテグレーションは引き続き機能します。一方、「シナリオ 2: 豊富なアラート統合」は利用できません。

Opsgenie が OpenNMS ユーザーに提供するもの

Opsgenie を使用すると、OpenNMS ユーザーはメール、SMS、電話、iPhone/Android プッシュ通知を介して OpenNMS イベント (Opsgenie ではアラートと呼ばれます) を受け取り、携帯電話から OpenNMS イベントを操作できます。Opsgenie アラートには、イベントだけでなく、管理オブジェクトの詳細、パフォーマンス グラフなどのサポート情報も含まれており、ユーザーは通知されたときにより適切な意思決定を行うことができます。

Opsgenie には、環境で重要なことが発生したときにユーザーに通知されるように、監視ツールと Opsgenie を統合するためのさまざまな統合ツールと API が用意されています。Opsgenie に用意されている次の統合シナリオとパッケージを、OpenNMSOpsgenie アラート システムを統合するための出発点として使用してください。

シナリオ 1: メール統合

OpenNMS には、指定されたイベントについてユーザーに通知するためにメールを送信する機能があります。Opsgenie は、Opsgenie のメール統合機能を使用して、 SMS、iPhone または Android プッシュ通知、または電話を介してユーザーに通知します。以下の手順では、OpenNMS 認証失敗イベントを例に、OpenNMSOpsgenieOpsgenie メール統合を使用して iPhone/Android アプリにプッシュ通知を送信するように設定する方法を説明します。

Opsgenie で OpenNMS メール メソッドを追加する

  1. Set up Opsgenie email rules which create alerts from emails sent from OpenNMS. When your account is created Opsgenie provides a default email address and a default email rule for you. Modify your email address and rules in the Settings page. For this setup the default rules are used, which creates alerts for every incoming mail. Find more information on email integration here.

  2. Opsgenie メール統合を追加します。

  3. Opsgenie メール統合からメール アドレスをコピーします。

  4. [Save Integration (インテグレーションを保存)] をクリックします。

OpenNMS で Opsgenie を追加する

  1. Create a user account for Opsgenie integration in OpenNMS web UI. Click the Admin link in the menu bar.

  2. [ユーザー、グループ、オンコール ロールの設定] に移動します。

  3. [ユーザーの設定] をクリックします。

  4. [新規ユーザーの追加] をクリックし、[ユーザー名] フィールドに「opsGenie」と入力してフォームにパスワードを入力します。

  5. OK をクリックします。

  6. 以前にコピーしたメールを OpenNMS ユーザー フォームの [メール] フィールドに貼り付けます。

  7. [完了] をクリックします。

NMS メール
NMS によるユーザーの変更

OpenNMS から通知を受信するには、ユーザーまたはユーザーが属しているグループが宛先パスの一部である必要があります。

  1. [管理者] ページに移動します。

  2. [操作] セクションで [通知の設定]、[宛先パスの設定]、[新しいパス] の順にクリックします。

  3. 「OpsGenieEmailPath」などの名前を付けてから [編集] をクリックします。

  4. 「OpsGenie」ユーザーを選択して追加し、[次へ >>>] をクリックします。

  5. 次のページで、デフォルト値 (「JavaEmail」と「オン」) をそのまま使用し、[次へ >>>] をもう一度クリックします。

  6. [完了] をクリックすると、[既存のパス] セクションに新しい宛先パスが表示されます。

NMS によるターゲットの選択

次に、OpenNMS イベントに新しい宛先パスを関連付けます。

  1. [管理者] ページに移動します。

  2. [操作] セクションで [通知の設定]、[イベント通知の設定] の順にクリックします。

  3. [イベント通知] ページの上部にある [新しいイベント通知の追加] をクリックします。

  4. 当面の間、セットアップのテストを容易にするため、「OpenNMS 定義の内部イベント: WebUI で認証エラーが発生しました」イベントを選択します。この設定は、必要に応じて後で変更できます。

OpenNMS によるイベントの選択

5. [次へ>>> ] をクリックします。

6. 次のページで [結果の検証をスキップ >>>] をクリックします。

最後に、通知の送信に使用する情報を設定します。次の値を入力します。

名前: 認証が失敗しました
パスを選択: OpsGenieEmailPath
テキスト メッセージ: OpenNMS ウェブ UI で、ユーザー '%parm[user]%' による IP アドレス %parm[ip]% からのログイン試行が失敗しました
ショート メッセージ: ユーザー '%parm[user]%' による認証が失敗しました
メール件名: ユーザー '%parm[user]%'' による認証が失敗しました

7. [完了] をクリックします。これで、通知イベントがリストに表示されますが、無効になっています。

8. Set the radio button to On to enable it. In the main OpenNMS Admin page, there is a radio selector labeled, "Notification Status." Change it to On.

9. [更新] をクリックします。

10. $OPENNMS_HOME/etc/javamail-configuration.properties ファイルでメール サーバーを設定し、OpenNMS サーバーを再起動します。

これで OpenNMS イベントを作成し、Opsgenie プッシュ通知を受信するための設定が完了しました。

Logout from OpenNMS web UI and try to login with an invalid account. A push notification is sent, if not delivered, take a look at "$OPENNMS_HOME/logs/daemon/notifd.log" and see if an error message occurs. If no problem exists, look at Opsgenie alerts page and check whether the new alert exists in the alert list.

OpenNMS アプリアラート
OpenNMS アプリ アラートの詳細

OpenNMS 通知に関する詳細は、以下のページでご確認ください。

OpenNMS 通知の設定

OpenNMS 通知チュートリアル

シナリオ 2: 豊富なアラート統合

OpenNMS 通知システムでは、任意の外部プログラムを実行できます。これによって、Lamp などの Opsgenie クライアント ツールを介して Opsgenie のアラート システムと統合する無限の可能性が開きます。Opsgenie は、当社のシステムの豊富なアラート機能をお届けする、ダウンロード可能な OpenNMS 統合パッケージを提供します。統合ファイルには、ノード イベントを転送する groovy スクリプトの例が含まれています。このスクリプトはまた、アラートの対象となる最近のノード停止を OpenNMS から取得して、受信者がこの情報を利用できるようにアラートに添付します。

インストール

  • Download OpsGenie OpenNMS Integration files that include:

  • Lamp - Opsgenie コマンドライン ユーティリティでアラートを作成します

  • OpenNMS 統合スクリプト

  • OpenNMS 統合を解凍する

  • Lamp のインストール:

  • OpenNMS 統合ファイルには、カスタマイズされたバージョンの Lamp が含まれています。このバージョンをインストールします。

  • Install lamp by referring to Lamp Documentation - Installation steps. Do not download lamp again.

  • OpenNMS シェル スクリプトに正しい LAMP_HOME (lamp のインストール ディレクトリ) があることを確認します。

  • Create an OpsGenie API Integration, copy the integration apiKey, put into the opsgenie-integration/conf/opsgenie-integration.conf file.

  • Verify Lamp is working: Create a test alert, using the lamp utility from the command line, make sure your alert is visible on Opsgenie dashboard. Please refer to Lamp Documentation for more information.

  • Groovy スクリプトの設定: シェル スクリプトですべてのロジックを実装する代わりに、統合パッケージはスクリプト (ogCreateAlert.groovy) を提供します。強力な Java ベースのスクリプト言語である groovy で記述されており、Lamp で実行することができます。簡単に言うと、このスクリプトは Opsgenie アラートを作成し、OpenNMS rest API を介してノード停止を取得し、停止を示す HTML ファイルを作成してアラートに添付します。

  • 受信者: Opsgenie によって通知されるユーザーまたはユーザーのグループ。既定値は [すべて] です。

  • ソース: アラート ソース

  • OPENNMS_USER と OPENNMS_PASSWORD: OpenNMS rest API を認証するための資格情報。

  • OPENNMS_HOST と OPENNMS_PORT: REST API 呼び出しに使用される OpenNMS Web サーバーのホストとポート。

テキスト

/********************CONFIGURATIONS****************************/ // Recipients should be specified here for automatic tools. // Recipients can be users or groups created in OpsGenie RECIPIENTS="all" SOURCE="OpenNMS" //OpenNMS credentials are needed for extra information to be fetched through REST API OPENNMS_USER = "admin" OPENNMS_PASSWORD = "admin" OPENNMS_HOST="localhost" OPENNMS_PORT=8980
  • 以下の手順に従って opennmsShellScripts/opsgenie シェル スクリプトを準備します。

  • OpenNMS がインストールされた同じシステムの任意の場所に、シェル スクリプトをコピーします。このパスは、OpenNMS 通知コマンドが設定されている場合に示されます。

  • lamp のインストール ディレクトリを指すように LAMP_HOME を設定します。

  • Linux でスクリプトを実行可能にする (chmod +x)

  • Opsgenie グループおよびユーザーを準備します。

  • Smarts から通知するグループまたはユーザーを作成する

  • グループに少なくとも 1 人のユーザーがいることを確認する

OpenNMS の設定

  1. Add a custom notification command by adding the following section to the $OPENNMS_HOME/etc/notificationCommands.xml configuration file. Check OpenNMS Notification Configuration document for details.

XML

<command binary="true"> <name>OpsGenie</name> <execute>/usr/bin/opsgenie</execute> <comment>OpsGenie alert creation</comment> <argument streamed="false"> <switch>-subject</switch> </argument> <argument streamed="false"> <switch>-tm</switch> </argument> <argument streamed="false"> <switch>-nodeid</switch> </argument> </command>

2. OpsGenie 統合パッケージで提供されるシェル スクリプトを示すように、タグを変更します。

3. OpenNMS サーバーを再起動します。

4. OpenNMS ユーザーを追加し、そのユーザーに「Opsgenie」などの名前を付けます。

5. 用意されているシェル スクリプトを OpenNMS で実行できるように、追加したユーザーを宛先パスの一部にする必要があります。

6. [管理者] ページに移動し、[操作] セクションの [通知の設定 ] をクリックします。

7. [宛先パスの設定] をクリックします。

8. [新しいパス] をクリックします。「OpsGenieScriptPath」などの名前を付けてから [編集] をクリックします。

9. ユーザーを選択して追加し、[次へ >>>] をクリックします。

10. 次のページで、「OpsGenie」カスタム コマンドにチェックを入れて [オン] にします。

11. [次へ >>>] をもう一度クリックします。

12. 最後に、[完了] をクリックします。これで、新しい宛先パスが [既存のパス] セクションに表示されます。

OpenNMS によるターゲットの選択
OpenNMS によるコマンドの選択

OpenNMS イベントに新しい宛先パスを関連付ける

  1. [管理者] ページに移動します。

  2. [Operations (操作)] セクションで [Event Notifications (通知の設定)] をクリックします。

  3. [Configure Event Notifications (イベント通知の設定)] をクリックします。

  4. [イベント通知] ページの上部にある *[新しいイベント通知の追加] をクリックし、「OpenNMS 定義のノード イベント: NodeLostService」イベントを選択します。

  5. [次へ >>>] をクリックします。

  6. 次のページで [結果の検証をスキップ >>>] をクリックします。通知の送信に使用する情報を設定します。次の値を入力します。

    • 名前: ノードが失われたサービス

    • パスを選択: OpsGenieShellPath

    • テキストメッセージ: %time% にノード %nodelabel% のインターフェイス %interfaceresolve% (%interface%) で %service% サービスのポーリングが失敗しました。

    • ショート メッセージ: ノード %nodelabel% の %interfaceresolve% (%interface%) で %service% がダウンしました。

    • メール件名:: ノード %nodelabel% の %interfaceresolve% (%interface%) で %service% がダウンしました。

  7. [完了] をクリックします。

  • リスト内の通知イベントは無効になります。ラジオ ボタンを [オン] に設定して有効にします。

  • OpenNMS のメインの [管理者] ページには、「通知ステータス」というラベルが付いたラジオ セレクターがあります。これを [オン] に変更して [アップデート] をクリックします。

Test
To test the integration package, make the OpenNMS server to scan the local PC which runs an HTTP server on port 8080, with the following command:

テキスト

perl $OPENNMS_HOME/bin/send-event.pl --interface 192.168.1.102 uei.opennms.org/internal/discovery/newSuspect

スキャンが完了すると、OpenNMS によってノード、そのインターフェイス、HTTP サーバーを含むサービスが作成されます。

OpenNMS ノード インタフェース

HTTP サーバーがシャットダウンすると、OpenNMS は次回のサービス ポーリングでサーバーを検出し、そのサーバーの「nodeLostService」イベントを作成します。

OpenNMS イベント リスト

このイベントは、インストールされているシェル スクリプトを実行する通知システムをトリガーします。その結果、Opsgenie システムに新しいアラートが作成され、私の PC の最近の停止が Opsgenie コンソールに表示されます。

OpenNMS Opsgenie アラート
OpenNMS のノードの停止

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。