Nagiosの問題点から生まれたsensu
sensuはオープンソースのモニタリングフレームワークである。「Nagios」を知っている人なら、それに近いソフトウェアといえば分かりやすいだろう。サーバーの死活監視や各種イベント監視を自動化してくれるシステムだが、Nagiosにない特徴を備えている。また、クライアントの自動登録やサーバーアップと同時にモニタリングを開始するなど、自動化の機能が強化されている。これは、スタティックな構成だけでなくEC2のようなエラスティックにサーバー構成が変化するような環境でも、面倒なコンフィグレーションが必要ないということだ。
ChefやPuppetといった構成管理・コンフィグレーションのフレームワークとの相性がいいのも特徴だ。他にもネットワークが中断してもモニタリングを続けられること、Nagios Checkを簡単にマイグレートできる(Nagios資産を活かせる)こと、APIによってダッシュボード等フロントエンドとも連携しやすいことなどの特徴もある。というのも、sensu自体が、Nagiosの問題点を解決するために開発が始まったからだ。
Poter氏によれば、sensuのプロジェクトは、2011年7月11日、Sonianという会社でPoter氏と友人のエンジニアの思いつきで始まったサイドプロジェクトとのことだ。SonianではNagiosを使っており、同時にEC2などのパブリッククラウドサービスも活用していた。特にサーバー構成など変更が頻繁になるとNagiosの弱点が露呈し、なんとかしなければ、という状況だったようだ。しかし、問題に適合するツールやシステムがなかったので、自分たちで開発しようとsensuプロジェクトが始まった。幸いにも会社のマネジメントの説得にも成功し、ほどなく正式なプロジェクトとなったという。
sensuの名前の由来
Sonian社が最初のケーススタディとなってsensuを2か月運用してみたところ、誤検知を減らし、管理コストもダウンするなど効果があがった。そして、現在はMITのライセンスでオープンソースとして公開している。
「sensu」の名前の由来だが、まず、Poter氏が日本に来たとき「竹」という素材の柔軟性、用途の広さに感動し、加工した竹を組み合わせることで、実にさまざまな日用品が作れることに驚いたこと。そして、UNIXの設計思想の一つである、小さな機能やツールを組み合わせて大きな機能や用途にフィットした機能を実現するというソフトウェアツールズという思想にも一致するというインスピレーションから「扇子(sensu)」となったそうだ。