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