次の方法で共有


セルフホステッド Prometheus から Azure Monitor Managed Service for Prometheus に移行する

Prometheus は、時系列データの収集、格納、クエリの強力な機能で知られる、広く採用されているオープンソースの監視ソリューションです。 多くの組織は自己管理型の Prometheus セットアップから始まりますが、システムの規模が大きくなると、Prometheus 環境を管理する運用上のオーバーヘッドが大きくなる可能性があります。 Prometheus 用の Azure Monitor マネージド サービスは、魅力的な代替手段を提供し、Prometheus の主要な利点とスケーラビリティを提供し、メンテナンス作業を削減します。 このドキュメントでは、セルフマネージド Prometheus から Prometheus 用 Azure Monitor マネージド サービスへの移行を計画している組織向けのガイダンスを提供します。

Azure Monitor Managed Service for Prometheus に移行する理由

Prometheus 用の Azure Monitor のマネージド サービスを使用すると、ユーザーは Prometheus 機能を活用しながら、Azure のクラウドネイティブのエンタープライズ レベルの機能を活用できます。 主な利点は次のとおりです。

主な概念の概要

  • [メトリック コレクション]データ収集とカスタマイズ: Azure Managed Prometheus を次のように使用できます。

    • セルフマネージド Prometheus のフル マネージド サービスまたはドロップイン置換: この場合、AKS または ARC 対応 K8S クラスター内のマネージド アドオンによってデータが収集されます。 データ収集は、カスタム リソース (ポッドとサービス モニター) またはアドオン ConfigMap を使用して構成できます。 ポッド/サービス モニターと ConfigMap の形式はオープンソースの Prometheus と同じであり、Azure Managed Prometheus で既存の構成を直接使用できます。
    • リモート書き込みターゲット: Prometheus remote_writeを使用して、Azure または Azure 以外の環境で実行されている既存の Prometheus サーバーからメトリックを送信して、Azure Monitor ワークスペースにデータを送信できます。 これは、セルフホステッドからフル マネージド アドオンへの段階的な移行に最適です。
  • [メトリック コレクション] Prometheus オペレーターとカスタム リソース定義: AKS クラスターで Managed Prometheus アドオンを有効にするとポッドサービス モニター のカスタム リソース定義がデプロイされ、独自のカスタム リソースを作成できるようになります。 お客様は、OSS Prometheus オペレーターと同様に、ポッド モニターとサービス モニターを使用してスクレーピング ターゲットをカスタマイズできます。

現在、PrometheusRule CRD は Azure Managed Prometheus ではサポートされていません。

  • [ストレージ] データは Azure Monitor ワークスペースに格納されます。Prometheus メトリックは Azure Monitor ワークスペース (AMW) に格納されます。これは、Azure Monitor によって収集されるデータの固有の環境です。 各ワークスペースには、独自のデータ リポジトリ、構成、アクセス許可があります。 データは 18 か月間保存されます。

Log Analytics ワークスペースには、複数の Azure リソースからのログとメトリック データが含まれますが、現在 Azure Monitor ワークスペースには Prometheus に関連するメトリックのみが含まれます。 Azure Monitor ワークスペースには、最終的に Azure Monitor が収集したすべてのメトリック データが含められます。

  • [アラート] ルールとアラートを記録するための Prometheus ルール グループ: Azure Managed Prometheus ルール グループ は、記録ルールとアラートを作成および更新するための管理されたスケーラブルな方法を提供します。 ルール グループは Prometheus ルールの構成 に従っており、既存の記録ルールとアラートを Azure Managed Prometheus ルール グループに変換できます。

  • [視覚化] Azure Managed Grafana (または Bring Your Own Grafana): Azure Managed Grafana は、Grafana Labs によって Grafana ソフトウェアの上に構築されたデータ視覚化プラットフォームです。 これは、Microsoft が運用およびサポートするフル マネージドの Azure サービスとして構築されています。 Azure Managed Grafana を使用している場合でも、セルフホステッド Grafana を使用している場合でも、Azure Monitor ワークスペースからメトリックにクエリを実行できます。 AKS または ARC 対応 Kubernetes に対して Managed Prometheus を有効にすると、オープンソースの Prometheus オペレーターが使用するダッシュボードと同じ既定のダッシュボードがプロビジョニングされます。

