Grafana での Azure サービスの監視

Grafana とそれに含まれる Azure Monitor データ ソース プラグインを使用して、Azure のサービスとアプリケーションを監視できます。 このプラグインで、次の Azure サービスからデータが取得されます。

  • Azure Monitor メトリック: Azure リソースからの数値の時系列データ。
  • Azure Monitor ログ: Azure リソースからのログおよびパフォーマンス データ。強力な Kusto クエリ言語 (KQL) を使用してクエリを実行できます。 Application Insights ログ クエリを使用して、Application Insights ログ ベースのメトリックを取得できます
  • Azure Resource Graph: サブスクリプション全体の Azure リソースにすばやくクエリを実行して特定します。

その後、このパフォーマンスと可用性のデータを Grafana ダッシュボードに表示できます。

Grafana サーバーをセットアップし、Azure Monitor のメトリックとログ用のダッシュボードを構築するには、次の手順を使用します。

Grafana を設定する

Grafana を設定するには、次の手順に従います。

Azure Managed Grafana を設定する

Azure Managed Grafana は Azure 環境向けに最適化されており、Azure Monitor とシームレスに連携します。 次のことを実行できます。

  • Microsoft Entra ID を使用してユーザー認証とアクセス制御を管理します。
  • Azure portal から Azure Managed Grafana ダッシュボードにグラフを直接ピン留めする。

このクイックスタート ガイドを使用して、Azure portal を使用して Azure Managed Grafana ワークスペースを作成します。

Grafana をローカルにセットアップする

Grafana サーバーをローカルにセットアップするには、Grafana をダウンロードし、ご自分のローカル環境にインストールします。

Grafana にサインインする

重要

Internet Explorer と旧 Microsoft Edge ブラウザーは、Grafana との互換性がありません。 Microsoft Edge を含む chromium ベースのブラウザーを使用する必要があります。 詳細については、Grafana でサポートされている Web ブラウザーに関する記事を参照してください。

Azure Managed Grafana ワークスペースのエンドポイント URL またはサーバーの IP アドレスを使用して Grafana にサインインします。

Azure Monitor データ ソース プラグインを構成する

Azure Managed Grafana は、Azure Monitor データソース プラグインを含みます。 既定では、プラグインは、Grafana ワークスペースがデプロイされたサブスクリプション内のすべてのリソースから監視データを照会および視覚化できるマネージド ID で事前に構成されています。 「Grafana ダッシュボードを構築する」セクションに進んでください。

Azure Managed Grafana ホーム ページを示すスクリーンショット。

Azure Managed Grafana ワークスペースで表示できるリソースを拡張するには、追加のアクセス許可を構成して、含まれているマネージド ID に他のサブスクリプションまたはリソースの監視閲覧者ロールを割り当てます。

Azure Managed Grafana ではないインスタンスを使用している場合は、Azure Monitor データソースを設定する必要があります。

  1. [データソースの追加] を選択し、Azure という名前でフィルター処理して、Azure Monitor データ ソースを選択します。

    Azure Monitor データ ソースの選択を示すスクリーンショット。

  2. データ ソースの名前を選択し、認証をマネージド ID またはアプリ登録のいずれかから選択します。

マネージド ID を有効にした独自の Azure Virtual Machines または Azure App Service インスタンスで Grafana をホストしている場合は、この方法を認証に使用できます。 一方、Grafana インスタンスが Azure でホストされていない場合、またはマネージド ID が有効になっていない場合は、アプリ登録と Azure サービス プリンシパルを使用して、認証を設定する必要があります。

マネージド ID の使用

  1. VM または App Service インスタンスでマネージド ID を有効にし、Grafana サーバーでのマネージド ID のサポート設定を true に変更します。

    • ホスティング VM または App Service インスタンスのマネージド ID には、対象のサブスクリプション、リソース グループ、またはリソースに対する監視閲覧者ロールを割り当てる必要があります。
    • また、Grafana サーバーの構成で managed_identity_enabled = true の設定を更新する必要があります。詳細については、Grafana の構成に関する記事を参照してください。 両方の手順が完了したら、保存してアクセスをテストできます。
  2. [保存 & テスト] を選択すると、Grafana によって資格情報がテストされます。 次のようなメッセージが表示されます。

    構成が承認されたマネージド ID を持つ Azure Monitor データ ソースを示すスクリーンショット。

