Subscribed unsubscribe Subscribe Subscribe

Sensuについて

sysadmin

最近Sensuというモニタリングフレームワークを試している。見ての通り公式はオサレで今時な感じで、Nagiosのような古くささやZabbixのようなエンタープライズ臭はない。

Sensuの特徴は何かと考えると、こんな感じのことが浮かぶ。

  • 監視とメトリクス収集を一つの仕組みで行える。
    • ただし収集したデータの可視化はしない。
  • 設定がlightweight
    • 所定のディレクトリにJSONファイルをつっこんでおくと勝手にdeep mergeされるのでinclude指定とかいらないし、ポチポチやってデータベースに設定値を入れる必要もない。
      • キーがかぶったときにどうなるかとかは知らないので、設定がシンプルとは言わない。
      • JSONなのでコメントは書けない。コメントはChefのレシピ側に書こうという発想。
    • クライアント一覧は自動的に作られるので自分で能動的に登録する必要もない。
  • Chefで設定するためのcookbookが整備されてる。
    • 適当にattributesを設定して適用すればサーバを作れる。
  • Nagiosプラグインがそのまま使えるし、sensu-community-pluginsにもたくさんプラグインがある。
  • まともなAPIがついてる

サーバはRedisとRabbitMQを使っていてセットアップが大変かと思っていたけど、Chefレシピがちゃんと動いたのであっという間だった。

フロントエンドを外部に任せてモニタリングに集中したのは、餅は餅屋にという意味で良い決断だと思う。その分ユーザが設定すべきことは増えるけどChefとの連携とlightweightな設定で有る程度緩和されてる。

せっかく監視とメトリクス収集を同じ仕組みでできるようにしたのに、Nagios pluginと同じプロトコルを採用したために一つのチェック実行で両方が終わるようにならないのはもったいない気もする。

Graphiteにデータを送る際にgraphite mutatorを使うと、あっという間にサーバのCPUが100%になるので気をつけよう。extensionを使って書き直したものをPRしたので取り込まれればこっちを使った方が良いと思う。

それと、コミュニティの規模はまだだいぶ小さい。#sensuは140人弱くらいで発言数はかなり少ない。