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

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. OpenNMS から送信されたメールからアラートを作成する Opsgenie メール ルールを設定します。アカウントを作成すると、Opsgenie によってデフォルトのメール アドレスとデフォルトのメール ルールが提供されます。[設定] ページでメール アドレスとルールを変更します。この設定では、すべての着信メールについてアラートを作成する既定のルールを使用します。メール統合の詳細については、こちらをご参照ください。

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

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

  4. [Save Integration (統合を保存)] をクリックします。

OpenNMS で Opsgenie を追加する

  1. OpenNMS ウェブ UI で Opsgenie 統合のユーザー アカウントを作成します。メニュー バーの [管理者] リンクをクリックします。

  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. ラジオ ボタンを [オン] に設定して有効にします。OpenNMS のメインの [管理者] ページには、「通知ステータス」というラベルが付いたラジオ セレクターがあります。これを [オン] に変更します。

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

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

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

OpenNMS ウェブ UI からログアウトし、無効なアカウントでのログインを試みます。プッシュ通知が送信されます。送信されない場合は、「 $OPENNMS_HOME/logs/daemon/notifd.log」を見て、エラー メッセージが発生しているかどうかを確認します。問題がない場合は、Opsgenie アラート ページを参照し、新しいアラートがアラート リストに存在するかどうかを確認します。

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

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

OpenNMS 通知の設定

OpenNMS 通知チュートリアル

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

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

インストール

  • Opsgenie OpenNMS 統合ファイルをダウンロードします。これには以下が含まれます。

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

  • OpenNMS 統合スクリプト

  • OpenNMS 統合を解凍する

  • Lamp のインストール:

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

  • Lamp ドキュメント - インストール手順を参照して lamp をインストールします。また lamp をダウンロードしないでください。

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

  • OpsGenie API 統合を作成し、統合 apiKey をコピーして opsgenie-integration/conf/opsgenie-integration.conf ファイルに貼り付けます。

  • Lamp が動作していることを確認する: コマンドラインから lamp ユーティリティを使用してテスト アラートを作成し、Opsgenie ダッシュボードにアラートが表示されていることを確認します。詳細については、Lamp ドキュメントを参照してください

  • 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 サーバーのホストとポート。

テキスト

1 2 3 4 5 6 7 8 9 10 /********************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. $OPENNMS_HOME/etc/notificationCommands.xml 設定ファイルに以下のセクションを追加して、カスタム通知コマンドを追加します。詳細については、OpenNMS 通知設定のドキュメントを参照してください。

XML

1 2 3 4 5 6 7 8 9 10 11 12 13 14 <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 のメインの [管理者] ページには、「通知ステータス」というラベルが付いたラジオ セレクターがあります。これを [オン] に変更して [アップデート] をクリックします。

テスト
統合パッケージをテストするには、次のコマンドによってポート 8080 で HTTP サーバーを実行しているローカル PC をスキャンする OpenNMS サーバーを作成します。

テキスト

1 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 のノードの停止

その他のヘルプ