君はOpenStack Monascaを知っているか
このエントリーは、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の登場です。まだ正式機能ではありませんが、いずれ昇格するのでは、と個人的に期待しています。
では、アーキテクチャーを見てみましょう。
ひゃー、ワクワクしますがちょっと重いですね。特にイベントを処理するメッセージキュー、イベントを貯める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シリーズは完了です。メリークリスマス & 良いお年を。