X(クロス)イノベーション本部 クラウドイノベーションセンターの田村です。 普段の業務では、Microsoft Azure のアップデートや新サービスの調査検証をしており、その一環として Azure Managed Grafana の調査を実施しました。
本記事では、Azure Managed Grafana の概要と機能について、調査結果を絡めてご紹介します。
Azure Managed Grafana とは
Azure Managed Grafana は、Microsoft と Grafana Lab 社が開発したフルマネージドの可視化サービスです。 Grafana は Grafana Lab 社が提供するサービスでしたが、このたび Microsoft とパートナーシップを結び、Azure のマネージドサービスとして公開されました。
もともと Grafana はオープンソースの可視化サービスとして知られており、Kibana や Metabase といったサービスとよく比較されている印象があります。
Azure Managed Grafana の特徴としては、下記の 4 点が紹介されています。
- Azure に最適化
- Azure Monitor や Azure Data Explorer などの Azure サービスの可視化を行うために最適化
- ダッシュボード共有
- 複数人で Grafana ダッシュボードを共有する際に、管理者/編集者/閲覧者ロールの設定が可能
- ユーザーロールとロール管理は後述する Azure AD と統合されている
- ID 管理
- Azure AD(Active Directory)による ID 管理とユーザーロール管理の統合
- マネージド ID による Azure サービスへのアクセス
- 簡単な操作
詳細は下記のリンクをご参照ください。
可視化機能の検証
実際に Azure Managed Grafana でダッシュボードを作成し、可視化機能を検証してみました。 今回は可視化対象のデータソースとして、Azure の監視サービスである Azure Monitor を採用しました。
作業の流れは大まかに下記の通りとなります。
- Azure Managed Grafana のリソース作成
- データソースの登録
- ダッシュボードの作成
Azure Managed Grafana のリソース作成
Azure Portal と Azure CLI から作成できますが、今回は GUI の Azure Portal から作成しました。 作成時に設定を変更しない限り、デフォルトで管理者ロールの割り当てやマネージド ID の作成が実行されるので、権限周りの設定も簡単です。
作成が完了すると、リソース概要のエンドポイント項目に Grafana へのリンク先が表示されます。 こちらの URL を選択することで Grafana へアクセスでき、ダッシュボード作成が可能になります。
データソースの登録
今回可視化する Azure Monitor を登録します。
Grafana にアクセスし、左側のメニューから Configuration > Data sources と選択すると、データソースの設定画面に遷移します。 Azure Monitor がデフォルトで表示されているので選択します。 他のデータソースは Add data source から追加できます。
Authentication にて、認証方式とサブスクリプションを設定します。 認証方式はマネージド ID(Maneged Identity)またはサービスプリンシパル(App Registration)を選択できますが、今回はマネージド ID による認証を設定しました。 Save & test を実行し、成功すればデータソースの登録は完了です。
ダッシュボードの作成
データソースの登録が完了したので、Azure Monitor で監視しているデータを可視化するダッシュボードを作成します。 作成方法は大きく 2 種類あり、1 から自分で作成するパターンと、テンプレートを利用するパターンがあります。
まずは 1 から作成してみます。 左側のメニューから Create > Dashboard > Add panel と選択すると、ダッシュボードの編集画面に遷移します。 デフォルトで表示されているグラフに意味はありません。
データソースに先ほど登録した Azure Monitor を設定し、グラフを作成してみます。 今回は仮想マシンの CPU 使用率を可視化してみました。 作業は単純で、サブスクリプション > リソースグループ > リソース > 可視化するメトリクス(Percentage CPU)の順に選択するだけです。
今回は CPU 使用率を例にしましたが、Azure Monitor をデータソースにすると、各リソースのさまざまなメトリクスを可視化できます。 仮想マシンだけでも、メモリの稼働率やディスクの使用率、インバウンド/アウトバウンドフローなどに対応しています。
このようにしてどんどんダッシュボードを作りこんでいくのですが、慣れない人ではどうしても手間がかかります。 そこで、用意されているテンプレートによるダッシュボード作成も試してみました。
左側のメニューから Dashboard > Browse > Azure Monitor と選択すると、ダッシュボードのテンプレートが一覧で表示されます。 下記の 9 種類がありますが、今回はストレージアカウントの可視化テンプレートを選択しました。
- Azure Monitor アラート
- アプリケーションに関するインサイト
- Azure Cosmos DB
- Azure Data Explorer クラスタ
- Azure Key Vault
- ストレージアカウント(今回選択)
- リソースグループ内の仮想マシン
- Log Analytics ワークスペースに紐づいた仮想マシン
- 各リソース数
ストレージアカウントのテンプレートを選択すると、構成済みのダッシュボードが表示されます。
上記画像では表示しきれていませんが、ストレージアカウントのテンプレートは 20 以上のパネル(グラフやカード)で構成されています。 これにより、リソースに関するほぼすべてのメトリクスを 1 枚のダッシュボードで確認できます。 ここから編集を加えたり、新たなテンプレートを追加することも可能なので、ユーザーにとって非常に便利な機能です。
サポートしているデータソース
Azure Managed Grafana では、Grafana Enterprise でサポートされているサービスをデータソースとして設定できます。 デフォルトで使用可能なデータソースは 17 種類あり、クラウドサービスや各種 DB サービスに対応しています。
- Alertmanager
- AWS CloudWatch
- Azure Monitor
- Elasticsearch
- Google Cloud Monitoring
- Graphite
- InfluxDB
- Loki
- Microsoft SQL Server (MSSQL)
- MySQL
- OpenTSDB
- PostgreSQL
- Prometheus
- Jaeger
- Zipkin
- Tempo
- Testdata
上記以外にも、プラグインを設定することでさまざまなデータソースの可視化が可能です。 プラグインも含めると、サポートされているデータソースは 132 種類になります。
- https://grafana.com/docs/grafana/latest/datasources/
- https://grafana.com/grafana/plugins/?type=datasource&utm_source=grafana_add_ds
他の Grafana サービスとの違い
今回調査した Azure Managed Grafana の他に、Grafana には OSS/Grafana Cloud*1/Grafana Enterprise といった提供形態があります。 料金やサポートといった点の差異を調査し、下記の表にまとめました。[^4]
Azure Managed Grafana | Grafana(OSS) | Grafana Cloud | Grafana Enterprise | |
---|---|---|---|---|
データソース | 132 | 132 | 132 | 132 |
料金 | 従量課金*2 | 無料 | 従量課金*3 | 要問い合わせ |
セキュリティ | Azure による保護 | なし | 専用ツール内包 | 専用ツール内包 |
サポート | Azure サポート | なし | チケット制 | 24 時間 365 日 |
Power BI との違い
Microsoft の代表的な可視化サービスとして Power BI が挙げられます。 Azure における可視化という点で比較すると、Azure Managed Grafana と Power BI の最大の違いは、サポートしている Azure サービスの種類です。
Azure Managed Grafana で可視化できる Azure サービスは、プラグイン設定込みでも 3 つ(Azure Monitor/Azure Data Explorer/Azure DevOps)のみです。 Azure Monitor など、Azure Managed Grafana がサポートしているデータソースで取得できるデータは、ログやメトリクスといった監視情報が多くを占めています。 Grafana ダッシュボード上ではアラートの設定が可能なため、Azure PaaS を可視化のデータソースとした場合は取得した監視情報の可視化に特化している印象です。
一方で、Power BI は Azure SQL Database や Azure Synapse Analytics をはじめ、Azure のデータサービスをほぼ網羅しています。 そのため、Azure 上に構築したデータウェアハウスやデータマートに蓄積したデータを可視化したい、というシナリオには Power BI の方が適しているといえます。
まとめ
本記事では、Azure Managed Grafana の概要と機能について、筆者の調査結果をもとにご紹介しました。 Azure Managed Grafana は 4 月にパブリックプレビューが開始されたばかりのサービスのため、今後もアップデートに注目したいと思います。
X(クロス)イノベーション本部 クラウドイノベーションセンターでは、共に働いてくれる仲間を探しています。 本記事でご紹介したような調査検証をはじめ、クラウドアーキテクトとしての業務に興味がある方のご応募お待ちしております。
執筆:@tamura.kohei、レビュー:@sato.taichi (Shodoで執筆されました)