Hubotを使ってるんだけど、自分的ユースケースについて。



Hubot

説明するまでもない気がするので細かい説明は割愛。HubotはGitHubが開発したチャットbotというかチャットフレームワーク。hipchatやIRCなどに住ませて、mentionを受け取って任意の処理を行う事ができる。mentionを受け取ったときの処理はCoffeeScriptで書く。このようなボットを活用した開発はChatOpsなどと呼ばれる。

連携

自分のところではNewRelic、HipChat、Jenkins、munin、Sensu、サーバ管理ツール、本番環境のサーバと連携させている。
NewRelic、HipChatについてはhubot側の設定で連携できる。その他は自分でapiを叩いたり、sshでコマンドを投げたり、mentionの内容から画像URLを特定する…などという処理をプラグインに書いている。

スマホからできたらうれしいオペレーション

いわゆるchatops、つまり普段からボットに指示を出してオペレーションを行うってこともやってはいるんだが、俺的に嬉しいのは外出時にオペをしたいとき。例えば酒飲んでるときにアラートが鳴ったとか。PC開いてiphoneでwifi飛ばしてvpnつないで…とか酒の席でやりたくないじゃん?
で、hubot、こいつがチャットに住んでるおかげで、一時対応的なオペレーションはスマホからできるようになった。チャット経由で操作することによって、アラートに対して誰がどう対応したかがわかるのも良い。この仕組み作った翌日の早朝に、まるで示し合わせたかのようにようわからん閾値越えアラート飛んできたんだけど、布団の中から監視止めたよ。

例えばこんな処理を組み込んでいる。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Stashに入っているホスト一覧を出力
check kanshi

# 監視を止める/開始する
check kanshi HOSTNAME

# プロセスを起動する(例:httpd)
start httpd HOSTNAME

# プロセスを停止する(例:httpd)
stop httpd HOSTNAME

# プロセスを確認する
ps PROCESS HOSTNAME

# muninのグラフを貼付ける
show cpu|disk|query|memory|la|slow HOSTNAME

# NewRelicのサマリを出力
newrelic

例:クエリ数のグラフをHipChatに貼付ける

「show query HOSTNAME」と送ってあげると、muninのグラフ画像を貼ってくれる。

hubot_query

例:NewRelicのサマリを出力する

「newrelic」とmentionを送ってあげると、newrelicのエージェントを仕込んだwebサーバのレスポンスタイムなどを教えてくれる。


hubot_new

おわり

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Set your Twitter account name in your settings to use the TwitterBar Section.