Glide Note

glidenote's blog

IRC BOTを作って仕事をさせるようにした

普段仕事中はIRCがコミュニケーションの中心で、私はWeeChatという CUIのIRCクライアントを使っていて、一日の7〜8割はターミナル上で過ごしてて、 全社員がIRC使ってるし、GitHubへのcommitログや、deployのログ、 NagiosのアラートもバンバンIRCに流れてくるのでIRCを見てる時間も結構ある。

サーバのラック番号とかmuninのグラフserver-status、Nagiosなどを確認するのに ターミナルから離れて、マウス使ってブラウザを操作して 探してたりすると集中が切れるので、IRC BOTを作って、URLを教えてくれるようにした。 URLをクリックすればブラウザが勝手に開いてくれる。

管理サーバが数百台でも、ブラウザのブックマークからmuninの一覧を出して、 該当サーバのURLを探すのも結構だるいし、そもそもキーボードから手を離すのは 最小限に抑えたい。

IRC BOTの作成にはcinchを利用して、 munin hogeとかstatus hogeみたいなのを発言するとbotが下記のように 必要な情報を教えてくれる。 業務バリバリの内容のためほとんど伏せてるので、何が表示されているか分かりにくいですが…

上の例が業務バリバリなので、コードが晒せないんですが、特定キーワードに反応するbotは cinchを利用すると簡単に作成出来て、たとえば下記のような感じで、瞬時に追い込みをかけてくれるbotはすぐに投入出来る。

ブラック企業ことわざを教えてくれるbotを 投入して業務を円滑に回したり、

その他、GitHubの応答が悪かったりした場合は、下記のような感じのbotを常駐させておいて、

status githubとか発言すると、GitHubのapiを叩いて状態を確認してくれる。

作ったIRC BOTはsupervisord経由で上げれば、簡単に常駐出来るし、 IRC BOTを通じてサーバに作業指示が出来るので、deploy hogebuild mogeとかで IRCからデプロイしたりやビルドを走らせたり、いろいろな使い方が想定出来ると思う。

IRC BOTが仕事をしてくれると、ターミナルから離れなくて済むので 自分の業務に集中出来ていろいろと捗る。

Comments