Zabbix と統合する

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

統合では、Jira Service Management の Zabbix 固有の実行可能ファイルと Jira Edge Connector (JEC) ユーティリティを活用することで、リッチなアラートを自動で作成し、Zabbix と Jira Service Management の間でアラート ステータスを同期します。Zabbix のアラームは Jira Service Management でアラートが承認されると自動的に承認されます。Jira Service Management の Zabbix プラグインは、Jira Service Management に搭載されている高度な機能を Zabbix で利用できるようになるため、統合方法として推奨されています。

統合による機能

ユーザーが Jira Service Management アプリを使用してモバイル デバイスからアラートを承認すると、そのアラートは Zabbix で承認されます。

統合をセットアップする

Zabbix は双方向の統合です。次の手順でセットアップを行います。

  • Jira Service Management で Zabbix 統合を追加する

  • Zabbix で統合を設定する

Zabbix プラグインをインストールする

以下は、Jira Service Management の Zabbix 統合プラグインを使用して Jira Service Management と Zabbix を統合するための手順です。ご使用の Linux ディストリビューションと Zabbix 設定によっては、これらの手順に若干の変更が必要になる場合があることに注意してください。

前提条件

Github リリースから Zabbix プラグイン パッケージの最新バージョンをダウンロードしてください: zabbix · Releases · atlassian/jsm-integration-scripts

パッケージは以下のシステムに対応しています。

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

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

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

Get the rpm package corresponding to the RedHat version you are using:

  • If running RedHat Enterprise Linux 6 (or variants), get:
    jsm-zabbix-<your_version>.rhel6.<architecture>.rpm

  • For newer versions of RedHat, get:
    jsm-zabbix-<your_version>.<architecture>.rpm

After downloading, run the following command: rpm -i <downloaded_package>.rpm

アップグレード中、rpm パッケージは既存の設定を上書きしません。新しい既定の設定ファイルは jsm-integration.conf.rpmnew として保存されます。rpm アップグレード設定ファイルの処理についてご確認ください。バージョン 201X-XX-XX から 2.X.X にアップデートするには、--force パラメーターを追加します。次に例を示します。

rpm -U --force jsm-integration-<your_version>.rpm

アップデートする前に設定ファイルをバックアップしてください。

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

次のコマンドを実行します。 dpkg -i jsm-zabbix_<your_version>_<architecture>.deb

Zabbix 統合を追加する

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

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

Jira Service Management で Zabbix 統合を追加する方法は以下のとおりです。

  1. サイドバーの [オペレーション] の横にある [その他のアクション] () を選択し、次に [一般設定] を選択します。

  2. [統合] > [統合を追加] の順に選択します。

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

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

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

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

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

Zabbix でプラグインを設定する (Zabbix バージョン 3.0 以下)

プラグインは golang 実行可能ファイル(send2jsm としてプラグインに含まれます)を使用して、Jira Service Management でアラートを作成、承認、クローズします。Jira Service Management でアラートを作成、承認、クローズするために、イベントでこのファイルを実行するように Zabbix を設定します。Zabbix フロントエンドを介してアクションを設定します。これは、イベントがトリガーされたときに /home/jsm/jec/scripts/send2jsm を実行します。

  1. [アクション] で [Recovery Message (復旧メッセージ)] チェックボックスをオンにし、アラートが Zabbix でクローズされたら Jira Service Management でそのアラートがクローズされるようにします。

  2. [Operations (オペレーション)] で、Zabbix サーバー上で実行するリモート コマンドを定義します。*/home/jsm/jec/scripts/actionCommand.txt のコマンドを [Command (コマンド)] に貼り付けます。

  3. [Add (追加)]、[Save (保存)] の順に選択します。

Send2Jsm 設定 を確認してください。

Zabbix でプラグインを設定する (Zabbix バージョン 3.2~6.2)

プラグインは golang 実行可能ファイル(send2jsm としてプラグインに含まれます)を使用して、Jira Service Management でアラートを作成、承認、クローズします。Jira Service Management でアラートを作成、承認、クローズするために、イベントでこのファイルを実行するように Zabbix を設定します。

Zabbix フロントエンドを介してアクションを設定します。これは、イベントがトリガーされたときに */home/jsm/jec/scripts/send2jsm を実行します。

  1. [設定] > [アクション]、[Create New Action (新規アクションの作成)] の順に選択します。

  2. [Actions (アクション)] で [Operations (実行内容)] を選択します。

  3. [Operations (オペレーション)] で、Zabbix サーバー上で実行するリモート コマンドを定義します。

  4. */home/jsm/jec/scripts/actionCommand.txt のコマンドを [Command (コマンド)] に貼り付けます。

  5. [Actions (アクション)] で [Recovery Operations (復旧時の実行内容)] を選択します。

  6. [Recovery Operations (復旧時の実行内容)] で、Zabbix サーバー上で実行するリモート コマンドを定義します。

  7. */home/jsm/jec/scripts/actionCommand.txt のコマンドを [Command (コマンド)] に貼り付けます。

  8. [Add (追加)]、[Save (保存)] の順に選択します。

