検索
ニュース

オープンソースのシステム監視/アラートツールキット「Prometheus 3.0」公開 7年ぶりのメジャーリリースで何が変わった?従来バージョンとの互換性をほぼ維持

Prometheusチームは、オープンソースのシステム監視およびアラートツールキットの最新版「Prometheus Version 3.0」を公開した。

Share
Tweet
LINE
Hatena

 Prometheusチームは2024年11月14日(米国時間)、広く使われているオープンソースのシステム監視およびアラートツールキットの7年ぶりのメジャーリリースとなる「Prometheus Version 3.0」を公開した。

 Prometheusは、Cloud Native Computing Foundation(CNCF)の最も初期の卒業プロジェクトの一つ。サーバのリソース状況やサービス状況などの指標を時系列データとして収集、保存する。指標情報は、ラベルと呼ばれるオプションのキーバリューペアとともに、記録された時刻のタイムスタンプ付きで保存される。

 Prometheus 3.0は、公式バイナリとコンテナイメージがダウンロード配布されている。安定性とともに従来バージョンとの互換性をほぼ維持しながら、以下のようなさまざまな新機能を提供している。

モダンな新しいUIに刷新、UTF-8をサポート

 Prometheus 3.0のハイライトの一つは、デフォルト(初期設定)で有効になる全く新しいユーザーインタフェース(UI)だ。

UIが刷新されたクエリページ(提供:Prometheusチーム)
UIが刷新されたクエリページ(提供:Prometheusチーム)

 PrometheusのUIは完全に書き直され、よりモダンなルック&フィールが導入された他、ツリービューのような新機能が追加された。モダンな技術スタックの採用により、将来のメンテナンスが容易になる見通しだ。

 ただし、Prometheusチームは「新しいUIはまだ使われ始めて日が浅いため、バグが残っている可能性もある」とした上で「バグを発見した場合は報告してほしい」と呼び掛けている。

新UIでは、UTF-8の指標名とラベル名をサポート(提供:Prometheusチーム)
新UIでは、UTF-8の指標名とラベル名をサポート(提供:Prometheusチーム)

Remote-Write 2.0

 新たな「Remote-Write 2.0」プロトコルでは、メタデータ、エグザンプラ(任意のデータを指標データに関連付ける方法)、作成時のタイムスタンプ、ネイティブのヒストグラムなど、多くの新要素のネイティブサポートが追加された。また、ペイロードサイズと圧縮、展開時のCPU使用率を削減するために、文字列インターニング(string interning)が使用されている。

UTF-8サポート

 Prometheus 3.0では、デフォルトでメトリック名、ラベル名、ラベル値でUTF-8文字を使用できる。

 現在、GoクライアントライブラリのみがUTF-8をサポートするよう更新されており、他の言語のサポートも間もなく追加される。

OTLPサポート

 Prometheus 3.0は、OpenTelemetryとの相互運用性向上のために、幾つかの新機能が追加されている。例えば、OTLP(OpenTelemetry Protocol)指標を受信する、OTLP Metricsプロトコルのネイティブレシーバーとして構成できる。OpenTelemetryは、システムの状態を示すさまざまなシグナル(ログやCPU、メモリなどの指標)の収集や送信を標準化するCNCFプロジェクト。

 Prometheus 3.0では、UTF-8サポートのおかげで、指標名やラベル名の煩わしい変更(ドットをアンダースコアに変更するような)なしに、OpenTelemetry指標の保存やクエリが可能だ。

ネイティブヒストグラム

 ネイティブヒストグラム(実験段階)は、従来のヒストグラムに代わるPrometheusの指標タイプであり、より高い効率と低コストを実現する。データセットに基づいてバケット境界を選択する(更新しなければならない可能性がある)必要がなく、指数関数的成長に基づいてあらかじめバケット境界が設定されている。

パフォーマンス向上

 Prometheusチームは、TSDB(Time series Database)モードにおけるPrometheus 2.0.0(7年前にリリース)、2.18.0(4年前にリリース)、3.0.0のprombenchマクロベンチマーク結果を以下のように示し、Prometheus 3.0でメモリとCPUの使用効率が向上していることをアピールしている。

Prometheusのメモリ使用効率(8CPU、49GB)(提供:Prometheusチーム)
Prometheusのメモリ使用効率(8CPU、49GB)(提供:Prometheusチーム)
PrometheusのCPU使用効率(8CPU、49GB)(提供:Prometheusチーム)
PrometheusのCPU使用効率(8CPU、49GB)(提供:Prometheusチーム)

今後の計画

 Prometheusチームは、Prometheusの機能強化計画の一部として、新しい、より包括的なガバナンス、より多くのOpenTelemetry機能と同プロジェクトとのさらなる互換性向上、ネイティブヒストグラムの安定性、さらなる最適化、より多くのSDK(Software Development Kit)とツールでのUTF-8サポートを挙げている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る