はじめに
一連の sensu 関連の記事をざっくりまとめた。
構成
構成図
現在の構成をざっくり書くと以下のような構成。
使っている技術
メモ、気づいた点
sensu のインストール、設定
- ほぼドキュメント通り
- chef や puppet でのインストールが推奨されているが基本的なインストールは RPM パッケージを手動でインストールした
- 但し、監視対象の追加(設定とプラグインの配布)は chef の野良レシピ*1で配布することで面目を保っている*2
- 監視スクリプトは全てのホストで必要になるが、監視設定は sensu-server のみに設定する
- Redis や RabbitMQ の外部システムの面倒を見なければいけないのがちょっと不安(運用実績が無無いので)
sensu の動作等
- sensu-client から sensu-server へメトリクスをプッシュ(RabbitMQ へプッシュ)しているのでクライアント追加による sensu-server への設定がほぼ不要(嬉しい)
- 通知やグラフ化等のツールを自由に選ぶことが出来る
- JSON が共通言語(監視結果や動作ログ)である
- プラグインで機能を追加していくという設計と Ruby で実装されているという点で sensu の動作自身を追うことが出来る
- sensu-server を再起動するとなぜか sensu-api が落ちることがある
- 設定ファイル名は自由に付けても動くのは嬉しいけど色々と迷う
- プラグインを書きたい場合には sensu-plugin を入れておきたい
- 同じくハンドラを書きたい場合にも sensu-plugin も入れておきたい
ハンドラスクリプトを作ってみて
〆
〆の言葉
- 引き続き、気づいたら書いていく
- 何度か言ってるが sensu イイと思います!
todo
- Graphite ととの連携
- ハンドラスクリプトを色々と作ってみる