連載
» 2017年03月07日 05時00分 UPDATE

Sensuで始めるクラウド時代のシステム監視(2):Sensu CoreとSensu Enterpriseの違いを理解する

新たなクラウド監視ツールとして注目され始めている「Sensu」の活用方法を解説する本連載。今回は、Sensu CoreとSensu Enterpriseの違い、他の監視サービスとの比較について説明します。

[堀内晨彦,@IT]
「Sensuで始めるクラウド時代のシステム監視」のインデックス

連載目次

 前回は「Sensu」の概要と基本的な構成、監視の仕組みを説明しました。監視クライアント(sensu-client)の自動登録機能を備えることや、「Chef」などの構成管理ツールとの高い親和性など、他の監視プラットフォームと比較して、クラウド環境に適していることがお分かりいただけたと思います。 今回は、OSS(オープンソースソフトウェア)版の「Sensu Core」と有料版の「Sensu Enterprise」の違い、「Datadog」「Mackerel」など、他の監視サービスとの比較について説明します。

2つのSensu、OSSのSensu Coreと有償のSensu Enterprise

 SensuはもともとOSSとして開発されてきましたが、2015年4月にEnterprise版が公開され、有料サービスの提供も開始されました。OSS部分は“Sensu Core”と呼ばれるようになり、現在も活発に開発が進められています。

 Sensu EnterpriseはSensu Coreをベースに開発されており、幾つかの追加機能と企業レベルのサポート、有料トレーニング(通常999ドル)への参加権などが含まれています。サポートには4時間以内に1次次回答、翌営業日中に解決のSLA(Service Level Agreement:サービス品質保証)が設定されています。さらに、5000ドル/月または5万ドル/年を支払うと「プレミアムサポート」が得られるようになり、電話対応、専属の担当者、24時間365日対応、1時間以内の回答などにアップグレートされます(画面1)。

画面1 画面1 Sensuのサポートメニュー。5000ドル/月または5万ドル/年を支払うとプレミアムサポートが得られる

 Sensu Enterpriseの料金は、クライアント(sensu-client)50台で50ドル/月からとなっており、年払いで42ドル/月に割引されます。また、クライアントの台数によるボリュームディスカウントも設定されています(クライアントが5000台以上の場合は50%オフ、1万ドル/月の支払いでクライアント台数が無制限になります)。

 技術面では、Sensu CoreはRubyで動作するのに対し、Sensu EnterpriseはJava(JRuby)で動作するという違いがあります(sensu-clientは共通で、Sensu CoreからSensu Enterpriseへの移行が可能です)。その他の細かな違いについては「Sensu Core vs Sensu Enterprise」をご覧ください。

Sensu Enterpriseの主な機能

●Enterprise Console

 Sensu Enterpriseでは「Uchiwa」ベースの管理ダッシュボード「Enterprise Console」が提供されます。Enterprise Consoleには「Heads Up Display(HUD)」という画面が追加されており、障害の発生状況や履歴をグラフとウィジェットで一目で確認できるようになっています(画面2)。

