Kubernetesの監視に使われることの多いオープンソースのモニタリングツールキット「Prometheus」がCloud Native Computing Foundation(CNCF)のインキュベーションを卒業した。インキュベーション段階(Incubating Stage)のプログラムから卒業段階(Graduation Stage)に入るためには、受け入れが進み、構造化されたガバナンスプロセスについて文書化し、コミュニティの持続性と包括性に強くコミットしている必要がある。Promethusはこの基準を満たしていると判断され、卒業の運びとなった。
Prometheusは2012年にSoundCloudが開始したプロジェクトで、2016年にKubernetesに続く第2のプロジェクトとしてCNCFに加わった。オープンソースで開発され、ライセンスはApache License 2が採用されている。このシステム・サービス監視システムは、あらかじめ設定した監視対象から一定の間隔でメトリクスを収集して評価し、結果を表示する。そして、条件が当てはまった場合にアラートを送信する。Kubernetes環境などでは、監視対象が動的に変化する中でのサービスディスカバリと監視をサポートする。
Prometheusは以下のような特徴をもつ。
- メトリック名とkey/valueペアのセットで識別される時系列データが特徴の多次元データモデル
- 柔軟性のあるクエリ言語を使った多次元性の活用
- 分散ストレージへの非依存、自律的な単一のサーバノード
- HTTP経由のプルモデルを使った時系列のコレクション
- 中間ゲートウェイを介した時系列のプッシュのサポート
- サービスディスカバリまたは静的構成を介したサービスのディスカバリ
- グラフ化とダッシュボードの複数モード対応
このように聞くと複雑そうに思えるが、Red HatのプリンシパルソフトウェアエンジニアFrederic Branczyk氏がブログに書いているように、Prometheusは設定が容易で、一般的なハードウェア1台で処理できるサンプルデータを毎秒何十万にもスケールでき、コンテナが頻繁に起動/停止するような動的な環境に向いたアーキテクチャを採用している。
CNCFのインキュベーションプログラムとなった後、開発者はストレージバックエンドを完全に書き直し、安定性も改善した。開発チームはまた、ドキュメンテーション作成も進め、容易に採用してもらえるようにした。
Prometheusプロジェクトの共同創設者Julius Volz氏は、「CNCFの一部となってから、Prometheusはモダンなインフラスタックの漸進的な技術となった。企業が重要なアプリケーションを監視する方法を方向づけている」「Prometheusの卒業を誇りに思っており、今後もCNCFと協業してコミュニティの維持と成長を図りたい」と述べている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。