オープンソースの Prometheus との制限事項と相違点

Prometheus 用 Azure Monitor マネージド サービスには、次の制限事項が適用されます。

  • メトリックのスクレイピングと格納の最小頻度は 1 秒です。
  • 大文字と小文字の区別: Prometheus 用の Azure Monitor マネージド サービスは、大文字と小文字を区別しないシステムです。 文字列 (メトリック名、ラベル名、ラベル値など) が、文字列の大文字と小文字が異なるだけで別の時系列と異なる場合、それらの文字列は同じ時系列として扱われます。 詳細については、Azure Managed Prometheus のケースセンシティビティーページを参照してください。
  • メトリック名、ラベル名、ラベル値には、特定の制限が適用されます。 詳細については、こちらを参照してください。
  • Azure Managed Prometheus の PromQL クエリ API には、特定の制限が適用されます。 API と PromQL を使用して Prometheus メトリックにクエリを実行する方法を参照してください。
  • PrometheusRule CRD は、Azure Managed Prometheus ではサポートされていません。

1. 現在のセットアップを評価する

移行の前に、セルフホステッド Prometheus スタックを確認します。

  • 容量要件を評価する: Azure Monitor ワークスペースは拡張性が高く、大量のメトリック インジェストをサポートできます。 既定では、スケールのニーズに応じて簡単に増やすことができる制限があります。

    • マネージド アドオンの場合、メトリックのデータ量は、AKS クラスターのサイズと、実行する予定のワークロードの数によって異なります。 いくつかのクラスターで Azure Managed Prometheus を有効にして、メトリックの量を見積もることができます。 詳細については、以下のガイドに従ってください。
    • マネージド アドオン エージェントに完全に移行する前にリモート書き込みを計画している場合は、使用状況の履歴に基づいてメトリック インジェストボリュームを決定できます。 メトリック "prometheus_remote_storage_samples_in_total" を調べ、リモート書き込みによって送信されるメトリックボリュームを評価することもできます。
  • インストールされている Prometheus バージョン: これは、remote_writeを使用して Azure Monitor ワークスペースにデータを送信する場合に必要です。 サポートされているバージョンについては 、こちらを 参照してください。

  • コストの評価: 価格は、メトリックインジェスト ($0.16/10M サンプル) とクエリ ($0.001/1000 万サンプル) ボリュームに基づいています。 Azure Monitor のメトリクス価格の詳細を参照してください。 Azure 料金計算ツールを使用してコストを見積もることができます。

  • セルフホステッド Prometheus のセットアップについては、次の構成を確認してください。

    • アラートと記録ルールの構成
    • アクティブなデータ ソースとエクスポーター
    • ダッシュボード

この評価は、移行中に注意が必要なカスタマイズを特定するのに役立ちます。

2. Azure Monitor 環境を設定する

マネージド アドオンを使用して Azure Managed Prometheus を設定する

AKS または ARC 対応クラスターに対して Managed Prometheus を有効にする: これにより、AKS クラスターのマネージド Prometheus アドオンが有効になり、Azure Monitor ワークスペースがプロビジョニングされ、必要に応じて Azure Managed Grafana を有効にすることができます。

リモート書き込みを使用して Azure Managed Prometheus を設定する

  1. Azure Monitor ワークスペースの作成: リモート書き込みを使用して Prometheus セットアップからメトリックを送信するリモート エンドポイントとして Azure Monitor ワークスペースを作成します。
  2. Azure Monitor ワークスペースにデータを送信するように Prometheus セットアップでリモート書き込みを構成します。

3. メトリックの収集とエクスポーターの構成

