Help us understand the problem. What is going on with this article?

Azure MonitorのデータをGrafanaで可視化する

GrafanaでのAzureの監視

GrafanaAzure Monitorのデータソースプラグイン があって、これを使うとAzure Monitor, Log Analytics, Application InsightsのデータをGrafanaで可視化できる。GrafanaであればAzure Monitorだけじゃなくて、Graphiteをはじめとしたいろんなデータソースを使うことができるので、モニタリングのダッシュボードをここに集約できてよさそうだ。グラフもかっこいいし。

環境構築

Azure MarketplaceからGrafanaをデプロイ

Azure Marketplaceで"Grafana"と検索すると以下のようにGrafana LabsのGrafanaが出てくるので、これを選んでデプロイする。デプロイは普通の仮想マシンとあまり変わらないので、仮想マシンのデプロイをしたことがあるなら困らないはず。
image.png

これはデプロイ後の仮想マシンの管理画面。
vm.PNG

リソースグループにgrafana-nsgが作成されているが、デプロイした環境ではNetwork interfaceにもSubnetにもどこにも関連付けされていなかった。念のためデプロイ後に確認したほうがよさそう。InboundルールとしてGrafanaサーバアクセス用の3000/TCPが開放されている。
image.png

Grafanaのデータソース設定

ブラウザから http://<パブリックIP>:3000 または http://:3000 にアクセスして以下のようにGrafanaのログイン画面が出て来たらいったんデプロイ成功。
image.png

Marketplaceからのデプロイ時に設定した認証情報を入れてログインするとホーム画面が出てくる。Marketplaceからデプロイすると最初からAzure Monitorプラグインがセットされている。ここで "Add data source" を選択してデータソースの設定を行う。
image.png

データソースの設定のためには、ひと手間必要で、Azure Monitor等のリソースにGrafanaからアクセスするためのサービスプリンシパルっていうのを作成しないといけない。"サービス プリンシパルは、リソース/サービス レベルの無人操作を実行する目的でテナント内で作成する Azure Active Directory アプリケーション リソースです。" って公式ドキュメントに書いてあるが、簡単に言うとアプリのための代表のユーザーみたいなもん。
サービスプリンシパルの作り方や権限の与え方の公式ドキュメント に沿って作成する。Azure Monitorデータソースを使用するには、作ったサービスプリンシパルに対象のサブスクリプションまたはリソースグループまたはリソースに対しての"閲覧者(Reader)"ロールを割り当てる必要がある。ロールの割り当て方法は このページの通りの操作 (ロールはReaderを割り当て) で、下図のように設定することでできた。
roleassignment.PNG
Log Analyticsに関しては後日設定して投稿する予定。

Grafanaのデータソース設定画面では以下のように設定する。

項目 設定
Name データソース名
Type Azure Monitor

Azure Monitor API Detailsでは以下のように設定する。

項目 設定
Azure Cloud Azure (GovernmentとかChinaのような個別クラウドも選択できる!)
Subscription Id  サブスクリプションのID
Tenant Id  Azure ADのディレクトリID
Client Id  サービスプリンシパルのApplication ID
Client Secret  サービスプリンシパルで作成したキー

Log Analyticsのところで同じ資格情報を使いたい場合はSame details as Azure Monitor APIにチェックを入れればOK (今回はスキップ)。
datasource.PNG

Dashboardの作成

Azure Monitorのデータソース設定が完了したら、GrafanaのHomeに戻り、New Dashboardを選択。ダッシュボードに掲載するオブジェクトのタイプを聞かれるのでGraphを選択する。
image.png

Graphのオブジェクトが配置されるので、Panel TitleをクリックしてEditを選択すると、グラフの編集画面に遷移する。
image.png

Metricsタブで、Service箇所に作成したデータソースのAzure Monitorを選択し、Azureのリソースグループをはじめとした各種の監視対象を選択し、グラフ化したいMetricを選択(ここでは仮想マシンのPercentage CPUの指定期間での平均値)すると、図のようにグラフが表示される。
image.png

必要なメトリックで作ったグラフを並べて、監視ダッシュボードがこんな感じでできる。
image.png

次はLog Analyticsのほうを試してみる予定。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away