【DevOpsDays Tokyo 2013】クラウド時代のモニタリングツール、UNIXの思想が息づくsensuチュートリアル
――Heavy Water Operations, LLC
sensuの基本機能
sensuがやっていることは、すべてのサーバーをチェックし、その結果から特定のイベントを発生させ、イベントハンドラに送るということである。チェックデータは、exitステータスを伴って標準出力または標準エラーに出力すればよい。exitステータスは、0=OK、1=Warning、2=Critical、3以上=未定義またはユーザー定義となっている。
sensuはNagiosと違い、クライアントのコレクションに対してもチェックを実行できるという。各クライアントには、サブスクリプションリストという形で名前やサービスの種類、役割などを記述する。この機能によって、1つのチェックリクエストで、複数のサーバー、特定のサーバー群などに対して一斉にチェックできる。つまりチェックのオーケストレートが可能ということだ。
イベントはどのように生成されるのだろうか。すべてのチェックリクエストのexitステータスは検査され、非0か、それは最初に発生したものか継続しているexitステータスか、メトリック値か、といったことが判別される。これらの検査によってイベントが生成される。
イベントハンドラの起動・記述は自在
イベントハンドラは、標準入出力によるパイプ、TCP/UDPのソケット、AMQP、Setなどによってチェック結果のイベントを受け取り、それに対するアクションを定義・記述する。ここで、Poter氏は、簡単なRubyスクリプトをスライドで紹介し、パイプチェックでイベントを受け取りメールを送信するやり方を説明した(写真)。
もちろん、メールを送るだけでなくさまざまなハンドラを記述できる。クラウドサービスも利用可能なので、TwilioのようなテレフォニーAPIサービスを利用して、イベントに応じた電話を発信したりショートメッセージを送信することもできる。ストレージサービスやログサービスなどと接続してもよい。
この記事は参考になりましたか?
- この記事の著者
-
中尾 真二(ナカオ シンジ)
フリーランスのライター、エディター。アスキーの書籍編集から始まり、翻訳や執筆、取材などを紙、ウェブを問わずこなす。IT系が多いが、たまに自動車関連の媒体で執筆することもある。インターネット(とは当時は言わなかったが)はUUCPの頃から使っている。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