マネージド アドオンを使用したデータ収集の構成

  1. マネージド アドオンによって収集された既定のデータ/メトリックを確認します。 Azure Monitor の既定の Prometheus メトリック構成。 有効または無効にできる定義済みのターゲットは、オープンソースの Prometheus 演算子で使用できるターゲットと同じであることに注意してください。唯一の違いは、既定では自動プロビジョニングされたダッシュボードによってクエリされるメトリックを収集することです。 収集される既定のメトリックは、"最小限のインジェスト プロファイル" とも呼ばれます。
  2. データ収集をカスタマイズする: アドオンを使用してスクレイピングされたターゲットをカスタマイズするには、アドオン の ConfigMap を使用 するか、 カスタム リソース (ポッドとサービス モニター) を使用してデータ収集を構成します。
    • ポッド モニターとサービス モニターを使用してワークロードを監視している場合は、Pod/Service Monitors の apiVersion を azmonitoring.coreos.com/v1 に変更することで、それらを Azure Managed Prometheus に簡単に移行できます。
    • Azure Managed Prometheus アドオン ConfigMap は、オープンソースの Prometheus と同じ形式に従うので、既存の Prometheus 構成 yaml ファイルがある場合は、それらをアドオン ConfigMap に変換できます。 詳細については、こちらを参照してください。
  3. Azure Managed Prometheus を使用してメトリック収集を設定するのに役立つ、構成と手順をキュレーションした 一般的に使用されるワークロード の一覧を確認します。

リモート書き込みを使用したデータ収集の構成

Prometheus のリモート書き込み構成を使用すると、スクレーピングされたメトリックを Azure Monitor ワークスペースに転送できます。 メトリックを送信する前に、フィルター処理または再ラベル付けを構成できます。 詳細については、 Prometheus のリモート書き込み構成 を参照してください。 また、 リモート書き込みチューニング を検討して、パフォーマンスを向上させるために構成設定を調整します。 メモリの問題を回避するために、max_shardsを減らし、容量とmax_samples_per_sendを増やすことを検討してください。

4. アラートとダッシュボードを移行する

アラート ルールと記録ルール

Azure Managed Prometheus では、Prometheus ルール グループを使用した Prometheus アラート ルールと記録ルールがサポートされています。 既存のルールを Prometheus ルール グループ ARM テンプレートに変換します

マネージド アドオンでは、AKS/ARC 対応クラスターに対して Managed Prometheus を有効にすると、推奨される記録ルールが自動的に設定されることに注意してください。 自動プロビジョニングされた記録ルールの一覧 については、こちらをご覧ください

さらに、Prometheus コミュニティで推奨されるアラートも利用でき、すぐに作成できます。

ダッシュボード

Grafana を使用している場合は、 Grafana を Azure Monitor Prometheus メトリックに接続します。 既存のダッシュボードは 、Grafana にインポートすることで再利用できます。 Grafana で Azure Managed Grafana ダッシュボードまたは Azure Monitor ダッシュボードを使用している場合は、既定または推奨されるダッシュボードが自動的に設定され、プロビジョニングされ、メトリックをすぐに視覚化できるようになります。 ここで、自動的にプロビジョニングされたダッシュボードの一覧を確認します。

5. テストと検証

  1. Azure Monitor ワークスペースからメトリックを照会できるかどうかを確認します。 ワークスペースから (Azure portal で AMW インスタンス -> メトリックを選択)、またはワークスペースに接続されている Azure マネージド Grafana インスタンスを使用して、メトリックに直接クエリを実行できます。
  2. Azure Managed Prometheus の Prometheus インターフェイスにアクセスして、処理されたジョブ/ターゲットを確認できます。 Azure Managed Prometheus の Prometheus インターフェイスへのアクセスに関するページを参照してください。
  3. アラート ワークフローを確認し、それらが適切にトリガーされることを確認します。
  4. リモート書き込みの場合は、 リモート書き込みデプロイを確認します
  5. トラブルシューティングのガイダンスの詳細については、「 Azure Monitor での Prometheus メトリックの収集のトラブルシューティング」を参照してください。

6. 制限とクォータを監視する

Prometheus メトリックは、Azure Monitor ワークスペースに取り込まれます。 Azure Monitor ワークスペースには、インジェストの既定の制限とクォータがあります。 オンボードするクラスターが増えると、インジェスト制限に達する可能性があり、スロットリングが発生することがあります。 スロットリングを回避するには、ワークスペースのインジェスト制限について監視してアラートを生成します

次のステップ