アプリの登録を使用する

  1. サービス プリンシパルを作成する。 Grafana では Microsoft Entra サービス プリンシパルを使用して Azure Monitor API に接続し、データを収集します。 Azure リソースへのアクセスを管理するには、サービス プリンシパルを作成するか、既存のものを使用する必要があります。

  2. 使用する接続の詳細を指定します。

    • プラグインを構成するときに、このプラグインで監視する Azure クラウド (パブリック、Azure US Government、Azure Germany、または 21Vianet によって運営される Microsoft Azure) を指定できます。

      Note

      一部のデータ ソース フィールドの名前は、相関関係にある Azure の設定の名前とは異なっています。

      • [Tenant ID] (テナント ID) は Azure ディレクトリ ID です。
      • [クライアント ID] は Microsoft Entra アプリケーション ID です。
      • [クライアント シークレット] は、Microsoft Entra アプリケーション キー値です。
  3. [保存 & テスト] を選択すると、Grafana によって資格情報がテストされます。 次のようなメッセージが表示されます。

    承認されたアプリの登録を含む Azure Monitor データ ソースの構成を示すスクリーンショット。

そのまま利用できるダッシュボードを使用する

Azure Monitor には、Azure Managed Grafana と Azure Monitor プラグインと合わせて使用する、そのまま利用できるダッシュボードが含まれています。

そのまま利用できる Azure Monitor Grafana ダッシュボードを示すスクリーンショット。

Azure Monitor では、Prometheus 用 Azure Monitor マネージド サービスとのシームレスな統合でも、そのまま利用できるダッシュボードをサポートしています。 これらのダッシュボードは、Prometheus 用 Azure Monitor マネージド サービスにリンクされた際に、Azure Managed Grafana へ自動的にデプロイされます。

Prometheus 用 Azure Monitor マネージド サービスで、そのまま利用できる Azure Monitor Grafana ダッシュボードを示すスクリーンショット。

Grafana ダッシュボードを構築する

  1. Grafana のホーム ページに移動し、[New Dashboard] (新しいダッシュボード) を選択します。

  2. 新しいダッシュボードで、[Graph] (グラフ) を選択します。 他のチャート作成オプションを試すこともできますが、この記事では [Graph] (グラフ) を例として使用します。

  3. ダッシュボードに空白のグラフが表示されます。 パネルのタイトルを選択し、[Edit] (編集) を選択して、このグラフ チャートにプロットするデータの詳細を入力します。

    Grafana の新しいパネル ドロップダウン リスト オプションを示すスクリーンショット。

  4. 構成した Azure Monitor データ ソースを選択します。

    • Azure Monitor のメトリックの可視化: サービス ドロップダウン リストから [Azure Monitor] を選択します。 セレクターの一覧が表示されます。この一覧から、このグラフで監視するリソースとメトリックを選択できます。 VM からメトリックを収集するには、Microsoft.Compute/VirtualMachines 名前空間を使用します。 VM とメトリックを選択したら、ダッシュボードでのそれらのデータの表示を開始できます。

      Azure Monitor メトリックの Grafana パネル構成を示すスクリーンショット。

    • Azure Monitor ログ データの可視化: サービス ドロップダウン リストから [Azure Log Analytics] を選択します。 クエリを実行するワークスペースを選択し、クエリ テキストを設定します。 設定済みのログ クエリをここにコピーすることも、新しく作成することもできます。 クエリを入力すると、IntelliSense によってオートコンプリート オプションが提案されます。 視覚化の種類で、[Time series] (時系列)>[Table] (表) を選択し、クエリを実行します。

      Note

      プラグインに用意されている既定のクエリでは、2 つのマクロ $__timeFilter()$__interval が使用されます。 Grafana では、これらのマクロによって、グラフの一部を拡大するときに、時間範囲と時間グレインを動的に計算できます。 これらのマクロを削除し、TimeGenerated > ago(1h) などの標準的な時間フィルターを使用できますが、それを行うと、グラフで拡大機能はサポートされなくなります。

      Azure Monitor ログの Grafana パネル構成のスクリーンショット。

  5. 次のダッシュボードには、2 つのグラフがあります。 左側のグラフは、2 つの VM の CPU の割合を示します。 右側のグラフは、トランザクション API の種類で分類された Azure Storage アカウント内のトランザクションを示します。

    2 つのパネルを含む Grafana ダッシュボードのスクリーンショット。

