Google Cloud Managed Service for Prometheus

Prometheus 用の Google Cloud マネージド サービスは、Prometheus 指標用の Google Cloud のフルマネージド マルチクラウド ソリューションです。Prometheus を使用して、ワークロードのグローバルなモニタリングとアラートを行うことができ、手動で管理・運用する必要がありません。

Prometheus のマネージド サービスは、Prometheus のエクスポータから指標を収集し、PromQL を使用してグローバルでデータをクエリできます。つまり、既存の Grafana ダッシュボードや PromQL ベースのアラート、ワークフローを引き続き使用できます。これはハイブリッドとマルチクラウドに対応しており、Kubernetes と VM のワークロードの両方をモニタリングできます。また、データを 24 か月間保持でき、アップストリームの Prometheus との互換性を維持することでポータビリティを維持します。また、Cloud Monitoring で 1,500 以上の無料指標無料の GKE システム指標を含む)をクエリし、PromQL を使って、Prometheus のモニタリングを補完することもできます。

このドキュメントでは、マネージド サービスの概要と、サービスを設定して実行する方法について説明します。新機能やリリースに関する最新情報を定期的に受け取るには、オプションの登録フォームを送信します。

システムの概要

Managed Service for Prometheus を使用すると、Prometheus と Cloud Monitoring の機能にアクセスできます。

Prometheus のマネージド サービスは、Google 独自のモニタリングに使用されるのと同じグローバルにスケーラブルなデータストアである Monarch の上に構築されています。Cloud Monitoring と同じバックエンドと API を使用するため、すべての Cloud Monitoring 指標データは PromQL を使用してクエリできます。また、すべての Prometheus のマネージド サービスデータは、Cloud Monitoring を使用してクエリを実行できます

標準の Prometheus デプロイでは、データ収集、クエリ評価、ルールとアラートの評価、データ ストレージはすべて単一の Prometheus サーバー内で処理されます。Prometheus のマネージド サービスは、これらの機能の責任を複数のコンポーネントに分割します。

  • データ収集は、マネージド コレクタまたは自己デプロイ コレクタによって処理されます。コレクタはローカル エクスポータを収集し、収集したデータを Monarch に転送します。これらのコレクタは、Kubernetes と従来のワークロードの両方に使用できます。また、他のクラウドやオンプレミス デプロイを含む、あらゆる場所で実行できます。
  • クエリ評価は Monarch によって処理されます。Monarch は、最大 1,000 個の Google Cloud プロジェクトにわたって、すべての Google Cloud リージョンでクエリを実行し、結果を結合します。
  • ルールとアラートの評価は、ローカルで実行されローカルに構成されたルール エバリュエータ コンポーネントによって処理されます。これらのコンポーネントは、グローバルな Monarch データストアに対してルールとアラートを実行し、Prometheus AlertManager にアラートを転送します。
  • データ ストレージは Monarch によって処理されます。Monarch は、追加料金なしですべての Prometheus データを 24 か月間保存します。

Grafana は、個々の Prometheus サーバーに接続するのではなく、グローバル Monarch データストアに接続します。すべてのデプロイで Prometheus のマネージド サービス コレクタを構成した場合は、この単一の Grafana インスタンスにより、すべてのクラウドにわたるすべての指標がまとめて表示されます。

データ収集

Prometheus のマネージド サービスでは次のいずれかのモードを使用できます。マネージド データ収集、またはセルフデプロイのデータ収集

Prometheus のマネージド サービスでは、Kubernetes 環境でマネージド データ収集の演算子を提供します。マネージド データ収集を使用することをおすすめします。これにより、Prometheus サーバーのデプロイ、スケーリング、シャーディング、構成、メンテナンスの複雑さがなくなります。マネージド データ収集は、GKE と GKE 以外の Kubernetes 環境でサポートされています。

セルフデプロイのデータ収集では、Prometheus のインストールを通常どおりユーザー自身で管理します。アップストリーム Prometheus との唯一の違いは、アップストリーム Prometheus バイナリではなく、Prometheus のマネージド サービス ドロップイン代替バイナリを実行する点です。

どちらの収集オプションも、オンプレミス デプロイと任意のクラウドで実行できます。Google Cloud の外部で実行されているコレクタは、長期保存とグローバル クエリのために Monarch にデータを送信します。

