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

Nagios XI と統合する

この記事では、Jira Service Management Cloud の一部のお客様に段階的に展開されている、Jira Service Management でネイティブに利用できる新しいアラート機能を取り上げています。ご利用のサイトにはまだ表示されていないか、利用できない可能性があります。

Nagios ロゴ

Jira Service Management は Nagios XI 用の双方向の機能豊富な統合プラグインを提供しています。さらに、Jira Service Management では、使いやすい統合方法(メール、API、コマンド・ライン・ツール、プログラミング・ライブラリなど)が多数提供されており、すべての監視ツールを Jira Service Management と簡単に統合できます。Nagios XI は、メール・インターフェイスを介して、または Jira Service Management Web API を使用する任意の言語のスクリプトを実行することで、Jira Service Management と統合できます。このドキュメントでは、サポートされている 2 つの統合オプションについて説明します。

この記事では、Jira Service Management と Nagios XI の統合について説明します。Nagios の使用方法をご確認ください

統合でできるようになること

Jira Service Management の Nagios XI プラグインは、Nagios XI との双方向の統合をサポートしています。この統合は Jira Service Management の Nagios 専用の実行可能ファイルと JEC ユーティリティを活用し、豊富なアラート(ステータス、アラート・ヒストグラム、トレンドなど)を自動で作成して Nagios XI と Jira Service Management 間でアラートのステータスを同期します。Jira Service Management の Nagios XI プラグインは、使用することで Jira Service Management が提供する詳細な機能を Nagios XI で利用できるようになるため、統合方法として推奨されます。

統合による機能

  • Nagios XI でホストまたはサービスの状態がダウンすると、Jira Service Management でアラートが作成されます。

  • 新しいアラートを作成すると、Nagios XI の関連するヒストグラムとトレンド画像が自動的にアラートに添付されます。

  • Jira Service Management のアラートが承認されると、Nagios XI のアラートも自動的に承認されます。その逆も同様です。

  • Jira Service Management のアラートにメモが追加されると、Nagios XI のアラートも自動的にアップデートされます。その逆も同様です。

統合をセットアップする

Nagios XI 統合プラグインは Jira Service Management の全機能を利用し、Nagios XI との双方向の統合を実現します。以下の手順のステップでは、Nagios XI 統合プラグインを使用して Jira Service Management と Nagios XI を統合する方法を説明します。ご使用の Linux ディストリビューションと Nagios XI の設定によっては、これらの指示に若干の変更が必要になる場合があることに注意してください。

インストールの必須条件

インストール パッケージは、以下のシステムをサポートしています。

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

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

Nagios XI 用の Jira Service Management プラグインをインストールする

Jira Edge Connector(JEC)は Nagios XI 統合の送信認証を設定するための前提条件です。JEC と Nagios XI の各スクリプトを組み合わせて使用して、Nagios XI のアラートをアップデートできます。このセットアップによって、Nagios XI 上での独自のスクリプトのデプロイ、提供されたスクリプトの変更、カスタマイズしたアクションの実行が可能です。Nagios XI パッケージの最新バージョンをダウンロードしてください

RedHat ベースのディストリビューションに関する手順

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

rpm -i jsm-nagiosxi-<your_version>.rpm

rpm をアップグレードする前に、設定ファイルをバックアップします。

rpm パッケージによってアップグレード中に既存の設定が上書きされることはありません。新しい既定の設定ファイルは integration.conf.rpmnew として保存されます。バージョン 201X-XX-XX から 2.X.X にアップグレードするには、-- force パラメーターを追加します。たとえば、「rpm -U --force jsm-nagiosxi-<your_version>.rpm」のようにします。rpm アップグレードの設定ファイル処理に関する詳細をご確認ください

Debian ベースのディストリビューションに関する手順

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

dpkg -i jsm-nagiosxi-<your_version>.deb

Nagios XI 統合を追加する

双方向統合は Free プランと Standard プランではサポートされていません。他のすべての統合は FreeStandard でチーム レベルでサポートされています。ただし、送信統合を機能させるには、上位のプランにアップグレードする必要があります。Settings (歯車アイコン) > Products (Jira 設定の下) > OPERATIONS からサイト レベルで統合を追加できるのは、Premium プランと Enterprise プランのみです。

