普段仕事中は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 hoge
、build moge
とかで
IRCからデプロイしたりやビルドを走らせたり、いろいろな使い方が想定出来ると思う。
IRC BOTが仕事をしてくれると、ターミナルから離れなくて済むので 自分の業務に集中出来ていろいろと捗る。