Azure portal から Azure Managed Grafana にグラフをピン留めする

Grafana でパネルを構築するだけでなく、Azure Monitor からパネルを Grafana ダッシュボードに直接追加することで、Azure portal から新規または既存の Grafana ダッシュボードに Azure Monitor の視覚化をすばやくピン留めすることもできます。 リソースの [メトリック] に移動します。 グラフを作成して [ダッシュボードに保存] を選択した後、[Grafana にピン留めする] を選択します。 ワークスペースとダッシュボードを選択し、[ピン留め] を選択して操作を完了します。

Azure Monitor メトリックス エクスプローラーの [Grafana にピン留めする] オプションを示すスクリーンショット。

Grafana の高度な機能

Grafana には高度な機能があります。

変数

いくつかのクエリの値は、UI のドロップダウン リストから選択してクエリ内で更新できます。 例として次のクエリを検討します。

Usage 
| where $__timeFilter(TimeGenerated) 
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval) 
| sort by TimeGenerated

使用可能なすべてのソリューションの値を一覧表示する変数を構成し、それを使用するようにクエリを更新できます。 新しい変数を作成するには、ダッシュボードの右上の領域にある [Settings] (設定) ボタンを選択し、[Variables] (変数)[New] (新規) の順に選択します。 [Variable] (変数) ページで、データ ソースと、値の一覧を取得するために実行するクエリを定義します。

Grafana 構成変数を示すスクリーンショット。

作成したら、選択した値を使用するようにクエリを調整します。グラフがそれに応答して変化します。

Usage 
| where $__timeFilter(TimeGenerated) and Solution in ($Solutions)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval) 
| sort by TimeGenerated

Grafana での変数の使用を示すスクリーンショット。

ダッシュボード再生リストを作成する

Grafana の多くの有効な機能の 1 つに、ダッシュボード再生リストがあります。 複数のダッシュボードを作成し、それらを再生リストに追加して、表示するダッシュボードごとに間隔を構成できます。 ダッシュボードのサイクル全体を表示するには、 [再生] を選択します。 それらを大きな壁のモニタに表示して、グループの状態ボードを提供できます。

Grafana の再生リストの例を示すスクリーンショット。

省略可能: 同じ Grafana ダッシュボードで他のデータソースを監視する

これらのメトリックをダッシュボードにまとめて表示するために使用できる多くのデータ ソース プラグインがあります。

Telegraf、InfluxDB、Prometheus 用 Azure Monitor マネージド サービス、Docker の使用方法に関する優れた参考記事を次に示します。

Azure Monitor および Application Insights からのメトリックを含む完全な Grafana ダッシュボードのイメージを次に示します。

複数のパネルを含む Grafana ダッシュボードを示すスクリーンショット。

リソースをクリーンアップする

Azure 上に Grafana 環境をセットアップした場合、使用しているかどうかにかかわらず、リソースが実行されたときに課金されます。 追加料金が発生しないようにするには、この記事で作成されたリソース グループをクリーンアップします。

  1. Azure portal の左側のメニューで、[リソース グループ]>[Grafana] を選択します。
  2. リソース グループのページで [削除] を選択し、テキスト ボックスに「Grafana」と入力してから [削除] を選択します。

次のステップ

Azure Monitor メトリックの概要