Prometheus 3.0 Beta リリース

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 です。

New UI query page

UI は完全に書き直され、 clutter が減り、よりモダンなルックアンドフィールになり、PromLens スタイルのツリービューなどの新機能が追加され、よりモダンな技術スタックを使用することで将来のメンテナンスが容易になります。

新しい UI の詳細については、PromLabs ブログの Julius による詳細な記事 を参照してください。ユーザーは、old-ui 機能フラグを使用して古い UI を一時的に有効にすることができます。新しい UI はまだ実戦でテストされていないため、バグが残っている可能性も非常に高いです。もし見つけた場合は、GitHub で報告してください

Remote Write 2.0

Remote-Write 2.0 は、メタデータ、exemplars、作成タイムスタンプ、ネイティブヒストグラムなど、多数の新しい要素のネイティブサポートを追加することで、以前のプロトコルバージョンを改良しています。また、文字列インターニングを使用して、圧縮および解凍時のペイロードサイズと 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

範囲選択は、意図したよりも多くのポイントが操作に含まれるまれなケースを回避するために、左開右閉になりました。

エージェントモードは安定し、機能フラグではなく独自の構成フラグを持つようになりました。