新たなクラウド監視ツールとして注目され始めている「Sensu」の活用方法を解説する本連載。今回は、2017年8月に米国で開催された「Sensu Summit 2017」の内容を紹介します。
前回はヤフーの北田氏に、大規模環境で「Sensu」を活用して大量のメトリクスを収集する際のノウハウを紹介していただきました。
今回は、2017年8月15日、16日の2日間、米国ポートランドで開催された「Sensu Summit 2017」の内容について、発表された資料や動画から得られた情報をまとめて紹介します(残念ながら、筆者は参加できませんでした)。Sensu Summit 2017の概要は以下の公式ブログで、発表の動画はYouTubeで確認できますので、ぜひご覧いただければと思います。
まずは、Sensu,Inc.のCTO(最高技術責任者)であるSean Porter氏の発表から、Sensuのこれまでの歩みを振り返ってみます。
Sensuはオートスケールなどの動的な環境の変化や、スケールアウトによる性能拡張にも対応できるように、最初からクラウドやDevOps、「Infrastructure as Code(IaC)」に適した監視プラットフォームとして開発されました。2011年11月にオープンソースソフトウェア(OSS)として公開されてから約6年が過ぎ、2017年8月までに1300人以上の開発者から2万7000回以上のコミット(変更)が行われ、月間で約50万回ダウンロードされています。
2017年7月には、ついに「Sensu 1.0」が公開されました(バージョン0.29の再リリース)。本連載では紹介できませんでしたが、2017年にリリースされた新機能もたくさんあります。
また、Sensu 1.xに向けて、以下の機能が提供されることが宣言されました。
「Check Hooks」は、2017年9月にリリースされたSensu 1.1で実装されました。「Nginx」のプロセスを監視するCheckを例に、具体的な設定を紹介すると下記のようになります。
{ "checks": { "nginx_process": { "command": "check-process.rb -p nginx", "hooks": { "critical": { "command": "sudo /etc/init.d/nginx start" }, "non-zero": { "command": "ps aux" } } } } }
この設定例では、監視コマンドの実行結果が「Critical(終了ステータスが2)」の場合にNginxを再起動し、それ以外(終了ステータスが0と2以外)の場合は「ps」コマンドの実行結果を返します。これで定型の対処については自動で実施できるようになり、復旧の手間などが削減できそうです。
実は、筆者も2014年12月に「SensuのhandlerとしてAnsibleを使う」ということを試しており、ようやく同様の機能が公式に実装されました。Sensuの進化を実感できて、うれしく思っています。
Sensu Summit 2017では、Sensu,Inc.の副社長であるGreg Poirier氏から「Sensu 2.0」についてアナウンスがありました。
Sensu 2.0では、構築・管理・運用が「Easier(簡単)」になるということが強調されました。そのために“Sensu史上最大の変更”となりそうで、以下のように実装と構成が大きく変更されます(DockerやKubernetesが台頭してきているためか、コンテナへのパラダイムシフトを意識しているようです)。
また、全体のアーキテクチャも以下の図1のように変更され、「etcd」を中心とした分散システムに進化します。
「sensu-server/sensu-api/RabbitMQ」に相当する機能とアセット管理が1つに統合され、合意プロトコルを使って全てのSensu 2.0 Backendで同じ機能、状態を提供できるようになります(Consulやetcdなどで使用されている「Raft」という分散合意アルゴリズムが利用されると予想しています)。
実装と構成は大きく変更されることになりますが、プラグインはこれまで通りに使えることがアナウンスされており、新しいSensu 2.0を理解して使いこなせるようになれば、とても便利になりそうです。
Sensu 2.0は2017年8月からのプライベートβ、2018年1月からのオープンβの後、2018年7月(Sensu 1.0のリリースからちょうど1年後!)にリリースされる予定です。
最後に、筆者が主催する「Sensu勉強会(Sensu Talks)」について紹介させてください。
Sensu勉強会は、Sensuを運用している方やプラグインを開発しているエンジニアが集まり、Sensuそのものやプラグイン、他のツールとの連携や運用ノウハウを共有することを目的としています。
2015年に2回開催し、それぞれ40人ほどのエンジニアの方々に参加していただきました。しばらく開催できていませんでしたが、Sensu 1.0のリリースやSensu 2.0の発表もあり、日本でのSensuのユーザーを増やし、コミュニティーを大きくするために開催を予定しています。
興味のある方はconnpassの「Sensu Talks」より、グループに参加してください。開催の詳細が決定次第、グループのメンバーに向けて発表者と参加者の募集を連絡させていただきます。
今回は、Sensu 1.0/2.0の概要と、今後どうなっていくのかを説明しました。Sensu 1.0で実用的な機能が出そろい、Sensu 2.0ではもっと簡単に構築、管理、運用ができるように大きく進化する予定です。
また、本連載では約1年にわたり、前半ではSensuの概要と構築方法などを説明し、後半ではヤフーの渡邉氏、北田氏にプライベートクラウド環境の運用ノウハウを紹介していただきました。Sensuに興味を持っていただける機会になったり、導入の一助になったりすれば幸いです。
長期にわたってご愛読いただき、どうもありがとうございました。次は、Sensu勉強会でお会いしましょう!
生まれも育ちも香川県。香川大学大学院 情報科出身。学生時代は研究の傍ら、勉強会やコミュニティー活動に積極的に参加し、「Sensu Deep Talks」などを主催。2016年4月からは上京し、ICT企業でベアメタルクラウドの開発に従事。趣味は料理とカメラ。
Webサイト:https://hico-horiuchi.github.io/
Copyright © ITmedia, Inc. All Rights Reserved.