postfixやBINDなんかの各種デーモンや、MySQLやApacheなど死んでもらったらとっても困る各種プロセスなどをどうやって監視しようかなんてことを最近ぼんやりと考えている。

システム監視と称してやりたいこととしては、だいたい以下の3つか。管理とは言いつつも、見張ってくれるだけでよくて、自動的にリカバリーしてくれってところまでは贅沢しない(涙)ということで。

  • 死活管理
    • 気持ち的には「各種プロセスよ、死んでくれるな」と言いたいところだけど…、ま、もし死んだら通知して欲しい。
  • リソース管理
    • いきなりDiskFullとかになっちゃうとイヤだけど、毎日、ディスクの空き容量を眺めるのもだるい。他にも空きメモリ量(…正確な数字を追い始めると深みにはまりそうなので、ざっくりと)とか気になる数字はいくつかあって、ある種の閾値を設定しておいて、もし、超えたら教えて欲しい。
  • 流量(?)管理
    • Webサーバとかルータにどれくらいのパケットが流れているのか…というところも取っておきたいような気がする。何に使うかは微妙だけど、例えば、サーバの負荷が高くなっているときにソフトウェア/ハードウェアがおかしくて負荷が高くなっているのか、流入するリクエストが増えているのかくらいはさくっと切り分けられたらいいのかな…とか。

リソース管理や流量(?)管理に関しては、ヒストリーというか、数字の変化をグラフで見られるとうれしいかなぁとか思ってしまう。

結局、いろいろとWebを探してみたら、NagiosとMuninを両方入れた方がいいのかなぁという気がしてきた。Nagiosは「現時点」の状況を管理するのはできそうだけど、ヒストリー管理はあんまり協力じゃない気がするが(…って、使い込んでないだけなのかも…)Muninはほぼデフォルトに近い設定でも、いい感じのグラフを書いてくれそう(ただ、MuninはPerlモジュールをいろいろと入れないといけないのが面倒そうなのが辛い…)ただ、2本のアプリで監視するとなると、監視される側もちょっと面倒なのかもなぁと思ったりすると遠い目にならざるを得ず、ちょっとどうなんだろう。

一応、NTTデータのHinemosも運用管理できそうだけど、導入事例をちらっと見てみると、なんかちょっとジョブマネージャとして使われている事例が多いような感じ。「うち、ややこしいバッチをパズルのように組んだりしてないから、ジョブマネージャはとりあえずいらないんだけどなぁ」という状況なので、あんましフィット感はないのかも。Hinemosは、日立のJP1をオープンソースでリプレースするような用途にはいいのかもなぁ…という印象を受けた。まぁ、ある意味、NTTデータ出身のOSSらしいのかもしれず(汗)

あと、死活管理は、モノによってはロードバランサが担っている部分もあるわけで、その辺との棲み分けも考慮する必要がありそう。

私はmuninのことをどこでどう間違ったか【mumin】と覚えていて(汗)Google先生の検索結果に、例のムーミン谷の生き物がごろごろ出てきて、かなり途方に暮れていたとかいないとか(涙)いやはや、かなり痛い午後だった。…って、何の告白なんだよ。orz