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>.rpmFor 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 プランではサポートされていません。他のすべての統合は Free と Standard でチーム レベルでサポートされています。ただし、送信統合を機能させるには、上位のプランにアップグレードする必要があります。Settings (歯車アイコン) > Products (Jira 設定の下) > OPERATIONS からサイト レベルで統合を追加できるのは、Premium プランと Enterprise プランのみです。
統合をチームの運用ページから追加すると、そのチームが統合の所有者になります。つまり、Jira Service Management は、この統合を通じて受信したアラートをチームにのみ割り当てます。
Jira Service Management で Zabbix 統合を追加する方法は以下のとおりです。
サイドバーの [オペレーション] の横にある [その他のアクション] () を選択し、次に [一般設定] を選択します。
[統合] > [統合を追加] の順に選択します。
検索を実行して「Zabbix」を選択します。
次の画面で、統合の名前を入力します。
オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。
[Continue] を選択します。
この時点で、統合が保存されます。[統合をオンにする] を選択します。
統合のために作成したルールは、統合をオンにした場合にのみ機能します。
Zabbix でプラグインを設定する (Zabbix バージョン 3.0 以下)
プラグインは golang 実行可能ファイル(send2jsm としてプラグインに含まれます)を使用して、Jira Service Management でアラートを作成、承認、クローズします。Jira Service Management でアラートを作成、承認、クローズするために、イベントでこのファイルを実行するように Zabbix を設定します。Zabbix フロントエンドを介してアクションを設定します。これは、イベントがトリガーされたときに /home/jsm/jec/scripts/send2jsm を実行します。
[アクション] で [Recovery Message (復旧メッセージ)] チェックボックスをオンにし、アラートが Zabbix でクローズされたら Jira Service Management でそのアラートがクローズされるようにします。
[Operations (オペレーション)] で、Zabbix サーバー上で実行するリモート コマンドを定義します。*/home/jsm/jec/scripts/actionCommand.txt のコマンドを [Command (コマンド)] に貼り付けます。
[Add (追加)]、[Save (保存)] の順に選択します。
Send2Jsm 設定 を確認してください。
Zabbix でプラグインを設定する (Zabbix バージョン 3.2~6.2)
プラグインは golang 実行可能ファイル(send2jsm としてプラグインに含まれます)を使用して、Jira Service Management でアラートを作成、承認、クローズします。Jira Service Management でアラートを作成、承認、クローズするために、イベントでこのファイルを実行するように Zabbix を設定します。
Zabbix フロントエンドを介してアクションを設定します。これは、イベントがトリガーされたときに */home/jsm/jec/scripts/send2jsm を実行します。
[設定] > [アクション]、[Create New Action (新規アクションの作成)] の順に選択します。
[Actions (アクション)] で [Operations (実行内容)] を選択します。
[Operations (オペレーション)] で、Zabbix サーバー上で実行するリモート コマンドを定義します。
*/home/jsm/jec/scripts/actionCommand.txtのコマンドを [Command (コマンド)] に貼り付けます。[Actions (アクション)] で [Recovery Operations (復旧時の実行内容)] を選択します。
[Recovery Operations (復旧時の実行内容)] で、Zabbix サーバー上で実行するリモート コマンドを定義します。
*/home/jsm/jec/scripts/actionCommand.txtのコマンドを [Command (コマンド)] に貼り付けます。[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 を実行します。
From the navigation menu, select Alerts > Scripts then select Create Script
以下から選択してください:
A user defined identifier as Name
Action Operation as Scope,
Script as Type
Zabbix Proxy or Server as Execute on
Paste the command stored in
/home/jsm/jec/scripts/actionCommand.txtinto Commands.[追加] を選択します。
From the navigation menu, select Alerts > Actions > Trigger Actions then select Create Action.
Fill the action settings as you please, then switch to the Operations tab.
Under Operations, select Add in the Operations table.
For Operation, select the script you created in Step 4 from the dropdown menu.
From Target List, check the box for Current Host.
追加 を選択します 。
Repeat the steps 7 through 10 for the Recovery Operations and Update Operations tables.
追加 を選択します 。
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:
| /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 システム用にビルドされていることに注意してください。
この内容はお役に立ちましたか?