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

Icinga と統合する

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

Icinga 2 のロゴ

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

Jira Service Management の Icinga プラグインは、Icinga との双方向の統合をサポートしています。この統合は Jira Service Management の Icinga 固有の実行可能ファイルと JEC ユーティリティを活用して、リッチ・アラート (ステータス、アラート・ヒストグラム、トレンドなど) を自動で作成して Icinga と Jira Service Management の間でアラートのステータスを同期します。

統合をセットアップする

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

インストールの必須条件

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

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

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

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

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

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

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

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

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

rpm パッケージは、アップグレード中に既存の設定を上書きしません。新しい既定の設定ファイルは integration.conf.rpmnew として保存されます。バージョン 201X-XX-XX から 2.X.X にアップグレードするには、--force パラメーターを追加します。例: rpm -U --force jsm-icinga-<your_version>.rpm

rpm アップグレードの設定ファイル処理に関する詳細をご確認ください。

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

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

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

Icinga 統合を追加する

Jira Service Management の Free プランまたは Standard プランを使用している場合は、この統合はチームの運用ページからのみ追加できます。Settings (歯車のアイコン) > Products ([Jira 設定] の下) > OPERATIONS からこの機能にアクセスするには、Premium プランまたは Enterprise プランが必要です。

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

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

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

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

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

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

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

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

  7. 統合を設定する手順」セクションを展開して、API キーをコピーします。
    このキーは、後ほど Icinga で統合を設定する際に使用します。Icinga はこのキーを使用して、Jira Service Management に対する認証を実行し、Icinga アラートの処理に使用する統合を指定します。

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

Icinga で Jira Service Management プラグインを設定する

プラグインは golang 実行可能ファイル (send2jsm としてプラグインに含まれます) を使用して、Jira Service Management でアラートを作成、承認、クローズします。Jira Service Management でアラートを作成、承認、クローズするために、イベントでこのファイルを実行するように Icinga を設定します。次の表は、パラメーターと、それらが必須かどうかの状態を示しています。

設定パラメーター

設定パラメーター

説明

必須であるかどうか

場所

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

responders

既定の対応者。このフィールドは、Icinga のアラートを通知する必要がある対応者を指定するために使用されます。Jira Service Management の統合設定ページで、アラートを別のチームやスケジュールにルーティングするように変更できます。そのページで対応者を設定していない場合、このフィールドは必須です。

いいえ

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

tags

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

いいえ

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

icinga_server

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

いいえ

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

logPath

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

いいえ

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

icinga2jsm.http.proxy.enabled

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

いいえ

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

icinga2jsm.http.proxy.host

プロキシのホスト

いいえ

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

icinga2jsm.http.proxy.port

プロキシのポート

いいえ

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

icinga2jsm.http.proxy.scheme

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

いいえ

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

icinga2jsm.http.proxy.username

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

いいえ

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

icinga2jsm.http.proxy.password

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

いいえ

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

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

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

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

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

このセクションの前半で説明したように、Icinga で作成された通知のコマンドにフラグを入力して設定します。apiKey には -apiKey フラグを使用します。

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

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

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

Icinga 連絡先を定義する

1. /home/jsm/jec/jsm-icinga/jsm.cfg ファイル (連絡先、そのホスト、サービス通知コマンドの設定) を /usr/local/icinga/etc/objects ディレクトリにコピーします。

シェル

1 cp /home/jsm/jec/jsm-icinga/jsm.cfg /usr/local/icinga/etc/objects

 2. メインの Icinga 設定ファイル (ICINGA_HOME/etc/icinga.cfg) に次の行を追加します。

シェル

1 2 3 ... cfg_file=/usr/local/icinga/etc/objects/jsm.cfg ...

3. ICINGA_HOME/etc/objects/contacts.cfg ファイル内の Icinga 設定のメイン連絡先グループに連絡先「jsm」を追加します。既定の設定である contacts.cfg を使用する場合は、「jsm」ユーザーを「admins」連絡先グループに追加します。

4. Icinga を再起動します。

特に問題がない場合は、Icinga で作成されたすべての通知について Jira Service Management にアラートが表示されます。

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

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

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

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

設定パラメーター

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

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

  • command_url: アラートが承認された場合やコメントされた場合などに Icinga アラートを更新するための URL。

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

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

ダウンロードしたパッケージには、JEC ユーティリティ (/usr/local/bin にあります) と、JEC が実行する必要のあるスクリプト (/home/jsm/jec/scripts にあります) が含まれています。JEC の設定後、JEC を必ず実行してください。JEC の実行に関する詳細をご確認ください

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

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

send2jsm 実行可能ファイルのソースは /usr/bin/ にあり、send2jsm.go ファイルは /home/jsm/jec/scripts にあります。なお、こちらのリポジトリでも入手できます。実行可能ファイルの動作を変更するには、send2jsm.go を編集して、go build send2jsm.go コマンドでビルドします。

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

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

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

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

シェルから次のテスト・コマンドを実行して、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 で作成されている場合、統合は正しく設定されています。Icinga が Jira Service Management の連絡先にアラートを通知していないことが考えられます。Icinga アラートの通知ログを確認してください。

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

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

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

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

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

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

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

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

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

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

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

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

アラート・ログの詳細をご確認ください

3. Icinga RPM パッケージを開けませんでした

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

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

その他のヘルプ