Send2Jsm 設定 を確認してください。

Zabbix でプラグインを設定する (Zabbix バージョン 6.4 以上)

プラグインは golang 実行可能ファイル(send2jsm としてプラグインに含まれます)を使用して、Jira Service Management でアラートを作成、承認、クローズします。Jira Service Management でアラートを作成、承認、クローズするために、イベントでこのファイルを実行するように Zabbix を設定します。

For new installations starting with Zabbix 7.0, global script execution is set to disabled by default. To enable, set EnableGlobalScripts from 0 to 1 in your Zabbix server configuration file (typically found in /etc/zabbix/zabbix_server.conf) and restart your Zabbix instance.

Zabbix フロントエンドを介してアクションを設定します。これは、イベントがトリガーされたときに */home/jsm/jec/scripts/send2jsm を実行します。

  1. From the navigation menu, select Alerts > Scripts then select Create Script

  2. 以下から選択してください:

    1. A user defined identifier as Name

    2. Action Operation as Scope,

    3. Script as Type

    4. Zabbix Proxy or Server as Execute on

  3. Paste the command stored in /home/jsm/jec/scripts/actionCommand.txt into Commands.

  4. [追加] を選択します。

  5. From the navigation menu, select Alerts > Actions > Trigger Actions then select Create Action.

  6. Fill the action settings as you please, then switch to the Operations tab.

  7. Under Operations, select Add in the Operations table.

  8. For Operation, select the script you created in Step 4 from the dropdown menu.

  9. From Target List, check the box for Current Host.

  10. 追加 を選択します 。

  11. Repeat the steps 7 through 10 for the Recovery Operations and Update Operations tables.

  12. 追加 を選択します 。

Send2Jsm 設定 を確認してください。

Send2Jsm 設定

send2jsm を動作させるには、いくつかの追加設定を行います。以下の表は、パラメーター、パラメーターが配置されている場所、およびそれらの入力が必須であるかどうかをまとめたものです。

設定パラメーター

説明

入力必須

場所

API キー

さきほど作成した Zabbix 統合から API キーをコピーします。send2jsm は、このキーを使用して Jira Service Management への認証を行います。アラートの処理に使用される適切な統合設定の識別にも API キーが使用されます。

はい

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

ベース URL

Jira Service Management を別のドメイン (例: EU、サンドボックス) から使用している場合は、この設定を更新する必要があります。Jira Service Management の Zabbix 統合、詳細設定ページ。

任意

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

responders

対応者フィールドは、Zabbix アラートの通知先を指定するために使用されます。このフィールドは、既定の対応者フィールド値を設定するために使用されます。Jira Service Management の Zabbix 統合の [詳細設定] ページで、異なるユーザーとチームに異なるアラートをルーティングするように受信者を変更できます。受信者は、Jira Service Management から通知されるユーザー、グループ、エスカレーション、またはスケジュールに設定できます。統合で対応者を設定していない場合、このフィールドは必須です。Jira Service Management から通知を受けるスケジュール。統合で受信者を設定していない場合、このフィールドは必須です。

任意

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

tags

tags フィールドは、Jira Service Management で作成されたアラートのタグを指定するために使用されます。

任意

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

logPath

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

任意

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

zabbix2jsm.http.proxy.enabled

zabbix2jsm.http.proxy.enabled フィールドは外部プロキシの設定を有効または無効にするためのものです。既定値は false です。

任意

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

zabbix2jsm.http.proxy.host

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

任意

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

zabbix2jsm.http.proxy.port

プロキシのポートです。

任意

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

zabbix2jsm.http.proxy.scheme

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

任意

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

zabbix2jsm.http.proxy.username

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

任意

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

zabbix2jsm.http.proxy.password

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

任意

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

特殊文字 (triggerUrl、ipAddress、date、time の各フィールドを除く) は、Jira Service Management でデータが処理される前に Zabbix の受信ペイロードから削除されます。

追加のカスタム引数を送信する場合は、customArgName1 customArgValue1 customArgName2 customArgValue2 のようにフラグの後に追加します。入力フィールドの必要な場所に {{_payload.customArgName}} を追加することで、カスタム引数を解析できます。

