検索
連載

HubotとZabbixを連携すればワンオペ監視でも寂しくないチャットボットでチーム開発効率化入門(4)(2/2 ページ)

GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。今回は、Zabbixをインストールして監視設定を行い、Hubotと連携してサーバーからの障害検知をチャットに通知する方法などを紹介します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

ZabbixとHubotの連携

「hubot-zabbix-notifier」のインストール

 Hubotがインストールされているサーバーで以下のコマンドを実行し、「hubot-zabbix-notifier」をインストールします。

$ npm install --save hubot-zabbix-notifier

 external-scripts.jsonに下記を追加します。

["hubot-redmine-notifier", "hubot-zabbix-notifier"]

Zabbix側での通知設定

 障害発生時に実行するコマンドをZabbixをインストールしたサーバーに配置します。

$ sudo wget https://github.com/tenten0213/hubot-zabbix-notifier/raw/master/hubot_room_message -P /opt/
$ sudo chmod +x /opt/hubot_room_message

 Zabbixの「Configuration-Actions」画面で「Create action」ボタンを押し、新しくアクションを追加します。「Action」タブでは「Name」に任意の名前を設定してください。

 「Operations」タブでは「New」リンクを押し、実行する内容の設定を行います。「Operation type」では「Remote command」を選択し、「Target list」には監視対象のサンプルアプリケーションをデプロイしたサーバーを追加します。「Execute on」では「Zabbix server」を選択し、「Commands」に以下の内容を設定します。

echo "@all [{TRIGGER.SEVERITY}] {TRIGGER.NAME}:{ITEM.VALUE1}" | /opt/hubot_room_message -r 1 -o example.com

 @allは通知先です。今回は全員を対象にしました。「-r」オプションで通知先のルームを指定します。「-o」オプションではHubotがインストールされているサーバーを指定します。ポートはデフォルトで「8080」に設定されています。変更したい場合は「-p」オプションで指定してください。

サーバーからの障害検知をチャットアプリに通知

 サンプルアプリケーションをデプロイしたサーバーのWebサーバーを止めてみると、以下のように障害が発生していることが分かります。

 チャットアプリを確認すると、以下のようにHTTPサーバーがダウンしていることが通知されます。

チームに合わせたHubotを育てよう

 数回にわたってHubotの基本的な使い方、開発を想定し、さまざまなツールと連携した使い方を紹介してきました。

 開発に利用しているツールの通知や、メンバーとのコミュニケーションをチャットに集約することによってチームの状況やコンテキストを簡単に共有できるようになります。Hubotは拡張性が高いので、足りない機能や欲しい機能があれば公開されているスクリプトから追加したり、自分で作成したりすることもできます。

 例えば、下記のように実にさまざまなHubotの活用方法があります。

 チャットベースのコミュニケーションは、メールベースのコミュニケーションと比べ手軽で便利ですが、対面のコミュニケーションも大事だということを忘れないようにし、用途に合わせて活用してください。

 今回紹介した内容はほんの一例です。皆さんのチームに合わせたHubotを育ててみてはいかがでしょうか。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る