Sensuとは
Sensuとは、オープンソース(MITライセンス)の監視フレームワークである。
sensu - http://sensuapp.org
こちらのエントリにSensuの概要からインストールまで詳しく説明されているので、非常に参考になった。
Sensuを使って自由度の高い監視システムの構築を行う方法 | Ryuzee.com http://www.ryuzee.com/contents/blog/6843
さまざまな監視フレームワーク
Sensuの他にも、監視フレームワークにはさまざまな種類がある。有名どころだと、ZabbixやNagios、Muninなどがあげられる。
Zabbix - http://www.zabbix.com/jp/
Nagios - http://www.nagios.org
Munin - http://munin-monitoring.org
Sensuの特徴
- Nagiosの問題点を解決するために生まれた監視フレームワーク
- シンプルで融通が効き拡張性があるモニタリングフレームワーク
- Chefやpuppetで簡単に導入できる
- クラウドを意識して開発されている
- コミュニティが活発
- コードはGithubでホストされ、テストコードは高いカバレージ。TravisCIで継続的インテグレーションを実施
- Nagiosのプラグインを再利用可能
- 設定はすべてJSONファイルで行う
Sensuを使う際に必要そうな知識(技術)
Sensuの構造
-
Handler : Handlerはメールを送信したり、他のシステムにデータを送信したりといったアクションを実施するために使われる。
-
Checkスクリプト : Checkスクリプトは、例えば、Apacheのプロセスの死活監視を行ったり、ロードアベレージなどデータの収集を行うことが可能。
※ HandlerやCheckスクリプトは、どのような言語でも記述できる。
-
Server : Checkを実行するにあたっての準備やCheckの結果の処理やイベントのハンドリングを行う。
-
Client : 実際にCheckが行われる監視対象上にインストールする。Clientはチェック実行のリクエストを受けたり、Checkを実行したり、ServerにCheckの結果を送信。Client単体で定期的にチェックを実施するように制御することも可能。
-
API : Sensuのデータに対するRESTベースのAPIを提供。このAPIをコールすると登録済みのClientの情報や現在のイベントなどを取得可能。次に紹介するDashboardはAPIを使って実装されている
-
Dashboard : SensuのWebベースのダッシュボードで、Checkの結
果NGだったものを表示したりすることが可能。ただし機能は少ない。
※ http://www.ryuzee.com/contents/blog/6843 から引用
Sensuはこういう人に向いている
Sensuは自由に監視システムを構築したい人に向いている。また、今後も新しいソフトウェアをどんどん導入していく予定で、それを監視する予定の人にも向いている。Zabbixなどようなオールインワンを好む人には向いていない。
参考にしたWebサイト
http://codezine.jp/article/detail/7442
http://u0sa0.hateblo.jp/entry/2014/05/18/201755
http://www.slideshare.net/s-cubism-recruit/sensu-graphite20140205