動的プロパティに関する詳細をご確認ください。

省略可: Zabbix 統合を設定する

JEC と Zabbix スクリプトを使用して、Zabbix でアラートを更新します。これによって、独自のスクリプトや機能をデプロイして提供された機能を変更し、カスタマイズしたアクションを Zabbix 上で実行できます。Zabbix でアクションを実行できるようにするには、JEC で設定ファイルから設定パラメーターを取得します。設定ファイルは /home/jsm/jec/conf/jec-config.json にあります。

設定パラメーター

 説明

場所

command_url

The Zabbix API endpoint to acknowledge Zabbix alerts.

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

ユーザー

JEC で Zabbix への認証に使用するユーザー名。

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

パスワード

JEC で Zabbix への認証に使用するパスワード。

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

filepath

JEC が Zabbix でアクションを実行するために使用するスクリプト。

Change to the value matching with your Zabbix version:

  • Version 4 to 5.4: /home/jsm/jec/scripts/jec_action_executor_for_zabbix4.py

  • Version 6 to 6.0.40: /home/jsm/jec/scripts/jec_action_executor_for_zabbix6.py

  • Version 7 and above: /home/jsm/jec/scripts/jec_action_executor_for_zabbix7.py

  • Otherwise: Leave as default

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

ダウンロードしたパッケージには、/usr/local/bin にある JEC ユーティリティと、/home/jsm/jec/scripts にある JEC によって実行する必要があるスクリプトも含まれています。設定したら JEC を実行してください。JEC の実行方法については、こちらをご確認ください。

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


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

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

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

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

テキスト

/home/jsm/jec/jsm-zabbix/send2jsm -triggerName='zabbix test alert' -triggerStatus='PROBLEM'
  • "Trace/breakpoint trap (トレース/ブレークポイント トラップ)" エラーが発生した場合: sendjsm プラグインにサーバー ディストリビューションとの互換性がないことを意味します。以下の「send2jsm のソースと再コンパイル」セクションに従い、特定のサーバー環境に従って send2jsm.go を再構築します。

  • Jira Service Management でアラートが作成されている場合: 統合は正しくインストールされています。Zabbix でコマンドを実行していないことが問題である可能性があります。

  • そうでない場合: /var/log/jsm/send2jsm.log のログを確認してください。ログ ファイルから次のエラーを探します。

    • "RestException[Could not authenticate.]" エラーがログに表示されている場合、Jira Service Management は API キーを識別できませんでした。この記事の「Zabbix における Jira Service Management プラグインの設定」にある説明に従って、API キーが正しく設定されているかどうかを確認してください。

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

  • /var/log/jsm/send2jsm.log ファイルがない場合、またはこのファイルにログがない場合は以下を確認してください。

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

    • 次に、/var/log/zabbix/zabbix_server.log で Zabbix サーバーのログを確認します。send2jsm に関するエラー ログがあるかを確認して、それらを添えてお問い合わせください。

send2jsm プラグインのログレベルを DEBUG に設定する

行 zabbix2jsm.logger=warning を zabbix2jsm.logger=debug に変更します (/home/jsm/jec/conf/jsm-integration.conf ファイル内)。

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

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

  • 「Posted [Acknowledge] action to Zabbix..」がログに含まれていない場合、Jira Service Management が承認アクションを Zabbix に送信しなかったことを意味します。統合設定を確認してください。アラート アクションと一致していない可能性があります。

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

3. Zabbix RPM パッケージを開けません

If while installing Zabbix's rpm package you get the following error:

テキスト

zabbix is obsoleted by (installed) zabbix-server-pgsql-4.0.13-1.el7.x86_64 zabbix is obsoleted by (installed) zabbix-agent-4.0.13-1.el7.x86_64 zabbix is obsoleted by (installed) zabbix-java-gateway-4.0.13-1.el7.x86_64

代わりに "rpm -i jsm-zabbix-1.0.4-rpm-x86-64.rpm --nodeps" を使用します。"is already installed (インストール済み)" エラーが表示された場合は、代わりに "rpm -i jsm-zabbix-1.0.4-rpm-x86-64.rpm --force" を使用してください。

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

実行可能ファイル send2jsm と send2jsm.go のソースは /home/jsm/jec/jsm-zabbix の下にあり、Jira Service Managment 統合用の GitHub リポジトリにもあります。実行可能ファイルの動作を変更するには、send2jsm.go を編集し、以下を使用してビルドします。

go build send2jsm.go

go のインストール方法についてご確認ください。プラグインの実行可能ファイルは linux/386 システム用にビルドされていることに注意してください。

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

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