データ収集モードを選択する場合は、次の点を考慮してください。

  • マネージド モードのデータ収集:

    • すべての Kubernetes 環境で Google が推奨するアプローチ。
    • GKE UI、gcloud CLI、kubectl CLI、または Terraform を使用してデプロイされる。
    • スクレイピング構成の生成、取り込みのスケーリング、適切なデータに対するルールのスコープ設定など、Prometheus のオペレーションは Kubernetes オペレーターによってすべて処理されます。
    • スクレイピングとルールは、軽量のカスタム リソース(CR)を使用して構成されます。
    • 簡単に使用できるフルマネージド環境が必要な場合に適しています。
    • prometheus-operator 構成ファイルから簡単に移行できます。
    • 現在の Prometheus のユースケースのほとんどに対応しています。
  • セルフデプロイ コレクション:

    • アップストリーム Prometheus バイナリのドロップイン代替。
    • prometheus-operator や手動デプロイなど、任意のデプロイ メカニズムを使用できます。
    • スクレイピングは、アノテーションや prometheus-operator などの任意の方法を使用して構成します。
    • スケーリングと機能的シャーディングは手動で行います。
    • 既存の複雑な設定に迅速に統合する場合に適しています。既存の構成ファイルを再利用し、アップストリーム Prometheus と Managed Service for Prometheus を並べて実行できます。
    • カーディナリティを減らすためのローカル集計など、マネージド・データ収集ではまだ未対応のユースケースがサポートされている場合があります。

開始するには、マネージド・データ収集を使ってみるまたはセルフデプロイ収集を使ってみるをご覧ください。

Google Kubernetes Engine または Google Cloud の外部でマネージド サービスを使用する場合は、追加の構成が必要になることがあります。Google Cloud の外部でマネージド・データ収集を実行するまたは Google Cloud の外部でセルフデプロイ収集を実行するをご覧ください。

クエリの評価

Prometheus のマネージド サービスは、Grafana や Cloud Monitoring UI など、Prometheus クエリ API を呼び出すことができるすべてのクエリ UI をサポートしています。ローカルの Prometheus から Prometheus のマネージド サービスに切り替えても、既存の Grafana ダッシュボードは引き続き機能します。一般的なオープンソース リポジトリやコミュニティ フォーラムにある PromQL を引き続き使用できます。

Prometheus のマネージド サービスにデータを送信しなくても、PromQL を使用して Cloud Monitoring で1,500 を超える無料指標をクエリできます。PromQL を使用して、無料の Kubernetes 指標カスタム指標ログベースの指標をクエリすることもできます。

Prometheus のマネージド サービス データをクエリするように Grafana を構成する方法については、クエリ ユーザー インターフェースの構成をご覧ください。

PromQL を使用して Cloud Monitoring の指標をクエリする方法については、Cloud Monitoring の指標の PromQL をご覧ください。

ルールとアラートの評価

Prometheus のマネージド サービスには、スタンドアロン ルール評価ツールも用意されています。これにより、指標スコープでアクセス可能なすべての Monarch データに対して、記録ルールとアラートルールを評価できます。マルチ プロジェクト指標のスコープに対してルールを評価することで、対象となるすべてのデータを単一の Prometheus サーバーまたは単一の Google Cloud プロジェクト内に併置する必要がなくなり、プロジェクトのグループに対して IAM 権限を設定することができます。

ルール 評価ツールは標準の Prometheus rule_files 形式をサポートしているため、既存のルール、または一般的なオープンソース リポジトリにあるルールをコピーして貼り付けることで、Prometheus のマネージド サービスに簡単に移行できます。セルフデプロイ・コレクタを使用する場合は、コレクタでローカルの記録ルールを引き続き評価できます。記録ルールとアラートルールの結果は、直接収集された指標データと同じように Monarch に保存されます。

マネージド収集を使用したルール評価については、マネージド ルールの評価とアラートをご覧ください。

セルフデプロイ コレクションを使用したルール評価については、自己デプロイ型ルールの評価とアラートをご覧ください。

セルフデプロイ コレクタで記録ルールを使用してカーディナリティを減らす方法については、コスト管理とアトリビューションをご覧ください。

データ ストレージ

すべての Prometheus のマネージド サービス データは 24 か月間保持されます。追加料金はかかりません。

Prometheus のマネージド サービスは、5 秒の最小取得間隔をサポートしています。データはそのまま 1 週間保存され、その後 5 週間は 1 分間のポイントにダウンサンプリングされ、残りの保持期間は10 分間のポイントにダウンサンプリングされて保存されます。

Prometheus のマネージド サービスは、アクティブな時系列または合計時系列の数に制限はありません。

詳細については、Cloud Monitoring ドキュメント内の割り当てと上限をご覧ください。

請求および割り当て

Prometheus のマネージド サービスは Google Cloud プロダクトであり、請求と使用量の割り当てが適用されます。

課金

このサービスの課金は、主にストレージに取り込まれた指標サンプルの数に基づいて行われます。また、読み取り API 呼び出しにも少額の料金が発生します。Prometheus マネージド サービスでは、指標データの保存または保持に課金されません。

割り当て

Prometheus のマネージド サービスは、取り込みと読み取りの割り当てを Cloud Monitoring と共有します。デフォルトの取り込み割り当ては、プロジェクトあたり 500 QPS で、1 回の呼び出しで最大 200 のサンプル(1 秒あたり 100,000 サンプルに相当します)です。デフォルトの読み取りの割り当ては、指標スコープごとに 100 QPS です。

これらの割り当てを増やすと、指標とクエリ ボリュームをサポートできます。割り当ての管理と割り当ての増加リクエストについては、割り当ての操作をご覧ください。

次のステップ