LoginSignup
9
5

More than 3 years have passed since last update.

Zabbix 4.4 と Redmine の連携

Last updated at Posted at 2019-12-18

この記事はSRA Advent Calendar 2019の19日目の記事です。

良いネタがあったので投稿することにしました。
2019年10月7日に Zabbix 4.4 がリリースされました。
https://www.zabbix.com/whats_new_4_4

4.4 では Zabbix Agent 2 の登場や TimescaleDB の正式サポートなど
様々な機能追加がありました。
4.4 に関する新規機能等のリリース情報は検索していただけたら、
沢山出てくると思うのでぜひ検索してみてください。

今回は 4.4 から新しくメディアタイプに追加された、
「webhook」を使った Redmine との連携について紹介していきたいと思います。

webhook

まず最初に webhook とは何かを簡単に説明すると、
何かのイベント発生時に指定した URL に Post リクエストを送信する仕組みのことです。
(本当に簡潔すぎてごめんなさい)

今まで Zabbix で障害検知後に Slack や Redmine に通知を送るには少し手間が必要でしたが、
今回メディアタイプに webhook が追加されたことによって、それらへの通知がより簡単になりました。

設定手順

OS : CentOS 7.7
Zabbix 4.4.1 (Server, Agent 共に)

Redmine API を有効可
[管理] → [設定] → [API] の 「RESTによるWebサービスを有効にする」
にチェックを入れる。
image.png

次にZabbix 側の設定をします。
チケット登録用のメディアを作ります。
createticket.png

tracker id を 確認する際は
xxx.xxx.xxx.xxx/redmine/trackers.xml
で確認することができます。
API アクセスキーは個人設定の右側で確認することができます。
redmineapi.png

ちなみに Include event menu entry にチェックを入れておくと
障害のイベントメニューから指定した URL にリンクできるようになります。

スクリプトの中身はこちら
image.png

チケットを登録したら Zabbix 側には endpoint タグ と ticket_id タグが付きます。
endpoint タグは Redmine が、ticket_id タグには Redmine 側で自動採番された id が設定されます。

次にクローズ用のメディアを作ります。
resolveticket.png

スクリプトの中身はこちら
image.png

最後にアクションの実行内容にメディアに先ほど作成した「Redmine create ticket」を、
復旧時の実行内容に「Redmine resolve ticket」を指定します。

実際に動かしてみる

障害を発生させます。
image.png
そうすると Redmine 側にチケットを登録
image.png
障害を手動クローズします。
image.png
チケットに復旧時の内容が記載され、チケットがクローズ(解決)します。
image.png
以上が Zabbix 4.4 と Redmine の連携手順の紹介となります。

9
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5