統合をチームの運用ページから追加すると、そのチームが統合の所有者になります。つまり、Jira Service Management は、この統合を通じて受信したアラートをチームにのみ割り当てます。

Jira Service Management で Nagios XI 統合を追加するには、次の手順を実行します。

  1. チームのオペレーション ページに移動します

  2. 左側のナビゲーション パネルで、[統合]、[統合を追加] の順に選択します。

  3. 検索を実行して「Nagios XI」を選択します。

  4. 次の画面で、統合の名前を入力します。

  5. オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。

  6. [続行] を選択します。
    この時点で、統合が保存されます。

  7. 統合を設定する手順」セクションを展開して、統合 URL をコピーします。
    この URL は、後で Nagios XI で統合を設定するときに使用します。

  8. [統合をオンにする] を選択します。
    統合のために作成したルールは、統合をオンにした場合にのみ機能します。

Nagios XI 用の Jira Service Management プラグインを設定する

プラグインは golang 実行可能ファイル(send2jsm としてプラグインに含まれます)を使用して、Jira Service Management でアラートを作成、承認、クローズします。send2jsm を動作させるには、いくつかの設定を行う必要があります。次の表は、パラメーターと、それらが必須かどうかの状態を示しています。apiKey の設定は必須です。その他の設定パラメーターは、ほとんどの Nagios XI 実装で動作する既定値に設定されていますが、変更が必要となる場合もあります。

設定パラメーター

設定パラメーター

説明

必須であるかどうか

場所

API キー

Jira Service Management の統合設定ページから URL をコピーします。send2jsm は、このキーを使用して Jira Service Management への認証を行います。API キーは、アラートの処理に使用する必要がある適切な統合構成を識別するためにも用いられます。

はい

/home/jsm/jec/conf/jec-config.json

ベース URL

ご利用の Jira Service Management 環境(例:EU、サンドボックス)に応じて、このフィールドを変更してください。

いいえ

/home/jsm/jec/conf/jec-config.json

teams

Nagios XI アラートの通知を受けるチーム。このフィールドの設定が既定値として使用されます。Jira Service Management の統合設定ページで、アラートを別のチームにルーティングするように変更できます。

いいえ

/home/jsm/jec/conf/integration.conf

tags

Jira Service Management で作成されたアラートのタグ。

いいえ

/home/jsm/jec/conf/integration.conf

nagios_server

Jira Service Management の Nagios XI サーバーは、複数の Nagios XI サーバーが存在する場合にのみ必要です。これは、Jira Service Management がユーザーによって実行されたアクション(確認、終了など)を JEC 経由で Nagios XI サーバーに送り返すときに使用されます。

いいえ

/home/jsm/jec/conf/integration.conf

logPath

ログファイルへの完全なパス(既定:/var/log/jec/send2jsm.log)。

いいえ

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.enabled

外部プロキシ設定を有効化/無効化します。既定:false

いいえ

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.host

プロキシのホスト

いいえ

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.port

プロキシのポート

いいえ

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.scheme

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

いいえ

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.username

プロキシ認証用のユーザー名

いいえ

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.password

プロキシ認証のパスワード

いいえ

/home/jsm/jec/conf/integration.conf

golang 実行可能ファイルを次の 3 つの方法のいずれかで設定します。

方法 1: conf ファイルから設定する

/home/jsm/jec/conf/integration.conf ファイルから設定します。これによって、過去にスクリプトで行った設定がすべて上書きされます。

方法 2: Golang フラグで設定する

[設定] > [Core Config Manager] > [コマンド] の順に移動して、Nagios XI の Web インターフェイスからコマンドにフラグを入力して設定を行います。apiKey に -apiKey フラグを、nagios_server の名前に -ns フラグをそれぞれ使用します。複数の Nagios サーバーを所有していない場合は、Nagios サーバーを定義する必要はありません。フラグを使用すると、上述したその他のすべての設定方法が上書きされます。

