Hipchat 関係でググってる時に、Hubot を使ってサーバー監視をしてる仕組みを見つけた。
http://www.publickey1.jp/blog/13/githubboxenhubotdevops_day_tokyo_2013.html

うん、これは非常に面白い。前にも一度見ているのだけど、今回はすごく惹かれた。

今の職場の環境は、自作ツールの YaguraPIEX でサーバー監視してるのだけど、 PIEX はともかく Yagura は作りが中途半端なのでなかなか活用しきれてない。かといって PIEX はライセンスが高いのですべてのサーバーで利用するなんてことはなかなかできない。

見た目綺麗なグラフのライブラリを使ってるので、もう少し何とかしたいところだったけど。
Yagura

現在の Yagura の仕組みとしては、Perl製のプログラムがWindowsのサービスで立ち上がっていて、

  • Perl製のプログラムがwindowsのタスクで終了せずに立ち上がったまま
  • Yagura 内部のタイマーで各種サーバーからデータを取得
  • 取得データはプラグイン式で後から柔軟に増やせる
  • 取得したデータはHTML形式で吐き出されて Yagura 内部のHTTPサーバー経由で閲覧できる

ってな感じ。

これを上記のURLを参考にして、

  • データはHTTP経由でGoogleスプレッドシートに保存
  • データは各サーバーに設置するエージェントが送信
  • エージェントは Windows:VBSLinux:Bash で実装
  • 各種データ取得用プラグインはGoogleDriveにファイルとして保存
  • 各種データ取得用プラグインは Windows:WMILinux:Perl(なるべく標準モジュール) で実装
  • 各プラグインはエージェントが必要に応じてダウンロードして実行
  • 取得したデータは定期的に GoogleChart を使ってグラフ化して Hipchat へ送信
  • プラグイン別にしきい値を設定してしきい値を超えたら Hipchat へ送信でnotifyとcolorを変更する
  • GoogleAppsで Hipchat を監視してコマンドが入力されたら Hipchat へ返答する
  • 返答内容は全体の概要やステータスと各プラグイン別の返答とする

ってな感じで実装してみようと思う。

そんでもって、相変わらずプロジェクト名はどうしようかなと迷うんだけど、「張り込み」の英単語で「 Obbo 」としてみた。
ぐぐってみてもバッティングしそうな感じしないし。

ってことで、 Obbo のリポジトリ だけ作ってみたので、時間とやる気があるときに一気に作ってみる予定。

いつ作れるかわからないけど、こういうの思いついた時には文章にしておかないとすぐ忘れちゃうから、とりあえずメモ程度に。現実逃避を兼ねて。