やったこと
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の有効可
3-3. APIアクセスキーのメモ
3-4. トラッカーの作成、トラッカーIDのメモ
- [管理] -> [トラッカー -> [新しいトラッカー]をクリック
- 名称に「障害」、デフォルトのステータスに「新規」を入力し保存をクリック
- 作成したトラッカー「障害」をクリックし、URLに含まれるトラッカーIDをメモ
例:http://XX.XX.XX.XX/redmine/trackers/4/edit
トラッカーID「4」
4.Zabbixの設定
ZabbixとRedmineを連携させるための設定です。
追加されたメディアタイプ[Redmine]のWebhookの出番ですね。
4-1. マクロ{$ZABBIX.URL}の設定
4-2. メディアタイプ[Redmine]の設定
- [redmine_access_key] = 3-3の値
- [redmine_project] = 3-1の値
- [redmine_tracker_id] = 3-4の値
- [redmine_url] = http://XX.XX.XX.XX/redmine/
4-3. ユーザ作成、ユーザのメディアタイプ追加
- システム連携用のユーザを作成
- メディアタイプ[Redmine]を追加
4-4. アクションの設定
- アクションの実行条件に「ホストグループ 等しい router」を追加
- 実行内容の次のメディアのみ使用に「Redmine」を追加
- 実行内容の実行条件に「イベント未確認」を追加
- 復旧時、更新時の実行内容に「障害通知送信済のユーザーすべてにメッセージを送信」を設定
参考手順
https://www.zabbix.com/jp/integrations/redmine
5.自動起票
csr-1を落とし、Zabbixがping断を検知します。アクションも成功しています。
Redmaineに移動すると、、、
無事に自動起票されました。イェアアアアアア!!
回復も同じチケットに追記され大満足です。
雑記
雑誌に載ってそうなシステム連携図っぽいことがやりたかった!
Playbookを流すだけでさくっとRedmineが構築できたのも気持ちいいし。
Ansibleをそれのみに使うのはもったいないので、次は。。。