追加のカスタム引数を送信するには、フラグの後に追加します。例: customArgName1 customArgValue1 customArgName2 customArgValue2。入力フィールドの必要な場所に {{_payload.customArgName}} を追加することで、カスタム引数を解析できます。動的プロパティに関する詳細をご確認ください

方法 3: スクリプトから設定する

send2jsm.go スクリプトから apiKey と nagios_server を設定します。スクリプトを再構築して、新しい実行可能ファイルを /home/jsm/jec/scripts ディレクトリに配置します。send2jsm.go の場所と go スクリプトのビルド方法の詳細については、この記事の「send2jsm のソースと再コンパイル」セクションを参照してください。

Nagios XI コマンドを定義する

1. [設定] > [Core Config Manager] > [コマンド] の順に移動して、Nagios XI の Web インターフェイスから次のコンテンツでホストとサービスの通知コマンドの作成と設定を行います。

2. ホスト・コマンドを次のように定義します。
コマンド名:notify-host-by-jsm
コマンド・タイプ:misc コマンド
コマンド・ライン:

1 /home/jsm/jec/scripts/send2jsm -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$"

3. サービス・コマンドを定義します。
コマンド名:notify-service-by-jsm
コマンド・タイプ:misc コマンド
コマンド・ライン:

1 /home/jsm/jec/scripts/send2jsm -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$"

4. 変更を有効にするには [新しい設定を適用] を選択します。

Nagios XI 連絡先を定義する

設定」>「Core Config Manager」>「連絡先」の順に移動します。

2. 「新規追加」を選択します。

3. 「共通設定」に次のように入力します。
連絡先名:jsm
説明:JSM 連絡先

4. 「アクティブ」チェックボックスを選択します。

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

アラート設定

ホスト通知の有効化

選択済み

ホスト通知期間

24時間365日体制

ホスト通知オプション

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

ホスト通知コマンドの管理

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

サービス通知の有効化

選択済み

サービス通知期間

24時間365日体制

サービス通知オプション

クリティカル(ユースケースによっては、他のオプションも選択可能)

サービス通知コマンドの管理

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

6. 「保存」と「設定を適用」を選択します。

ホストとサービスの各連絡先リストに連絡先が追加されているか、ご確認ください。問題がない場合は、Nagios XI で作成されたすべての通知を Jira Service Management のアラートで確認できます。ホストやサービスが復帰すると、Jira Service Management のアラートも自動的にクローズします。

問題が発生した場合は、send2jsm ログと「よくある質問とトラブルシューティング」セクションをご確認ください。必要に応じてログを添えて、アトラシアンにお問い合わせください

Nagios XI をアップデートするように Jira Service Management を設定する

これはオプションのステップです。

統合設定ページの「Nagios XI にアラート アクションを送信」チェックボックスを選択します。JEC と Nagios XI の各スクリプトを組み合わせて使用して、Nagios XI のアラートをアップデートできます。このセットアップによって、Nagios XI 上での独自のスクリプトのデプロイ、提供されたスクリプトの変更、カスタマイズしたアクションの実行が可能です。

Nagios XI でアクションを実行するために、JEC は設定ファイル config.json(/home/jsm/jec/conf/jec-config.json にあります)から設定パラメーターを取得します。

設定パラメーター

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

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

  • command_url: アラートの承認やコメントなどが行われた場合に、Nagios XI アラートを更新するための URL です。

  • ユーザー: Nagios ヒストグラムとトレンド画像を取得するために、Nagios XI Web サーバーを認証するユーザー名です。

  • パスワード: Nagios ヒストグラムとトレンド画像を取得するために、Nagios XI Web サーバーを認証するパスワードです。

ダウンロードしたパッケージには、JEC ユーティリティ(/usr/local/bin にあります)と、JEC が実行する必要のあるスクリプト(/home/jsm/jec/scripts にあります)が含まれています。JEC の設定後、JEC を必ず実行してください。JEC の実行方法についてはこちらをご確認ください。JEC を使用している場合、Nagios XI で作成された通知ごとに、Jira Service Management のホストまたはサービスの現在のステータス情報がリッチ・アラートに入力されます。

