Prometheus データを分析して表示する最も一般的な方法は、Grafana ダッシュボードを使用することです。 次の方法により Azure で Prometheus メトリックを収集できます。
この記事では、Azure でホストされる Prometheus メトリックを、Azure Managed Grafana、Azure 仮想マシンで実行されているセルフホステッド Grafana、または Azure の外部で実行されている Grafana インスタンスのデータ ソースとして構成する方法について説明します。
Azure Monitor ワークスペースのクエリ エンドポイント
Azure では、Prometheus データは Azure Monitor ワークスペースに格納されます。 Grafana で Prometheus データ ソースを構成する場合は、Azure Monitor ワークスペースのクエリ エンドポイントを使用します。 クエリ エンドポイントを見つけるには、Azure portal で Azure Monitor ワークスペースの [概要] ページを開きます。
Azure Managed Grafana(Azureが管理するGrafana)
Azure Managed Grafana インスタンスは、その作成時に、マネージド システム ID を使用して自動的に構成されます。 この ID には、サブスクリプション レベルで監視データ閲覧者ロールが割り当てられています。 このロールにより、ID はサブスクリプションのすべての監視データを読み取ることができます。 この ID は、Azure Monitor に対する Grafana の認証に使用されます。 この ID を構成するために必要となる操作はありません。
Grafana で Prometheus データ ソースを作成する
Prometheus をデータ ソースとして構成するには、次の手順に従います。
Azure portal で Azure Managed Grafana ワークスペースを開く。
[エンドポイント] を選択して、Grafana ワークスペースを表示します。
[接続] を選択してから、[データ ソース] を選択します。.
[データ ソースの追加] を選択します。
Prometheus を検索して選択します。
Azure Monitor ワークスペースのクエリ エンドポイントを [Prometheus server URL] (Prometheus サーバー URL) フィールドに貼り付けます。
[認証] で、[Azure Auth] (Azure 認証) を選択します。
[Azure Authentication] (Azure 認証) で、[認証] ドロップダウンから [マネージド ID] を選択します。
ページの下部までスクロールし、[保存 & テスト] を選択します。
自己管理型のGrafana
次のセクションでは、Azure でホストされる Prometheus データを使用するように Azure 仮想マシン上のセルフマネージド Grafana を構成する方法について説明します。
リソース グループまたはサブスクリプション内のすべての Azure Monitor ワークスペースへのアクセスを許可するには、次のステップに従います:
Azure portalで仮想マシンの [ID] ページを開きます。
[状態] を [オン] に設定します。
保存 を選択します。
[Azure ロールの割り当て] を選択して、サブスクリプション内の既存のアクセス権を確認します。
サブスクリプションまたはリソース グループの "監視データ閲覧者" ロールが一覧にない場合は、[+ ロールの割り当てを追加] を選択します。
[スコープ] ドロップダウンで、[サブスクリプション] または [リソース グループ] を選択します。 [サブスクリプション] を選択すると、サブスクリプション内のすべての Azure Monitor ワークスペースにアクセスできます。 [リソース グループ] を選択すると、選択したリソース グループ内の Azure Monitor ワークスペースにのみアクセスできます。
Azure Monitor ワークスペースがある特定のサブスクリプションまたはリソース グループを選択します。
[ロール] ドロップダウンで、[監視データ閲覧者] を選択します。
保存 を選択します。
バージョン 9.x 以降の Grafana では Azure 認証がサポートされていますが、既定では有効になっていません。 Azure 認証を有効にするには、Grafana 構成を更新し、Grafana インスタンスを再起動します。 grafana.ini
ファイルを見つけるには、Grafana Labs の「Grafana の構成」ドキュメントを確認してください。
次の手順を使用して、Azure 認証を有効にします。
- 仮想マシンで
grafana.ini
ファイルを見つけて開きます。
- 構成ファイルの
[auth]
セクションで、azure_auth_enabled
の設定を true
に変更します。
- 構成ファイルの
[azure]
セクションで、managed_identity_enabled
の設定を true
に変更します
- Grafana インスタンスを再起動します。
Grafana で Prometheus データ ソースを作成する
次の手順を使用して、Prometheus をデータ ソースとして構成します。
ブラウザーで Grafana を開きます。
[接続] を選択してから、[データ ソース] を選択します。.
[データ ソースの追加] を選択します
Prometheus を検索して選択します。
Azure Monitor ワークスペースのクエリ エンドポイントを [Prometheus server URL] (Prometheus サーバー URL) フィールドに貼り付けます。
[認証] で、[Azure Auth] (Azure 認証) を選択します。
[Azure Authentication] (Azure 認証) で、[認証] ドロップダウンから [マネージド ID] を選択します。
ページの下部までスクロールし、[保存 & テスト] を選択します。
Azure の外部でホストされている Grafana
Grafana インスタンスが Azure でホストされていない場合は、Microsoft Entra ID を使用して Azure Monitor ワークスペース内の Prometheus データに接続できます。
次の手順を使用して、Microsoft Entra ID 認証を設定します。
- アプリを Microsoft Entra ID に登録します。
- Azure Monitor ワークスペースへのアプリのアクセスを許可します。
- アプリの資格情報を使用してセルフホストされた Grafana を構成します。
アプリを Microsoft Entra ID に登録する
アプリを登録するには、Azure portal で [Active Directory の概要] ページを開きます。
アプリの登録 を選択します。
[アプリケーションの登録] ページで、アプリケーションの名前を入力します。
登録 を選択します。
[アプリケーション (クライアント) ID] と [ディレクトリ (テナント) ID] をメモします。 これらは、Grafana 認証設定で使用されます。
アプリの概要ページで、[証明書とシークレット] を選択します。
[クライアント シークレット] タブで、[新しいクライアント シークレット] を選択します。
[Description]\(説明\) を入力します。
ドロップダウンから有効期限の期間を選択し、[追加] を選択します。
注
シークレットを更新するプロセスを作成して、シークレットの有効期限が切れる前に Grafana データ ソースの設定を更新します。
シークレットの有効期限が切れると、Grafana は Azure Monitor ワークスペースのデータに対してクエリを実行できなくなります。
クライアント シークレットの [値] をコピーして保存します。
注
クライアント シークレットの値を表示できるのは、作成直後のみです。 ページを離れる前にシークレットを保存してください。
ワークスペースへのアプリのアクセスを許可する
アプリが Azure Monitor ワークスペースのデータに対してクエリを実行できるようにします。
Azure portal で Azure Monitor ワークスペースを開きます。
[概要] ページで、クエリ エンドポイントをメモします。 クエリ エンドポイントは、Grafana データ ソースを設定するときに使用されます。
[アクセス制御 (IAM)] を選択します。
[追加] を選択してから、[アクセス制御 (IAM)] ページで [ロールの割り当てを追加] を選択します。
[ロールの割り当ての追加] ページで、[監視] を検索します。
[Monitoring data reader] (監視データ閲覧者) を選択し、次に [メンバー] タブを選択します。
[メンバーの選択] を選びます。
「Microsoft Entra ID にアプリを登録する」セクションで登録したアプリを検索して選びます。
[選択] をクリックします。
レビュー + 割り当て を選択します。
アプリの登録を作成し、それにAzure Monitorワークスペースのデータを照会するためのアクセス権を割り当てました。 次の手順では、Grafana で Prometheus データ ソースを設定します。
Grafana では、Prometheus データ ソースを使用した Azure Monitor マネージド Prometheus への接続がサポートされるようになりました。 セルフホステッド Grafana では、Grafana で Azure 認証オプションを使用するために構成の変更が必要になります。 Azure によって管理されていない Grafana インスタンスの場合は、次の変更を行います。
バージョン 9.x 以降の Grafana では Azure 認証がサポートされていますが、既定では有効になっていません。 Azure 認証を有効にするには、Grafana 構成を更新し、Grafana インスタンスを再起動します。 grafana.ini
ファイルを見つけるには、Grafana Labs の「Grafana の構成」ドキュメントを確認してください。
- 仮想マシンで
grafana.ini
ファイルを見つけて開きます。
- お使いの Grafana のバージョンを確認します。
- Grafana 9.0 の場合は、
[feature_toggles]
セクションで prometheus_azure_auth
を true
に設定します。
- Grafana 9.1 以降のバージョンでは、
[auth]
セクションで azure_auth_enabled
設定を true
に設定します。
- Grafana インスタンスを再起動します。
Grafana で Prometheus データ ソースを作成する
次の手順を使用して、Prometheus をデータ ソースとして構成します。
ブラウザーで Grafana を開きます。
[接続] を選択してから、[データ ソース] を選択します。.
[データ ソースの追加] を選択します。
Prometheus を検索して選択します。
Azure Monitor ワークスペースのクエリ エンドポイントを [URL] フィールドに貼り付けます。
[認証] で、[ Azure Auth] を選択します。以前のバージョンの Grafana では、[ 認証] で Azure 認証を有効にします。
[Azure Authentication] (Azure 認証) で、[認証] ドロップダウンから [アプリの登録] を選択します。
アプリの登録の作成時に生成されたディレクトリ (テナント) ID、アプリケーション (クライアント) ID、クライアント シークレットを入力します。
ページの下部までスクロールし、[保存 & テスト] を選択します。
よく寄せられる質問
このセクションでは、一般的な質問への回答を示します。
メトリックのすべてまたは一部が欠落しています。 トラブルシューティングをどのように行えばよいですか?
トラブルシューティング ガイドを使用して、マネージド エージェントから Prometheus メトリックを取り込むことができます。
同じ名前で大文字と小文字が異なる 2 つのラベルを持つメトリックが見つからないのはなぜですか?
Azure マネージド Prometheus は、大文字と小文字を区別しないシステムです。 メトリック名、ラベル名、ラベル値などの文字列が、文字列の大文字と小文字が異なるだけで別の時系列と異なる場合、それらの文字列は同じ時系列として扱われます。 詳細については、Prometheus のメトリックの概要に関する記事を参照してください。
メトリック データにギャップが表示されますが、これはなぜ発生するのですか?
ノードの更新中に、クラスター レベルのコレクターから収集されたメトリックのメトリック データに 1 分から 2 分のギャップが表示される場合があります。 このギャップは、データが実行されているノードが通常の更新プロセスの一環として更新されているために発生します。 この更新プロセスにより、指定された kube-state-metrics やカスタム アプリケーション ターゲットなどのクラスター全体のターゲットが影響を受けます。 これは、クラスターが手動または自動更新によって更新されるときに発生します。 この動作は想定されているものであり、実行されているノードが更新されるために発生します。 この動作は、いずれも推奨される警告ルールの影響を受けません。
次のステップ