【一瞬でできた!】Azure Monitor – Log AnalyticsのログをPower BIで可視化する

こんばんは。今日は、Azure MonitorのLog AnalyticsのログをPower BIに統合する手順を試してみましたので、手順をまとめておきます。

どうせめんどくさいんだろうなぁと思って及び腰だったのですが、超絶簡単にできました・・!これはスバらしい・・・!

それではまいります。

なお、図解などはないですが公式ドキュメントも一応あるようでしたので貼っておきます。

https://docs.microsoft.com/ja-jp/azure/azure-monitor/logs/log-powerbi

Contents

背景

Azure Log Analyticsで収集したAzure各種リソースのログを、リアルタイムで可視化して社内にインサイトを提供したい場合などに役立つと思います。

Log Analyticsでは、システムのCPU使用率といったメトリクスだけでなく、アプリケーションのログなどさまざまな情報を収集できるので、そのログをうまく分析してやることでビジネスの改善につながるインサイトを抽出できる可能性も秘めています。

前提

  • AzureのLog Analyticsに分析したいログが蓄積されていること
  • Power BI Desktopがインストールされていること
  • (レポートを発行するなら)Power BIサービスのライセンスをもっていること

手順

Log AnalyticsからPower BI用クエリをエクスポートする

まず最初に、Log Analytics上で、欲しいデータが取得できるクエリを作ってもらったうえで、エクスポート>Power BIへエクスポートをオプションを選択します。Power BIのクエリはM言語 という形式で書かねばならないのですが、このオプションを利用することで、KQLをM言語形式に自動変換してくれます。

エクスポートされたクエリはこんな感じでtxt形式で保存されます。クエリの中を見てみると、Source変数の中で、接続先のlog Analyticsワークスペース情報が記述されていることが分かります。これでLog Analyticsからデータが取得できるようになっているわけですね。

Power BI Desktopでデータに接続する

続いてPower BI Desktopでこのデータを取得する設定をしていきます。といっても超絶簡単1ステップです。

Power BI Desktopを起動して・・・

データを取得 > 空のクエリ > 詳細エディターで、先ほどエクスポートしたクエリを張るだけ。

すると、Log Analyticsのデータが抽出できましたっ!「閉じて適用」に進みます。

データの抽出期間について

Log Analyticsでは、データの抽出期間を、クエリ中で明示しなくともUI上で指定することができました。この場合、生成されたMクエリで取得できるデータの抽出期間はどうなるのでしょうか。

試してみたところ、Log Analyticsで設定していた期間と同じ区間のデータが抽出されました。生成されたMクエリを眺めてみると、timespan句でこの設定を反映しているようです。

今度は、UI上の設定を使わず、クエリ中に期間を明示した場合も試してみました。

この場合、生成されるMクエリが先ほどと少々変わりました。timespan設定は消えて、代わりにクエリ中に期間が指定されています。

というわけで、結論としては、「UIで指定した期間、またはクエリで指定した期間に従って抽出される」ということのようです。

可視化する

データを取り込めたので、あとは所望の可視化を自由に行うだけです。

レポートとして発行する

最後にレポートとして発行します。Power BI Desktopから”発行”すると

Power BIレポートとして共有することができるようになりました。

(おまけ)Log Analytics ダッシュボードもあるよ

ちなみに、今回Power BIで可視化しましたが、Azureにもダッシュボード機能がありますので、Power BIのライセンスがない場合など、場合によってはこちらを使う手もありそうです。

https://docs.microsoft.com/ja-jp/azure/azure-monitor/visualize/tutorial-logs-dashboards

Azure Monitorのピン留め先から、ダッシュボードを指定すれば・・・

クエリ結果をダッシュボードに表示できます。Power BIのようなグラフでの可視化には、Log Analyticsのクエリ側でrender timechart構文などを使って事前に可視化しておく必要はありそうです。

以上、Log AnalyticsのログをPower BIで可視化する方法の解説でした!

珍しくとても簡単だった・・・参考になりましたら幸いです。

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。