どーも!
FL.OPSの中の人「ウッシー」です。
最近は、すっかり涼しく過ごし易い季節になってきましたね。
秋と言えば、そうです!!!
「Zabbixの秋です!(笑)」
という事で、今回からは、
大好評の【Zabbixコラボ企画「第2弾 Redmineと連携しよう!!」】です。
皆さんもご存知とは思いますが、
「Redmine」はRuby on Railsで開発されたWebベースのプロジェクト管理ソフトウェアです!
もちろん「FL.OPS」でもタスクの管理等で使用しています!!
今回は「Zabbix」で検知した障害を「Redmine」へ自動登録したいと思います!
構成は、以下の通りです。
Zabbix:2.2.1
Redmine:2.3.0.stable
Ruby:1.9.3
それでは、開始です!!!
1.「Redmine」でAPIを使用するために以下の設定/確認が必要です。
画面左上の[管理]メニューから[設定]を選択し、
[認証]タブの「RESTによるWebサービスを有効にする」にチェックを入れ、[保存]します。
画面右上の[個人設定]メニューより、「APIアクセスキー」を確認します。
画面左上の[プロジェクト]より、
「Zabbix」で検知した障害を登録する「プロジェクトID」と「トラッカーID」を確認します。
今回は、「プロジェクトID:flops」「トラッカーID:6(インシデント管理)]」です。)
2.「Redmine」への登録をコマンドラインで実行できるよう、以下のサイトを参考にさせて頂き、
「Redmine」サーバ上にRubyスクリプトを準備します。
(Google先生!!感謝です!)
RubyスクリプトからRedmineにチケット登録する
<http://qiita.com/takashibagura/items/2f50b2f14f7db3a5581d>
3.このRubyスクリプトを実行するためのシェルスクリプトを「Redmine」サーバ上に作成します。
理由は、下記サイトの通り、
「Zabbix」の[アクション]では、Rubyスクリプトが実行できないためです。
<http://www.zabbix.jp/node/2448>
このシェルに「プロジェクトID」と「トラッカーID」を指定します!
4.シェルスクリプトを作成した「Redmine」サーバにZabbixエージェントをインストールします。
5.「Zabbix」にRedmine連携用のアクションを登録します。
「タイトル」には、「イベントID」と「ホスト名」を登録します。
「内容」には、「トリガーの名前」を登録します。
これで準備は終わりです。
では、確認してみましょう!!!
「アクションの実行条件」に登録したホストで障害が発生しました!
「Redmine連携用のアクション」も実行されています!!
「Redmine」側を見てみましょう!!
おぉ!!「FL.OPS」の「インシデント管理」が「1件未完了」となっています!!!
という事で、今回はここまで!!
ではまた!!!