次の方法で共有


Prometheus 用 Azure Monitor マネージド サービスでのリモート書き込み

Prometheus 用 Azure Monitor マネージド サービスは、自己管理型 Prometheus の代わりになることを目的としています。そのため、お客様は Kubernetes クラスターで Prometheus サーバーを管理する必要がありません。 また、このマネージド サービスを使用して、長期的なデータ保持のためにセルフマネージド Prometheus クラスターのデータを一元化し、クラスター全体の一元化されたビューを作成することもできます。 その場合、remote_write を使用して、セルフマネージド Prometheus から Microsoft のマネージド サービスにデータを送信できます。

Architecture

Azure Monitor ワークスペースにリモート書き込みするために、Kubernetes クラスターで実行されている Prometheus を構成できます。 現在、ユーザー割り当てマネージド ID または Microsoft Entra ID アプリケーションは、Prometheus リモート書き込み構成を使用して Azure Monitor ワークスペースにメトリックを取り込むためにサポートされている認証の種類です。

Azure Monitor には、リバース プロキシ コンテナー (Azure Monitor サイド カー コンテナー) も用意されています。これは、Prometheus リモート書き込みメトリックを取り込むための抽象化を提供し、パケットの認証を支援するものです。

環境で実行されているセルフマネージド Prometheus 構成でリモート書き込みを直接構成することをお勧めします。 Azure Monitor サイド カー コンテナーは、優先の認証が直接構成によってサポートされていない場合に使用できます。

サポートされているバージョン

  • マネージド ID 認証には、v2.45 より大きい Prometheus バージョンが必要です。
  • Microsoft Entra ID アプリケーション認証には、v2.48 より大きい Prometheus バージョンが必要です。

リモート書き込みの構成

リモート書き込みの構成は、クラスターの構成と、使用する認証の種類によって異なります。

  • マネージド ID は、Azure Kubernetes サービス (AKS) と Azure Arc 対応 Kubernetes クラスターに推奨されています。
  • Microsoft Entra ID は、Azure Kubernetes サービス (AKS) と Azure Arc 対応 Kubernetes クラスターに使用でき、別のクラウドまたはオンプレミスで実行されている Kubernetes クラスターに必要です。

ユーザー割り当てマネージド ID と Microsoft Entra ID アプリケーションのリモート書き込みの構成の詳細については、「Prometheus オペレーター用の Kubernetes 上のリモート書き込みの構成」を参照してください。 このオプションは、任意の環境で実行されているセルフマネージドの Prometheus に使用できます。

Kubernetes クラスター上の Prometheus のリモート書き込みは、サイド カー コンテナーを使用して構成することもできます。 サイド カー コンテナーを使用して Kubernetes クラスターのリモート書き込みを構成する方法の詳細については、以下の記事を参照してください。

Virtual Machines と仮想マシン スケール セットからのリモート書き込み

Prometheus データは、リモート書き込みを使用し、Virtual Machines と仮想マシン スケール セットから Azure Monitor ワークスペースに送信できます。 サーバーは、Azure で管理することも、他の任意の環境に置くこともできます。 詳細については、「Virtual Machines から Azure Monitor ワークスペースに Prometheus メトリックを送信する」を参照してください。

リモート書き込みが正しく動作していることを確認する

Prometheus のデータが Azure Monitor ワークスペースに送信されていることを確認するには、次の方法を使用します。

Kubectl コマンド

サイド カー コンテナーからログを表示するには、次のコマンドを使用します。 出力値が avgBytesPerRequest および avgRequestDuration で 0 以外の場合、リモート書き込みデータが流れています。

kubectl logs <Prometheus-Pod-Name> <Azure-Monitor-Side-Car-Container-Name> --namespace <namespace-where-Prometheus-is-running>
# example: kubectl logs prometheus-prometheus-kube-prometheus-prometheus-0 prom-remotewrite --namespace monitoring

このコマンドからの出力は次の形式になります。

time="2022-11-02T21:32:59Z" level=info msg="Metric packets published in last 1 minute" avgBytesPerRequest=19713 avgRequestDurationInSec=0.023 failedPublishing=0 successfullyPublished=122

PromQL を使用した Azure Monitor メトリックス エクスプローラー

メトリックが Azure Monitor ワークスペースに送信されているかどうかを確認するには、Azure portal の Azure Monitor ワークスペースから [メトリック] を選択します。 メトリックス エクスプローラーを使用して、セルフマネージド Prometheus 環境から予想されるメトリックに対してクエリを実行します。 詳細については、メトリックス エクスプローラーの説明を参照してください。

Azure Monitor ワークスペース内の Prometheus エクスプローラー

Prometheus エクスプローラーは、Azure 環境内で Prometheus メトリックを操作して、監視とトラブルシューティングをより効率的にする便利な方法を提供します。 Prometheus エクスプローラーを使用するには、Azure portal 内でご利用の Azure Monitor ワークスペースから、[Prometheus エクスプローラー] を選択して、セルフマネージド Prometheus 環境に対して求めるメトリックのクエリを実行します。 詳しくは、Prometheus エクスプローラーの説明を参照してください。

Grafana

Grafana で PromQL クエリを使用し、結果から期待されるデータが返されることを確認します。 Azure の Prometheus 用マネージド サービス向けに Grafana を構成する方法について詳しくは、「管理システム ID を使用して Grafana のデータ ソースとして Prometheus 用 Azure Monitor マネージド サービスを使用する」をご覧ください

リモート書き込みのトラブルシューティング

Azure Monitor ワークスペースにリモート データが表示されない場合は、「リモート書き込みのトラブルシューティング」で一般的な問題と解決策を確認してください。

次のステップ