Grafana での Azure サービスの監視Monitor your Azure services in Grafana

Azure Monitor データ ソース プラグインを使用して Grafana から Azure のサービスとアプリケーションを監視できるようになりました。You can now monitor Azure services and applications from Grafana using the Azure Monitor data source plugin. このプラグインを使用して、Azure Monitor によって収集されたアプリケーションのパフォーマンス データ (さまざまなログやメトリックなど) を一か所にまとめることができます。The plugin gathers application performance data collected by Azure Monitor, including various logs and metrics. その後、このデータを Grafana ダッシュボードで表示できます。You can then display this data on your Grafana dashboard.

Grafana サーバーをセットアップし、Azure Monitor のメトリックとログ用のダッシュボードを構築するには、次の手順を使用します。Use the following steps to set up a Grafana server and build dashboards for metrics and logs from Azure Monitor.

Grafana サーバーをセットアップするSet up a Grafana server

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

Grafana サーバーをローカルにセットアップするには、Grafana をダウンロードし、ご自分のローカル環境にインストールします。To set up a local Grafana server, download and install Grafana in your local environment. プラグインの Azure Monitor の統合を使用するには、Grafana バージョン 5.3 以降をインストールします。To use the plugin's Azure Monitor integration, install Grafana version 5.3 or higher.

Azure Marketplace を使用して Azure 上に Grafana をセットアップするSet up Grafana on Azure through the Azure Marketplace

  1. Azure Marketplace に移動し、Grafana Labs のそばの Grafana を選択します。Go to Azure Marketplace and pick Grafana by Grafana Labs.

  2. 名前と詳細を入力します。Fill in the names and details. 新しいリソース グループを作成します。Create a new resource group. VM ユーザー名、VM パスワード、および Grafana サーバー管理者のパスワードとして選択した値を記録してください。Keep track of the values you choose for the VM username, VM password, and Grafana server admin password.

  3. VM サイズとストレージ アカウントを選択します。Choose VM size and a storage account.

  4. ネットワーク構成設定を構成します。Configure the network configuration settings.

  5. 概要を表示し、使用条件を受け入れた後、 [作成] を選択します。View the summary and select Create after accepting the terms of use.

  6. デプロイが完了したら、 [Go to Resource Group] (リソース グループに移動する) を選択します。After the deployment completes, select Go to Resource Group. 新しく作成されたリソースの一覧が表示されます。You see a list of newly created resources.

    Grafana リソース グループ オブジェクト

    ネットワーク セキュリティ グループ (この場合は grafana-nsg) を選択すると、Grafana サーバーへのアクセスのためにポート 3000 が使用されることを確認できます。If you select the network security group (grafana-nsg in this case), you can see that port 3000 is used to access Grafana server.

  7. Grafana サーバーのパブリック IP アドレスを取得します。リソースの一覧に戻り、 [パブリック IP アドレス] を選択します。Get the public IP address of your Grafana server - go back to the list of resources and select Public IP address.

