君はOpenStack Monascaを知っているか

Posted on Dec 12, 2014

このエントリーは、OpenStack (2枚目) Advent Calendar 2014の12夜目担当作品です。

Monitoring as a Service

監視をサービスとして提供するって、どういうことでしょうか。

[Monitoring]
従来の監視。担当者が事前に監視項目を定義する。静的。

[Monitoring as a Service] 監視機能をサービスとして提供する。不特定多数のユーザーが、自分の監視したい測定項目を定義し、自分の好きなタイミングでチェックする。GUIはもちろん、APIでデータ取得できる。動的。

まあ、AWSのCloudWatchみたいなものです。先に言うべきでしたね、すいません。

このMonitoring as a Service、技術的なハードルは結構高いんです。刻々と上がってくるイベントをさばき、蓄積し、APIをバシバシ叩くユーザーリクエストに応えなきゃいけない。監視というと裏方のイメージがありますが、これは、対価をいただくに値する、立派なサービスです。

そこでOpenStackのMonitoring as a Service事情はどうでしょうか。一見、それを実現できそうなCeilometerがあります。ただ、もともとCeilomerは課金のための利用情報収集をする、という生まれなので、マルチテナントで、ユーザーが自らメトリックを定義し、チェックするという使い方に向いていません。ユーザー向けというより、管理者向けなんです。

そこでMonascaの登場です。まだ正式機能ではありませんが、いずれ昇格するのでは、と個人的に期待しています。

では、アーキテクチャーを見てみましょう。
MonascaArc

ひゃー、ワクワクしますがちょっと重いですね。特にイベントを処理するメッセージキュー、イベントを貯めるDBは工夫が要りそうです。現時点で、キューにはApache Kafka、DBにはカラムナーDBのVerticaや、時系列DBのInflux DBがサポートされています。正直、無理目のスタックです。

と思っていたら。

なんと、Monasca-Vagrantなんてものができているじゃありませんか。VagrantとAnsibleでサクっと環境を作れるとな。まじか。本当か。本当だった。1時間くらいでできた。

気をつけること

  • 動作実績のあるわたしの環境は、MacBook Pro Late 2013 / 2.3 GHz Intel Core i7、メモリ16GB、Yosemite。
  • Vagrantfileを見る限り、メモリ7GBと6GBのVMを作る。ここいじって動くかは要検証。
  • git cloneしたディレクトリ直下にansibleのrequirementファイルが置かれるので、そこで作業
  • vagrant upで2つのVM、devstackとmini-monが作られる、ここは時間と帯域がいるので、スタバな人は要注意

気をつけるのはこれくらいです。レッツトライ。

年末年始休暇のお楽しみが増えましたね。

これでわたしの2014年Advent Calendarシリーズは完了です。メリークリスマス & 良いお年を。