Nagios XI 統合パッケージは SSL v1.0 をサポートしていません。Nagios XI サーバーで SSL v1.0 を使用している場合は、SSL サーバーをアップグレードしてください。

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

send2jsm 実行可能ファイルのソースは /usr/bin/ にあり、send2jsm.go ファイルは /home/jsm/jec/scripts にあります。これらは、リポジトリからもダウンロードできます。実行可能ファイルの動作を変更するには、send2jsm.go を編集して、go build send2jsm.go コマンドで構築します。go のインストール方法をご確認ください。プラグインの実行可能ファイルは linux/386 システム用に構築されています。

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

統合が機能しない場合は、このセクションを確認して、所定のガイドラインに従ってください。

1. Jira Service Management で Nagios アラートが作成されない

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

1 /home/jsm/jec/scripts/send2jsm -entityType=host -t=PROBLEM -hs=DOWN -hn=test_host
  • 「Trace/breakpoint trap(トレース/ブレークポイント・トラップ)」エラーが発生した場合は、send2jsm プラグインがサーバー・ディストリビューションと互換性がありません。この記事の「send2jsm のソースと再コンパイル」セクションでの説明のとおり、特定のサーバー環境に従って send2jsm.go を再ビルドしてください。

  • アラートが Jira Service Management で作成されている場合、統合は正しく設定されています。Nagios XI が Jira Service Management の連絡先にアラートを通知していないことが考えられます。Nagios XI のアラート通知ログをご確認ください。

  • Jira Service Management でアラートが作成されていない場合は、/var/log/jec/send2jsm.log のログをご確認ください。
    ログファイルから次のエラーを探します。

    • 「RestException[Could not authenticate.](RestException[認証できませんでした。])」がログに表示されている場合、Jira Service Management は API キーを識別できませんでした。この記事の「Nagios XI で Jira Service Management プラグインを設定する」セクションに記載されているステップに従って、API キーが正しく設定されているか確認してください。

    • 問題がわからない場合は、プラグインのログ レベルをデバッグに設定して、もう一度お試しください。アトラシアンにお問い合わせのうえ、ログを共有してください。

  • /var/log/jec/send2jsm.log ファイルがない場合、またはログがない場合は、次をご確認ください。

    1. Nagios ユーザーが /var/log/jec ディレクトリに書き込む権限を持っているかどうか確認してください。インストール・パッケージによって自動で実行されるはずです。問題が発生した場合は、次のコマンドを実行してください。
      chown -R nagios:jsm /var/log/jec

    2. /opt/nagios/log/zeneventd.log で Nagios サーバーのログを確認します。send2jsm に関するエラー ログがあるかどうか確認してください。必要に応じてログを添えて、アトラシアンにお問い合わせください

send2jsm プラグインのログ・レベルをデバッグに設定する

send2jsm プラグインのログレベルを DEBUG に設定します。/home/jsm/jec/conf/integration.conf ファイルを開いて、send2jsm.logger=warning 行を nagios2jsm.logger=debug に変更します。

2. Jira Service Management でアラートを承認しても、Nagios アラートが承認されない

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

  • 「Posted [Acknowledge] action to Nagios XI..(Nagios XI に [承認] アクションを送信..)」がログにない場合、Jira Service Management は「承認」アクションを Nagios XI に送信していません。統合設定を確認してください。アラート・アクションと一致していない可能性があります。

  • 「Posted [Acknowledge] action to Nagios XI..(Nagios XI に [承認] アクションを送信..)」のみがログに記録されており、それ以降に関連するログがない場合は、JEC に接続の問題が発生している可能性があります。ログを確認してください。

3. Nagios RPM パッケージを開けない

  • rpm パッケージのインストール時に、そのパッケージが旧バージョンであることが判明した場合は、代わりに rpm -i jsm-nagiosxi-1.0.4-rpm-x86-64.rpm --nodeps をご利用ください。

  • 「インストール済みです」というエラーが表示された場合は、代わりに rpm -i jsm-nagiosxi-1.0.4-rpm-x86-64.rpm --force をご利用ください。

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

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

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

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