Grafana にサインインするSign in to Grafana

  1. ブラウザーで、サーバーの IP アドレスを使用して [ログイン] ページを開きます (http://<IP アドレス>:3000 または <ドメイン名>:3000)。Using the IP address of your server, open the Login page at http://<IP address>:3000 or the <DNSName>:3000 in your browser. 3000 は既定のポートです。セットアップ中にご自身で別のポートを選択している場合があることに注意してください。While 3000 is the default port, note you might have selected a different port during setup. 構築した Grafana サーバーのログイン ページが表示されます。You should see a login page for the Grafana server you built.

    Grafana ログイン画面

  2. ユーザー名 admin と、作成済みの Grafana サーバー管理者のパスワードを使用してサインインします。Sign in with the user name admin and the Grafana server admin password you created earlier. ローカル セットアップを使用している場合、既定のパスワードは admin であり、初回のログイン時に変更することを要求されます。If you're using a local setup, the default password would be admin, and you'd be requested to change it on your first login.

データ ソース プラグインを構成するConfigure data source plugin

正常にログインすると、Azure Monitor データ ソース プラグインが既に含まれていることが確認されます。Once successfully logged in, you should see that the Azure Monitor data source plugin is already included.

Grafana に Azure Monitor プラグインが含まれている

  1. Azure Monitor データソースを追加するには、 [Add data source](データ ソースの追加) を選択します。Select Add data source to add and configure the Azure Monitor data source.

  2. データ ソースの名前を選択し、種類としてドロップダウンから [Azure Monitor] を選択します。Pick a name for the data source and select Azure Monitor as the type from the dropdown.

  3. サービス プリンシパルを作成します。Grafana では、Azure Active Directory サービス プリンシパルを使用して Azure Monitor API に接続してメトリック データを収集します。Create a service principal - Grafana uses an Azure Active Directory service principal to connect to Azure Monitor APIs and collect data. Azure リソースへのアクセスを管理するには、サービス プリンシパルを作成するか、既存のものを使用する必要があります。You must create, or use an existing service principal, to manage access to your Azure resources.

    • サービス プリンシパルを作成するには、この手順を参照してください。See these instructions to create a service principal. ご自分のテナント ID (ディレクトリ ID)、クライアント ID (アプリケーション ID)、およびクライアント シークレット (アプリケーション キー値) をコピーして保存します。Copy and save your tenant ID (Directory ID), client ID (Application ID) and client secret (Application key value).
    • アプリケーションへのロールの割り当てに関する記事を参照して、監視するサブスクリプション内の Azure Active Directory アプリケーション、リソース グループ、またはリソースに閲覧者ロールを割り当てます。See Assign application to role to assign the Reader role to the Azure Active Directory application on the subscription, resource group or resource you want to monitor. Log Analytics API には、閲覧者ロールのアクセス許可を含むLog Analytics 閲覧者ロールが必要なので、それを追加します。The Log Analytics API requires the Log Analytics Reader role, which includes the Reader role's permissions and adds to it.
  4. 使用する API への接続の詳細を指定します。Provide the connection details to the APIs you'd like to use. それらのすべてまたは一部に接続できます。You can connect to all or to some of them.

    • Azure Monitor のメトリックとログの両方に接続する場合は、 [Same details as Azure Monitor API](Azure Monitor API の詳細と同じ) を選択することで、同じ資格情報を再利用できます。If you connect to both metrics and logs in Azure Monitor, you can reuse the same credentials by selecting Same details as Azure Monitor API.

    • プラグインを構成するときに、このプラグインで監視する Azure クラウド (パブリック、Azure US Government、Azure Germany、または Azure China) を指定できます。When configuring the plugin, you can indicate which Azure Cloud you would like the plugin to monitor (Public, Azure US Government, Azure Germany, or Azure China).

    • Application Insights を使用する場合は、Application Insights ベースのメトリックを収集するための Application Insights API とアプリケーション ID も含めることができます。If you use Application Insights, you can also include your Application Insights API and application ID to collect Application Insights based metrics. 詳細については、「Getting your API key and Application ID (API キーとアプリケーション ID の取得)」を参照してください。For more information, see Getting your API key and Application ID.

      注意

      一部のデータ ソース フィールドの名前は、相関関係にある Azure の設定の名前とは異なっています。Some data source fields are named differently than their correlated Azure settings:

      • [Tenant ID](テナント ID) は Azure ディレクトリ ID です。Tenant ID is the Azure Directory ID
      • [Client ID](クライアント ID) は Azure Active Directory のアプリケーション ID です。Client ID is the Azure Active Directory Application ID
      • [Client Secret](クライアント シークレット) は Azure Active Directory のアプリケーション キー値です。Client Secret is the Azure Active Directory Application key value
  5. Application Insights を使用する場合は、Application Insights ベースのメトリックを収集するための Application Insights API とアプリケーション ID も含めることができます。If you use Application Insights, you can also include your Application Insights API and application ID to collect Application Insights based metrics. 詳細については、「Getting your API key and Application ID (API キーとアプリケーション ID の取得)」を参照してください。For more information, see Getting your API key and Application ID.

  6. [保存] を選択します。Grafana によって各 API の資格情報がテストされます。Select Save, and Grafana will test the credentials for each API. 次のようなメッセージが表示されます。You should see a message similar to the following one.
    Grafana でのデータ ソース構成が承認されたGrafana data source config approved

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

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

  2. 新しいダッシュボードで、 [Graph] (グラフ) を選択します。In the new dashboard, select the Graph. 他のチャート作成オプションを試すこともできますが、この記事では [Graph] (グラフ) を例として使用します。You can try other charting options but this article uses Graph as an example.

  3. ダッシュボードに空白のグラフが表示されます。A blank graph shows up on your dashboard. パネルのタイトルをクリックし、 [編集] を選択して、このグラフ チャートにプロットするデータの詳細を入力します。Click on the panel title and select Edit to enter the details of the data you want to plot in this graph chart. Grafana の新しいグラフGrafana new graph

  4. 構成した Azure Monitor データ ソースを選択します。Select the Azure Monitor data source you've configured.

    • Azure Monitor のメトリックの収集 - [Service](サービス) のドロップダウンから [Azure Monitor] を選択します。Collecting Azure Monitor metrics - select Azure Monitor in the service dropdown. セレクターの一覧が表示されます。この一覧から、このグラフで監視するリソースとメトリックを選択できます。A list of selectors shows up, where you can select the resources and metric to monitor in this chart. VM からメトリックを収集するには、Microsoft.Compute/VirtualMachines 名前空間を使用します。To collect metrics from a VM, use the namespace Microsoft.Compute/VirtualMachines. VM とメトリックを選択したら、ダッシュボードでのそれらのデータの表示を開始できます。Once you have selected VMs and metrics, you can start viewing their data in the dashboard. Grafana での Azure Monitor 用のグラフの構成Grafana graph config for Azure Monitor

    • Azure Monitor ログ データの収集 - サービスのドロップダウンから [Azure Log Analytics] を選択します。Collecting Azure Monitor log data - select Azure Log Analytics in the service dropdown. クエリを実行するワークスペースを選択し、クエリ テキストを設定します。Select the workspace you'd like to query and set the query text. 設定済みのログ クエリをここにコピーすることも、新しく作成することもできます。You can copy here any log query you already have or create a new one. クエリの入力中は、IntelliSense が起動し、オートコンプリートによる選択肢が表示されます。As you type in your query, IntelliSense will show up and suggest autocomplete options. 視覚化の種類と時系列 テーブルを選択し、クエリを実行します。Select the visualization type, Time series Table, and run the query.

      注意

      プラグインに用意されている既定のクエリでは、2 つのマクロ ($__timeFilter() と $__interval) が使用されます。The default query provided with the plugin uses two macros: "$__timeFilter() and $__interval. Grafana では、これらのマクロによって、グラフの一部を拡大するときに、時間範囲と時間グレインを動的に計算できます。These macros allow Grafana to dynamically calculate the time range and time grain, when you zoom in on part of a chart. これらのマクロを削除し、TimeGenerated > ago(1h) などの標準的な時間フィルターを使用できますが、それを行うと、グラフで拡大機能はサポートされなくなります。You can remove these macros and use a standard time filter, such as TimeGenerated > ago(1h), but that means the graph would not support the zoom in feature.

      Grafana での Azure Log Analytics 用のグラフの構成

  5. 2 つのグラフを含む単純なダッシュボードを次に示します。Following is a simple dashboard with two charts. 左側のグラフは、2 つの VM の CPU の割合を示します。The one on left shows the CPU percentage of two VMs. 右側のグラフは、トランザクション API の種類で分類された Azure Storage アカウント内のトランザクションを示します。The chart on the right shows the transactions in an Azure Storage account broken down by the Transaction API type. Grafana の 2 つのグラフの例Grafana Two Charts Example

省略可能:同じ Grafana サーバーでカスタム メトリックを監視するOptional: Monitor your custom metrics in the same Grafana server

Telegraf と InfluxDB をインストールして、同じ Grafana インスタンスでカスタム メトリックとエージェント ベースのメトリックの両方を収集してプロットすることもできます。You can also install Telegraf and InfluxDB to collect and plot both custom and agent-based metrics same Grafana instance. これらのメトリックをダッシュボードにまとめて表示するために使用できる多くのデータ ソース プラグインがあります。There are many data source plugins that you can use to bring these metrics together in a dashboard.

この設定を再利用して、Prometheus サーバーからのメトリックを含めることもできます。You can also reuse this set up to include metrics from your Prometheus server. Grafana のプラグイン ギャラリーにある Prometheus データ ソース プラグインを使用します。Use the Prometheus data source plugin in Grafana's plugin gallery.

Telegraf、InfluxDB、Prometheus、および Docker の使用方法に関する優れた参照記事を次に示します。Here are good reference articles on how to use Telegraf, InfluxDB, Prometheus, and Docker

Azure Monitor および Application Insights からのメトリックを含む完全な Grafana ダッシュボードのイメージを次に示します。Here is an image of a full Grafana dashboard that has metrics from Azure Monitor and Application Insights. Grafana Example Metrics (Grafana のメトリックの例)Grafana Example Metrics

Grafana の高度な機能Advanced Grafana features

変数Variables

いくつかのクエリの値は、UI のドロップダウン リストから選択してクエリ内で更新できます。Some query values can be selected through UI dropdowns, and updated in the query. 例として次のクエリを検討します。Consider the following query as an example:

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

使用可能なすべてのソリューションの値を一覧表示する変数を構成し、それを使用するようにクエリを更新できます。You can configure a variable that will list all available Solution values, and then update your query to use it. 新しい変数を作成するには、ダッシュボードの右上の領域にある [Settings](設定) をクリックし、 [Variables](変数)[New](新規) の順に選択します。To create a new variable, click the dashboard's Settings button in the top right area, select Variables, and then New. [Variable](変数) ページで、データ ソースと、値の一覧を取得するために実行するクエリを定義します。On the variable page, define the data source and query to run in order to get the list of values. Grafana での変数の構成Grafana configure variable

作成したら、選択した値を使用するようにクエリを調整します。グラフがそれに応答して変化します。Once created, adjust the query to use the selected value(s) and your charts will respond accordingly:

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

Grafana での変数の使用

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

Grafana の多くの有効な機能の 1 つに、ダッシュボード再生リストがあります。One of the many useful features of Grafana is the dashboard playlist. 複数のダッシュボードを作成し、それらを再生リストに追加して、表示するダッシュボードごとに間隔を構成できます。You can create multiple dashboards and add them to a playlist configuring an interval for each dashboard to show. ダッシュボードのサイクル全体を表示するには、 [再生] を選択します。Select Play to see the dashboards cycle through. それらを大きな壁のモニタに表示して、グループの状態ボードを提供できます。You may want to display them on a large wall monitor to provide a status board for your group.

Grafana の再生リストの例

リソースのクリーンアップClean up resources

Azure 上に Grafana 環境をセットアップした場合、VM を使用しているかどうかにかかわらず、VM が実行されたときに課金されます。If you've setup a Grafana environment on Azure, you are charged when VMs are running whether you are using them or not. 追加料金が発生しないようにするには、この記事で作成されたリソース グループをクリーンアップします。To avoid incurring additional charges, clean up the resource group created in this article.

  1. Azure Portal の左側のメニューから、 [リソース グループ][Grafana] の順にクリックします。From the left-hand menu in the Azure portal, click Resource groups and then click Grafana.
  2. リソース グループのページで、 [削除] をクリックし、テキスト ボックスに「Grafana」と入力してから [削除] をクリックします。On your resource group page, click Delete, type Grafana in the text box, and then click Delete.

次の手順Next steps