mito’s blog

IT技術メインの雑記。思い立ったが吉日。

【Zabbix5.0 × Redmine】障害チケットを自動起票する

やったこと

Zabbix5.0で追加されたRedmineのWebhookを使って、障害チケットを自動起票させました。
スクリプトを書く必要がなく、とても便利でした。

環境

Versions OS
Zabbix5.0 Amazon Linux 2
Redmine3.4 centos7.7

1.Zabbixの構築

先日の記事の環境を使用します。
監視対象のNW機器も追加されている状態です。
https://mitomito.hatenablog.jp/entry/2020/06/20/070000

2.Redmineの構築

公式から辿るとPlaybookが用意されていたので、ansibleで構築しました。
https://github.com/farend/redmine-centos-ansible

3.Redmaineの設定

初期設定は公式を参考にします。
https://redmine.jp/tech_note/first-step/

今回は以下を実施しました。


3-1. プロジェクトの作成

  • 名称に「zabbix」を入力、保存をクリック


3-2. RedmineAPIの有効可

  • 画面上部の[管理] -> [設定] -> [API] -> [RESTによるWebサービスを有効にする]
  • チェックを入れて保存をクリック

f:id:mst-it:20200622035410j:plain


3-3. APIアクセスキーのメモ

  • 画面右上の[個人設定] -> [APIアクセスキー] -> [表示]をクリック
  • 表示されたAPIアクセスキーをメモ

f:id:mst-it:20200622035750j:plain


3-4. トラッカーの作成、トラッカーIDのメモ

  • [管理] -> [トラッカー -> [新しいトラッカー]をクリック
  • 名称に「障害」、デフォルトのステータスに「新規」を入力し保存をクリック
  • 作成したトラッカー「障害」をクリックし、URLに含まれるトラッカーIDをメモ
    例:http://XX.XX.XX.XX/redmine/trackers/4/edit
     トラッカーID「4」

f:id:mst-it:20200622035955j:plain


4.Zabbixの設定

ZabbixとRedmineを連携させるための設定です。
追加されたメディアタイプ[Redmine]のWebhookの出番ですね。


4-1. マクロ{$ZABBIX.URL}の設定


4-2. メディアタイプ[Redmine]の設定

f:id:mst-it:20200622040300j:plain


4-3. ユーザ作成、ユーザのメディアタイプ追加

  • システム連携用のユーザを作成
  • メディアタイプ[Redmine]を追加


4-4. アクションの設定

  • アクションの実行条件に「ホストグループ 等しい router」を追加
  • 実行内容の次のメディアのみ使用に「Redmine」を追加
  • 実行内容の実行条件に「イベント未確認」を追加
  • 復旧時、更新時の実行内容に「障害通知送信済のユーザーすべてにメッセージを送信」を設定

f:id:mst-it:20200622040548j:plain


参考手順
https://www.zabbix.com/jp/integrations/redmine


5.自動起票

csr-1を落とし、Zabbixがping断を検知します。アクションも成功しています。


f:id:mst-it:20200622041259j:plain


Redmaineに移動すると、、、


f:id:mst-it:20200622042701j:plain


無事に自動起票されました。イェアアアアアア!!

回復も同じチケットに追記され大満足です。


f:id:mst-it:20200622042713j:plain


雑記

雑誌に載ってそうなシステム連携図っぽいことがやりたかった!
Playbookを流すだけでさくっとRedmineが構築できたのも気持ちいいし。
Ansibleをそれのみに使うのはもったいないので、次は。。。