Grafana での Azure サービスの監視
Grafana とそれに含まれる Azure Monitor データ ソース プラグインを使用して、Azure のサービスとアプリケーションを監視できます。 このプラグインで、次の Azure サービスからデータが取得されます。
Azure Monitor メトリック: Azure リソースからの数値の時系列データ。
Azure Monitor ログ: Azure リソースからのログおよびパフォーマンス データ。強力な Kusto クエリ言語 (KQL) を使用してクエリを実行できます。 Application Insights ログ クエリを使用して、Application Insights ログベースのメトリックを取得できます。
- Application Insights ログベースのメトリック: 監視対象アプリの正常性を分析できます。 Grafana の Application Insights ログ クエリを使用して、Application Insights ログ メトリック データを活用できます。
Azure Monitor トレース: 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 ワークスペースで表示できるリソースを拡張するには、追加のアクセス許可を構成して、含まれているマネージド ID に他のサブスクリプションまたはリソースの監視閲覧者ロールを割り当てます。
Azure Managed Grafana ではないインスタンスを使用している場合は、Azure Monitor データソースを設定する必要があります。
[データソースの追加] を選択し、Azure という名前でフィルター処理して、Azure Monitor データ ソースを選択します。
データ ソースの名前を選択し、認証をマネージド ID またはアプリ登録のいずれかから選択します。
マネージド ID を有効にした独自の Azure Virtual Machines または Azure App Service インスタンスで Grafana をホストしている場合は、この方法を認証に使用できます。 一方、Grafana インスタンスが Azure でホストされていない場合、またはマネージド ID が有効になっていない場合は、アプリ登録と Azure サービス プリンシパルを使用して、認証を設定する必要があります。
マネージド ID の使用
VM または App Service インスタンスでマネージド ID を有効にし、Grafana サーバーでのマネージド ID のサポート設定を true に変更します。
ホスティング VM または App Service インスタンスのマネージド ID には、対象のサブスクリプション、リソース グループ、またはリソースに対する監視閲覧者ロールを割り当てる必要があります。
Grafana サーバー構成の設定
managed_identity_enabled = true
も更新する必要があります。詳細については、Grafana の構成に関する記事を参照してください。 両方の手順が完了したら、保存してアクセスをテストできます。
[Save & test] を選択し、Grafana で資格情報をテストします。 次のようなメッセージが表示されます。
アプリの登録を使用する
サービス プリンシパルを作成する。 Grafana では Microsoft Entra サービス プリンシパルを使用して Azure Monitor API に接続し、データを収集します。 Azure リソースへのアクセスを管理するには、サービス プリンシパルを作成するか、既存のものを使用する必要があります。
サービス プリンシパルを作成するには、ポータルで Microsoft Entra アプリとサービス プリンシパルを作成することに関する記事を参照してください。 ご自分のテナント ID (ディレクトリ ID)、クライアント ID (アプリケーション ID)、およびクライアント シークレット (アプリケーション キー値) をコピーして保存します。
アプリケーションへのロールの割り当てに関する記事を参照して、監視するサブスクリプション、リソース グループ、またはリソースの Microsoft Entra アプリケーションに監視閲覧者ロールを割り当てます。
使用する接続の詳細を指定します。
- プラグインを構成するときに、このプラグインで監視する Azure クラウド (パブリック、Azure US Government、Azure Germany、または 21Vianet によって運営される Microsoft Azure) を指定できます。
Note
一部のデータ ソース フィールドの名前は、相関関係にある Azure の設定の名前とは異なっています。
- [Tenant ID] (テナント ID) は Azure ディレクトリ ID です。
- [クライアント ID] は Microsoft Entra アプリケーション ID です。
- [クライアント シークレット] は、Microsoft Entra アプリケーション キー値です。
- プラグインを構成するときに、このプラグインで監視する Azure クラウド (パブリック、Azure US Government、Azure Germany、または 21Vianet によって運営される Microsoft Azure) を指定できます。
[Save & test] を選択し、Grafana で資格情報をテストします。 次のようなメッセージが表示されます。
そのまま利用できるダッシュボードを使用する
Azure Monitor には、Azure Managed Grafana と Azure Monitor プラグインと合わせて使用する、そのまま利用できるダッシュボードが含まれています。 使用できるすべてのダッシュボードの一覧は、Grafana Labs を参照してください。
Azure Monitor では、Prometheus 用 Azure Monitor マネージド サービスとのシームレスな統合でも、そのまま利用できるダッシュボードをサポートしています。 これらのダッシュボードは、Prometheus 用 Azure Monitor マネージド サービスにリンクされた際に、Azure Managed Grafana へ自動的にデプロイされます。
Grafana ダッシュボードを構築する
Grafana のホーム ページに移動し、[New Dashboard] (新しいダッシュボード) を選択します。
新しいダッシュボードで、[Add visualization] を選択し、Azure Monitor データ ソースを選択します。 他のチャート作成オプションを試すこともできますが、この記事では [Time series] を例として使用します。
空の [Time series panel] がダッシュボードに表示されます。
パネルを [Edit] してクエリを構成します。
Azure Monitor メトリック データを視覚化する: セレクターの一覧が表示され、このグラフで監視するサービスとリソースを選択できます。 VM のメトリックを表示するには、既定の [Metrics] の選択をそのままにし、[Resource] を選択して VM を選択し、表示されるドロップダウンを使用して名前空間、メトリック、集計を選択します。 VM とメトリックを選択すると、ダッシュボードでデータの表示を開始できます。
Azure Monitor ログ データを視覚化する: サービス ドロップダウン リストで [Logs] を選択します。 クエリを実行するリソースまたはワークスペースを選択し、[Time Range] を [Dashboard] に切り替えて、クエリ テキストを設定します。 設定済みのログ クエリをここにコピーすることも、新しく作成することもできます。 クエリを入力すると、IntelliSense によってオートコンプリート オプションが提案されます。 視覚化の種類で、[Time series] (時系列)>[Table] (表) を選択し、クエリを実行します。
Note
プラグインは、
$__timeFilter()
や$__interval
などの時間マクロも使用できます。 Grafana では、これらのマクロによって、グラフの一部を拡大するときに、時間範囲と時間グレインを動的に計算できます。 これらのマクロを削除し、TimeGenerated > ago(1h)
などの標準的な時間フィルターを使用できますが、それを行うと、グラフで拡大機能はサポートされなくなります。次のダッシュボードには、2 つのグラフがあります。 左側のグラフは、2 つの VM の CPU の割合を示します。 右側のグラフは、トランザクション API の種類で分類された Azure Storage アカウント内のトランザクションを示します。
Azure portal から Azure Managed Grafana にグラフをピン留めする
Grafana でパネルを構築するだけでなく、Azure Monitor からパネルを Grafana ダッシュボードに直接追加することで、Azure portal から新規または既存の Grafana ダッシュボードに Azure Monitor の視覚化をすばやくピン留めすることもできます。 リソースの [メトリック] に移動します。 グラフを作成して [ダッシュボードに保存] を選択した後、[Grafana にピン留めする] を選択します。 ワークスペースとダッシュボードを選択し、[ピン留め] を選択して操作を完了します。
Grafana 11 でサポートされる機能
Azure Managed Grafana には、基本的なログの機能と Azure での例示の使用に関する機能が導入された Grafana 11 (プレビュー) のサポートが含まれています。
前提条件
- Grafana バージョン 11 を実行する Azure Managed Grafana リソース。
基本ログ
基本ログは、データ使用量に基づいてさまざまなテーブル プランを切り替えることができるため、データ ストレージを管理するためのコスト効率の高い方法が用意されています。「Log Analytics ワークスペースでのデータ使用状況に基づいてテーブル プランを選択する」を参照してください。
基本ログを有効にする
- Grafana で、[Connections]>[Data sources]>[Azure Monitor] に移動します。
- [Settings] タブで、[Enable Basic Logs] スイッチを右に切り替えます (青色は [On])。
基本ログを使用する
- 新しいダッシュボードを作成します。
- 空のグラフの下にある [(Azure Monitor)] の [Service] を [Logs] に切り替えます。
- [Resource] で、Log Analytics ワークスペースを選択します。
- ログを [Analytics] から [Basic] に切り替えることができるようになりました。
Note
基本ログへの切り替えには制限があります。
- [Time range] は、[Dashboard] の時間になります。 [Time range] を [Query] に戻すことはできません。
- 基本ログの場合、クエリごとにコストが発生します。詳細については、「Log Analytics ワークスペースでのデータ使用状況に基づいてテーブル プランを選択する」を参照してください。
Azure で例示を使用する
Grafana 11 では、例示は Application Insights のトレース データに直接リンクできます。 この統合により、Prometheus メトリック データを詳細なトレースと接続できるようになり、システムのパフォーマンスと動作をより包括的に把握できます。 Grafana のトレース ビューの詳細については、「Traces in Explore」(Explore のトレース) を参照してください。
Azure を指すように例示を構成する
- Grafana で、[Connections]>[Data sources]>[Prometheus] に移動します。
- [Exemplars] の下の [Settings] タブで、[+ Add] を選択します。
- [Internal link] スイッチを右に切り替えます (青色は [On])。
- ドロップダウン リストから [Azure] を選択します。
- 省略可能: [URL Label] を追加します。
- 変更の [Save & test] を行います。
Note
たとえば、ZIPKIN や Jaeger などのオープン ソース トレース プラットフォームの場合は、新しい例示を [+ Add] できます。
Azure で例示を表示する
- Grafana で、[Explore] に移動します。
- [Metric] で、Prometheus データ ソースを選択します。
- [Run query] を選択してグラフにデータを設定します。
- [Options] バーで、[Exemplars] スイッチを右に切り替えます (青色は [On])。 これにより、グラフの X 軸に黄色の四角形で示されるデータ ポイントが追加されます。
- データ ポイントにマウス ポインターを合わせると、コンテキスト メニューが表示され、traceID、値などの詳細が表示されます。
- コンテキスト メニューで、例示に指定した [Azure] または [URL Label] を選択します。 これにより、現在の [Prometheus] パネルの隣に [Azure] パネルが開き、Grafana ビューアーにトレース情報が表示されます。
Grafana の高度な機能
Grafana には、次のような高度な機能があります。
- Azure Monitor プラグイン変数 - Azure Monitor template variables (Azure Monitor テンプレート変数) | Grafana ドキュメント
- ダッシュボード プレイリスト - Manage playlists (プレイリストの管理) | Grafana Cloud ドキュメント
省略可能: 同じ Grafana ダッシュボードで他のデータソースを監視する
これらのメトリックをダッシュボードにまとめて表示するために使用できる多くのデータ ソース プラグインがあります。
Telegraf、InfluxDB、Prometheus 用 Azure Monitor マネージド サービス、Docker の使用方法に関する優れた参考記事を次に示します。
- Azure Managed Grafana のデータ ソースを構成する方法
- 管理サービス ID を使用して Grafana のデータ ソースとして Prometheus 用の Azure Monitor 管理サービスを使用する
- How To Monitor System Metrics with the TICK Stack on Ubuntu 16.04 (Ubuntu 16.04 で TICK スタックを使用してシステム メトリックを監視する方法)
- A monitoring solution for Docker hosts, containers, and containerized services (Docker ホスト、コンテナー、およびコンテナー化されたサービスの監視ソリューション)
これは、Azure Monitor のメトリック、ログ、トレースのメトリックが組み合わされた完全な Grafana ダッシュボードのイメージです。
リソースをクリーンアップする
Azure 上に Grafana 環境をセットアップした場合、使用しているかどうかに関わらず、リソースが実行されたときに課金されます。 追加料金が発生しないようにするには、この記事で作成されたリソース グループをクリーンアップします。
- Azure portal の左側のメニューで、[リソース グループ]>[Grafana] を選択します。
- リソース グループのページで [削除] を選択し、テキスト ボックスに「Grafana」と入力してから [削除] を選択します。