画面2 画面2 Enterprise ConsoleのHeads Up Display(HUD)。Uchiwaに比べてカラフルで分かりやすい(出典:Sensu Enterprise

 また、LDAP(Lightweight Directory Access Protocol)やGitHubアカウントなどによるログインと、アクセスコントロール、「Audit Logging」と呼ばれるダッシュボード上での操作を記録する機能などがサポートされています。

●ビルトインのサードパーティー連携

 Sensu Enterpriseには、あらかじめ幾つかのプラグインが同梱されています。ここでは、通常の監視作業でよく使われる、便利なプラグインを紹介します。


  • Eメール:障害発生時に指定したテンプレートでアラートメールを送信する
  • Slack:「Incoming Webhook」を使って、指定したチャンネルにアラートメッセージを送信する
  • SNMP:障害発生時に指定したSNMP(Simple Network Management Protocol)マネジャーにトラップを送信する
  • AWS EC2:Amazon Elastic Compute Cloud(Amazon EC2)のインスタンス停止時などにsensu-clientの登録を解除する

Sensu has detected a <%= @event[:check][:name] %> monitoring event.
Please note the following details:
 
Client: <%= @event[:client][:name] %>
Check: <%= @event[:check][:name] %>
Output: <%= @event[:check][:output] %>
 
For more information, please consult the Sensu Enterprise dashboard:
https://sensu.example.com/#/client/<%= @event[:client][:datacenter] %>/<%= @event[:client][:name] %>?check=<%= @event[:check][:name] %>
▲Eメールのテンプレートのサンプル。中身はERB(Embedded Ruby)形式で記述されており、障害の内容はSensuから@eventオブジェクトで渡される

 この他、「InfluxDB」などの時系列データベースにメトリクスを送信するプラグインや、「Chef」などの構成管理ツールに基づいてsensu-clientを登録解除するプラグインなどがあります。

 Sensuプラグインのコミュニティー「Sensu Plugins」で提供されているものもありますが、ビルトインのプラグインは簡単に使い始めることができ、公式サポートもあるので安心です。

●コンタクトルーティング

 Sensu Enterpriseでは「コンタクトルーティング(Contact Routing)」と呼ばれる機能が提供されています。これは、監視項目ごとに障害が発生した際の通知先を選択できる機能です。通知手段には電話やメール、Slack、Twitterなどを使用でき、複数の通知先を設定することも可能です。

 コンタクトルーティングを使うことで、障害の緊急度に応じて通知先を変更したり、切り分けや復旧に必要な知識や技術に応じて対応するチームを選択したりすることができますカスタマーサポートチーム、運用チーム、開発チームなど)。

 Sensu Coreでも、通知に使用するプラグインを作り込むことで実装できそうですが、最初からさまざまなチャンネル(通知手段)に対応しているのはうれしいですね。残念ながら、監視結果に応じた通知や、経過時間に応じたエスカレーションには対応していないようです。

DatadogやMackerelなどの監視サービスとの比較

 近年、DatadogやMackerelなど、サービス型の監視プラットフォームに人気が高まっています。監視クライアントの自動登録、クラウドでの利用に適した設計などはSensuと同じですが、監視サーバなどを構築する必要がなく、それらがサービスとして提供されているのが大きな特徴です。

 DatadogやMackerelでは、標準で各種メトリクス(CPU使用率など)の収集、プロセスとログの監視、Amazon Web Services(AWS)との連携機能が提供されています(画面3)。メトリクスはダッシュボード上でグラフとして確認できるだけでなく、設定したしきい値に応じてメールやチャットなどでアラートを通知することができます(Sensuの場合、監視を行うプラグインとメトリクスを収集するプラグインは別です)。

画面3 画面3 Mackerelのダッシュボード。サービスでまとめてグラフを閲覧できる(出典:Mackerel

 最後に、Sensuとこれらのサービスを比較したときのメリット/デメリットを整理しておきます。


Sensuのメリット

Sensu Enterpriseの場合でも、比較的安価に監視プラットフォームを構築できる

  • 1ホスト当たりの料金は、Datadogは18ドル/月から、Mackerelは1800円/月から

メトリクスなどの保存期間やデータ量に制限がない

  • Datadogは、独自のメトリクスが100項目まで
  • Mackerelは、メトリクスは200項目、監視は100項目まで


Sensuのデメリット

監視サーバやミドルウェアを構築、運用する必要がある

  • Sensu Enterpriseの場合でも、RabbitMQやRedis、sensu-serverなどが必要

DatadogやMackerelの方がダッシュボードの機能が優れている

  • Datadogは、グラフの描画が美しく、テンプレート化することも可能
  • Mackerelは、障害の履歴をタイムライン形式で確認できる


終わりに

 今回は、Sensu CoreとSensu Enterpriseの違いについて説明しました。また、DatadogやMackerelなどの監視サービスと比較して、監視プラットフォームを構築/運用するコストは必要になりますが、料金や自由度の面でメリットがあることをご理解いただけたと思います。

 Sensu Enterpriseは2週間のトライアルが可能です。興味のある方はSensuの「Get Started」ページから入手できますので、ぜひ試してみてください。次回からは、いよいよSensu環境の構築をチュートリアル形式で解説します。

筆者紹介

堀内 晨彦(ほりうち あきひこ)

生まれも育ちも香川県。香川大学大学院 情報科出身。学生時代は研究の傍ら、勉強会やコミュニティー活動に積極的に参加し、「Sensu Deep Talks」などを主催。2016年4月からは上京し、ICT企業でベアメタルクラウドの開発に従事。趣味は料理とカメラ。

Webサイト:https://hico-horiuchi.github.io/


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。