Prometheus 3.0 ベータ版リリース
2024年9月11日筆者: Prometheus チーム
Prometheusチームは、Prometheusバージョン3.0-betaの提供を発表できることを誇りに思います!こちらからダウンロードできます。ベータ版のリリースは伝統的に、本番環境の重要なシステムにPrometheus 3.0-betaをインストールすることは推奨しませんが、皆様にテストしてバグを見つけていただきたいと考えています。
一般的に、破壊的変更は非推奨の機能フラグの削除のみです。Prometheusチームは、後方互換性を確保し、既存のインストールを破壊しないように懸命に努力しました。そのため、以下に説明するすべての新機能は、既存の機能の上に構築されています。ほとんどのユーザーは、設定を変更せずにPrometheus 3.0をすぐに試すことができるはずです。
新機能
Prometheus 2.0がリリースされてから7年間で7500を超えるコミットがあり、個々の新機能や修正をすべてリストアップすることはできませんが、注目したい大きな、そして輝かしい破壊的変更がいくつかあります。コミュニティの皆様全員にそれらを試していただき、見つかった問題を報告していただく必要があります。より多くのフィードバックを得ることで、最終的な3.0リリースがより安定したものになります。
新しいUI
Prometheus 3.0のハイライトの1つは、デフォルトで有効になっている真新しいUIです
UIは完全に書き直され、煩雑さが減り、よりモダンなルック&フィールになり、PromLensスタイルのツリービューなどの新機能が追加され、よりモダンな技術スタックを使用することで今後のメンテナンスが容易になります。
新しいUIの詳細は、PromLabsブログのJuliusによる詳細記事でご確認ください。ユーザーは、old-ui
機能フラグを使用することで一時的に古いUIを有効にできます。新しいUIはまだ実戦でテストされていないため、バグが残っている可能性も十分にあります。何か見つけた場合は、GitHubで報告してください。
リモート書き込み 2.0
Remote-Write 2.0は、前バージョンのプロトコルを改良し、メタデータ、エグゼンプラ、作成タイムスタンプ、ネイティブヒストグラムなど、多数の新しい要素をネイティブでサポートしました。また、文字列インターニングを使用して、圧縮・解凍時のペイロードサイズとCPU使用量を削減します。詳細はこちらをご覧ください。
OpenTelemetryのサポート
PrometheusはOpenTelemetryメトリクスを保存する際のデフォルトの選択肢となることを目指しており、3.0にはOpenTelemetryメトリクスデータのストレージバックエンドとしてさらに優れるようになるいくつかの大きな新機能が含まれています。
UTF-8
Prometheusはデフォルトで、バージョン2.xと同様に、メトリクス名、ラベル名、およびラベル値にすべての有効なUTF-8文字を使用できるようにします。
ユーザーは、メトリクスプロデューサーがUTF-8名を渡すように設定されていることを確認する必要があります。どちらかの側がUTF-8をサポートしていない場合、メトリクス名は従来のアンダースコア置換方式を使用してエスケープされます。PromQLクエリは、UTF-8メトリクスを取得するために新しい引用構文で記述するか、ユーザーが__name__
ラベル名を手動で指定できます。
すべての言語バインディングがUTF-8のサポートで更新されているわけではありませんが、主要なGoライブラリは更新されています。
OTLPインジェスト
Prometheusは、OTLP Metricsプロトコルのネイティブレシーバーとして設定でき、/api/v1/otlp/v1/metricsエンドポイントでOTLPメトリクスを受信できます。
ネイティブヒストグラム
ネイティブヒストグラムは、従来のヒストグラムに代わる、より効率的で低コストのPrometheusメトリクスタイプです。データセットに基づいてバケット境界を選択する(そして潜在的に更新する必要がある)のではなく、ネイティブヒストグラムは指数関数的成長に基づいた事前設定されたバケット境界を持ちます。
ネイティブヒストグラムはまだ実験的であり、デフォルトでは有効になっていません。--enable-feature=native-histograms
を渡すことで有効にできます。ネイティブヒストグラムのいくつかの側面、例えばテキスト形式やアクセサー関数/演算子はまだ活発に設計中です。
その他の破壊的変更
以下の機能フラグは削除され、代わりにデフォルトで有効になりました。これらのフラグへの参照は設定から削除されるべきであり、Prometheus 3.0以降では無視されます。
promql-at-modifier
promql-negative-offset
remote-write-receiver
no-scrape-default-port
new-service-discovery-manager
レンジ選択は左側が開いて右側が閉じられるようになり、意図しない数のポイントが操作に含まれるという稀なケースが回避されます。
エージェントモードが安定し、機能フラグではなく独自の構成フラグを持つようになりました