管理サービス ID を使用して Grafana のデータ ソースとして Prometheus 用の Azure Monitor 管理サービスを使用する
Prometheus 用 Azure Monitor マネージド サービスを使用すると、Prometheus と互換性のある監視ソリューションを使って大規模にメトリックを収集および分析できます。 Prometheus データを分析して表示する最も一般的な方法は、Grafana ダッシュボードを使用することです。 このアーティクルでは、マネージド システム ID 認証を使用して、Azure 仮想マシンで実行されている Azure Managed Grafana と セルフホステッド Grafana の両方のデータ ソースとして Prometheus を構成する方法について説明します。
Active Directory での Grafana の使用の詳細については、Microsoft Entra ID を使用して、Azure Monitor マネージド Prometheus を使用するようにセルフマネージド Grafana を構成するに関する記事を参照してください。
Azure Managed Grafana
以降のセクションでは、Azure Managed Grafana のデータ ソースとして Prometheus 用 Azure Monitor マネージド サービスを構成する方法について説明します。
重要
このセクションでは、Prometheus データ ソース用の Azure Monitor 管理サービスを Azure Managed Grafana に追加するための手動プロセスについて説明します。 Grafana ワークスペースのリンクの説明に従って、Azure Monitor ワークスペースと Grafana ワークスペースをリンクすることで、同じ機能を実現できます。
システム ID を構成する
Grafana ワークスペースには、次の設定が必要です。
- システムマネージド ID が有効な場合
- Azure Monitor ワークスペースの監視データ閲覧者ロール
これらの設定はどちらも、Grafana ワークスペースを作成し、Azure Monitor ワークスペースにリンクしたときに既定で構成されます。 Grafana ワークスペースの [ID] ページで、これらの設定を確認します。
Grafana ワークスペースから構成する
リソース グループまたはサブスクリプション内のすべての Azure Monitor ワークスペースへのアクセスを許可するには、次のステップに従います:
Azure portalで Grafana ワークスペースの [ID] ページを開きます。
[状態] が [いいえ] の場合は、[はい] に変更します。
[Azure ロールの割り当て] を選択して、サブスクリプション内の既存のアクセス権を確認します。
サブスクリプションまたはリソース グループの監視データ閲覧者が一覧にない場合は、次のステップに従います。
[ロールの割り当ての追加] を選択します。
[スコープ] で、[サブスクリプション] または [リソース グループ] を選択します。
[ロール] で、[監視データ閲覧者] を選択します。
[保存] を選択します。
Azure Monitor ワークスペースから構成する
特定の Azure Monitor ワークスペースへのアクセスのみを許可するには、次のステップに従います:
Azure portalで Azure Monitor ワークスペースのAccess Control (IAM) ページを開きます。
[ロールの割り当ての追加] を選択します。
[Monitoring Data Reader](監視データ閲覧者) を選択し、[次へ] を選択します。
[アクセス権の割り当て先] で [マネージド ID] を選択します。
[+ メンバーの選択] を選択します。
マネージド ID の場合は、Azure Managed Grafana を選択します。
Grafana ワークスペースを選択し、[選択] を選択します。
[レビューと割り当て] を選択して、構成を保存します。
Prometheus データ ソースを作成する
Azure Managed Grafana では、既定で Azure 認証がサポートされています。
Azure portalで Azure Monitor ワークスペースの概要 ページを開きます。
次のステップで必要になる クエリ エンドポイントをコピーします。
Azure portal で Azure Managed Grafana ワークスペースを開く。
[エンドポイント] を選択して、Grafana ワークスペースを表示します。
[Configuration] を選択し、次に [Data Sources] を選択します。
[データ ソースの追加] を選択し、[Prometheus] を選択します。
URL の場合は、Azure Monitor ワークスペースのクエリ エンドポイントに貼り付けます。
[Azure 認証] を選択して有効にします。
[Azure 認証] の [認証] で、[マネージド ID] を選択します。
ページの下部までスクロールし、[保存 & テスト] を選択します。
セルフマネージド Grafana
以降のセクションでは、Azure 仮想マシンのセルフマネージド Grafana のデータ ソースとして Prometheus 用 Azure Monitor マネージド サービスを構成する方法について説明します。
システム ID を構成する
Azure 仮想マシンは、システム割り当て ID とユーザー割り当て ID の両方をサポートします。 システム割り当て ID を構成するには、次のステップを使用します。
Azure 仮想マシンから構成する
リソース グループまたはサブスクリプション内のすべての Azure Monitor ワークスペースへのアクセスを許可するには、次のステップに従います:
Azure portalで仮想マシンの [ID] ページを開きます。
[状態] が [いいえ] の場合は、[はい] に変更します。
[保存] を選択します。
[Azure ロールの割り当て] を選択して、サブスクリプション内の既存のアクセス権を確認します。
サブスクリプションまたはリソース グループの監視データ閲覧者が一覧にない場合は、次のステップに従います。
[ロールの割り当ての追加] を選択します。
[スコープ] で、[サブスクリプション] または [リソース グループ] を選択します。
[ロール] で、[監視データ閲覧者] を選択します。
[保存] を選択します。
Azure Monitor ワークスペースから構成する
特定の Azure Monitor ワークスペースへのアクセスのみを許可するには、次のステップに従います:
Azure portalで Azure Monitor ワークスペースのAccess Control (IAM) ページを開きます。
[ロールの割り当ての追加] を選択します。
[Monitoring Data Reader](監視データ閲覧者) を選択し、[次へ] を選択します。
[アクセス権の割り当て先] で [マネージド ID] を選択します。
[+ メンバーの選択] を選択します。
[マネージド ID] で、[仮想マシン] を選択します。
Grafana ワークスペースを選択し、[選択] をクリックします。
[レビューと割り当て] を選択して、構成を保存します。
Prometheus データ ソースを作成する
バージョン 9.x 以降の Grafana では Azure 認証がサポートされていますが、既定では有効になっていません。 このフィーチャーを有効にするには、Grafana 構成を更新する必要があります。 Grafana.ini ファイルの場所と Grafana 構成の編集方法を確認するには、Grafana Labs から「Grafana の構成」ドキュメントを確認してください。 構成ファイルが VM 上のどこに存在するかを確認したら、次の更新を行います:
仮想マシンで Grafana.ini ファイルを見つけて開きます。
構成ファイルの
[auth]
セクションで、azure_auth_enabled
の設定をtrue
に変更します。構成ファイルの
[azure]
セクションで、managed_identity_enabled
の設定をtrue
に変更しますAzure portalで Azure Monitor ワークスペースの概要 ページを開きます。
次のステップで必要になる クエリ エンドポイントをコピーします。
Azure portal で Azure Managed Grafana ワークスペースを開く。
エンドポイントをクリックして、Grafana ワークスペースを表示します。
[Configuration] を選択し、次に [Data Sources] を選択します。
[データ ソースの追加] をクリックし、[Prometheus] をクリックします。
URL の場合は、Azure Monitor ワークスペースのクエリ エンドポイントに貼り付けます。
[Azure 認証] を選択して有効にします。
[Azure 認証] の [認証] で、[マネージド ID] を選択します。
ページの下部までスクロールし、[保存 & テスト] をクリックします。
よく寄せられる質問
このセクションでは、一般的な質問への回答を示します。
メトリックのすべてまたは一部が欠落しています。 トラブルシューティングをどのように行えばよいですか?
マネージド エージェントから Prometheus メトリックを取り込むためのトラブルシューティング ガイドは、こちらで参照できます。
同じ名前で大文字と小文字が異なる 2 つのラベルを持つメトリックが見つからないのはなぜですか?
Azure マネージド Prometheus は、大文字と小文字を区別しないシステムです。 メトリック名、ラベル名、ラベル値などの文字列が、文字列の大文字と小文字が異なるだけで別の時系列と異なる場合、それらの文字列は同じ時系列として扱われます。 詳細については、Prometheus のメトリックの概要に関する記事を参照してください。
メトリック データにギャップが表示されますが、これはなぜ発生するのですか?
ノードの更新中に、クラスター レベルのコレクターから収集されたメトリックのメトリック データに 1 分から 2 分のギャップが表示される場合があります。 このギャップは、データが実行されているノードが通常の更新プロセスの一環として更新されているために発生します。 この更新プロセスにより、指定された kube-state-metrics やカスタム アプリケーション ターゲットなどのクラスター全体のターゲットが影響を受けます。 これは、クラスターが手動または自動更新によって更新されるときに発生します。 この動作は想定されているものであり、実行されているノードが更新されるために発生します。 この動作は、いずれも推奨される警告ルールの影響を受けません。