Share via


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

この記事では、Azure Monitor の Prometheus 用マネージド サービスでリモート書き込みの問題を解決する方法について説明します。 リモート書き込みの詳細については、「Azure Monitor の Prometheus 用マネージド サービスでのリモート書き込み」を参照してください。

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

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

Prometheus ログの HTTP 403 エラー

ロールの割り当てが有効になるまでに約 30 分かかります。 この間、Prometheus ログに HTTP 403 エラーが表示されることがあります。 ワークスペースのデータ収集規則の Monitoring Metrics Publisher ロールを使用し、マネージド ID または Microsoft Entra ID アプリケーションが正しく構成されていることを確認します。 構成が正しい場合は、ロールの割り当てが有効になるまで 30 分待ちます。

Kubernetes データが流れていない

リモート データが流れていない場合、リモート書き込みコンテナーのエラーを検出する次のコマンドを実行します。

kubectl --namespace <Namespace> describe pod <Prometheus-Pod-Name>

コンテナーが繰り返し再起動される

コンテナーが繰り返し再起動している場合、コンテナーの構成ミスが原因である可能性があります。 コンテナーに設定されている構成値を見るには、次のコマンドを実行します。 特に、AZURE_CLIENT_ID および IDENTITY_TYPE の構成値を確認します。

kubectl get pod <Prometheus-Pod-Name> -o json | jq -c  '.spec.containers[] | select( .name | contains("<Azure-Monitor-Side-Car-Container-Name>"))'

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

{"env":[{"name":"INGESTION_URL","value":"https://my-azure-monitor-workspace.eastus2-1.metrics.ingest.monitor.azure.com/dataCollectionRules/dcr-00000000000000000/streams/Microsoft-PrometheusMetrics/api/v1/write?api-version=2021-11-01-preview"},{"name":"LISTENING_PORT","value":"8081"},{"name":"IDENTITY_TYPE","value":"userAssigned"},{"name":"AZURE_CLIENT_ID","value":"00000000-0000-0000-0000-00000000000"}],"image":"mcr.microsoft.com/azuremonitor/prometheus/promdev/prom-remotewrite:prom-remotewrite-20221012.2","imagePullPolicy":"Always","name":"prom-remotewrite","ports":[{"containerPort":8081,"name":"rw-port","protocol":"TCP"}],"resources":{},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","volumeMounts":[{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount","name":"kube-api-access-vbr9d","readOnly":true}]}

インジェストのクォータと制限

Azure Monitor ワークスペースにデータを送信するように Prometheus リモート書き込みを構成するとき、通常、Azure Monitor ワークスペースの概要ページに表示されるリモート書き込みエンドポイントを使用することから始めます。 このエンドポイントには、システム生成のデータ収集ルール (DCR) とデータ収集エンドポイント (DCE) が使用されます。 これらのリソースには、インジェスト制限があります。 インジェスト制限の詳細については、Azure Monitor のサービス制限に関するページを参照してください。 同じエンドポイントにデータを送信する複数のクラスターに対してリモート書き込みを設定するとき、これらの制限に達する可能性があります。 インジェスト負荷を複数のエンドポイントに分散させるために、追加の DCR と DCE を作成することを検討してください。 このアプローチは、パフォーマンスの最適化に役立ち、データが効率的に処理されます。 DCR と DCE の作成の詳細については、既存の Azure Monitor ワークスペース (AMW) のカスタムのデータ収集エンドポイント (DCE) とカスタムのデータ収集規則 (DCR) を作成して Prometheus メトリックを取り込む方法に関するページを参照してください。