Prometheus 2.0 のプレビュー

2017年4月10日筆者: Fabian Reinartz

2016年7月、Prometheus は 1.0 リリースという大きな節目を迎えました。それ以来、新しいサービスディスカバリ連携や実験的なリモート API など、数多くの新機能が追加されました。また、インフラストラクチャ分野、特に Kubernetes における新しい開発により、監視対象環境が著しく動的になったことを認識しました。当然ながら、これも Prometheus に新たな課題をもたらし、ストレージレイヤーのパフォーマンスボトルネックを特定しました。

過去数ヶ月間、これらのボトルネックに対処し、全体的にかなりのパフォーマンス向上が見られる新しいストレージコンセプトの設計と実装に取り組んできました。また、ホットバックアップなどの機能を追加するための道も開かれました。

変更は非常に根本的であるため、新しいメジャーリリースである Prometheus 2.0 がトリガーされます。ストレージ以外の重要な機能や変更は、安定リリース前に計画されています。しかし、本日、新しいストレージの安定化プロセスを開始するために、Prometheus 2.0 の早期アルファ版をリリースします。

リリース tarballDocker コンテナ が利用可能になりました。新しいストレージの仕組みに興味がある場合は、内部構造を解説した詳細なブログ記事 を参照してください。

このバージョンは古いストレージデータとは互換性がなく、既存の本番環境のデプロイメントを置き換えるべきではありません。実行するには、データディレクトリを空にする必要があり、-storage.local.retention 以外のすべての既存のストレージフラグを削除する必要があります。

例:変更前

./prometheus -storage.local.retention=200h -storage.local.memory-chunks=1000000 -storage.local.max-chunks-to-persist=500000 -storage.local.chunk-encoding=2 -config.file=/etc/prometheus.yaml

変更後

./prometheus -storage.local.retention=200h -config.file=/etc/prometheus.yaml

これは非常に初期のバージョンであり、クラッシュ、データ破損、および一般的なバグが予想されます。それらをイシュートラッカー に送信して、安定リリースに向けて協力してください。

実験的なリモートストレージ API は、このアルファリリースでは無効になっています。フェデレーションされた Prometheus サーバーのようなタイムスタンプを公開するスクレイピングターゲットは、まだ機能しません。ストレージフォーマットは破壊的であり、後続のアルファリリース間でも破壊され続けます。安定リリースに近づいたら、1.0 から 2.0 へのアップグレードパスを文書化する予定です。