17
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Microsoft Fabric を利用して Blob ストレージに格納された Azure ログを分析する

Last updated at Posted at 2023-06-06

本記事について

2023年の5月の Microsoft Build にて、Microsoft Fabric という SaaS 型のデータ分析基盤がプレビューリリースされました。このサービスの登場で、マイクロソフト製品におけるデータ分析のとりうるアーキテクチャが大きく変わることになります。その中で、Azure のログ分析についても例外ではありません。本記事では、Azure のログ分析という Azure ユーザーでは誰しもが考えないといけないタスクについて、Microsoft Fabric を導入するとどう変わるのかを見ていきます。

Microsoft Fabric について

Microsoft Fabric については、下記の Qiita の記事が日本語で全体を網羅する形で情報をまとめてくださっています。特に大きなポイントが、データの分析に必要なすべての機能が SaaS として一か所で提供されているという点です。

特に、本記事の主題であるログ分析という観点だと、ログの格納先となるデータレイク (OneLake), ログの検索先となる KQL データベース、その間のデータコピーを行うパイプライン、ダッシュボード機能を担う Power BI がまとめてひとつのサービスの中で提供されます。

今までは、もし同じようなことを実現しようとすると、Azure Blob Storage (Data Lake Gen2), Azure Data Explorer, Azure Data Factory, Power BI などを組み合わせてシステムを作る必要がありました。それが、Microsoft Fabric では一か所で完結することができます。

Azure のログについて

Azure のログには、Azure 自体の監査ログであるアクティビティログ、各リソースが固有で記録するリソースログ(診断ログ)、Azure AD のサインインログ・監査ログなどがあります。これらは、以下の送信先を指定することができます。

  • Log Analytics ワークスペース - リアルタイム分析が必要なログの送信先。Azure Monitor や Microsoft Sentinel などで利用。

  • Event Hubs - サードパーティ製のログ監視ツールとの連携用。

  • ストレージアカウント (Blob Storage / Data Lake Gen2) - ログの長期保管用。

このうち、ストレージアカウントに保管するときの良く出てくる悩みが、格納するのは良いものの、いざという時に分析することができない、というものでした。この悩みを Microsoft Fabric で簡単に解決することができます。

Microsoft Fabric を利用して Blob ストレージに格納された Azure ログを分析する

ここから実際に、Azure のログをストレージアカウントに送信し、Microsoft Fabric で分析する流れを見ていきます。なお、本記事の全体のアーキテクチャの概略図は下記になります。

image.png

Microsoft Fabric の準備

Microsoft Fabric の試用版の利用開始

2023年6月時点、Microsoft Fabric は下記ドキュメントの手順で試用版を利用できます。試用版やその利用開始については、都度最新の情報をご確認ください。

ワークスペースの作成

Fabric では、ワークスペースという単位でリソースを管理します。今回は、Azure ログ分析用のワークスペースを作成します。

image.png

OneLake で Lakehouse を作成

Fabric 上でログデータを管理するためのレイクハウスを作成します。

image.png

image.png

Azure ログのストレージアカウントへの送信

ストレージアカウントの作成

ログの送信先となるストレージアカウントを Data Lake Gen2 として作成します。

image.png

ログのストレージアカウントへの送信

今回は、Azure アクティビティログをストレージアカウントへ送信します。Azure Monitor のエクスポート画面から実行できます。

image.png

実際にログが送られると下記のように格納されます。

image.png

Microsoft Fabric のショートカットで Data Lake Gen2 を OneLake (Lakehouse) のデータとして認識させる

Microsoft Fabric の OneLake (Lakehouse) には、ショートカットという、外部のストレージをデータコピーなしで Fabric のストレージとして扱えるような機能があります。ここでは、Azure Data Lake Gen2 を選択します。

image.png

image.png

image.png

image.png

ショートカットを作成すると、Lakehouse の画面から、Data Lake Gen2 のコンテナーの内容が見れるようになります。これで、ログデータを Fabric の様々な分析機能で解析することができるようになります。

image.png

KQL データベースへのデータの取り込み

今回は、Microsoft Fabric 内の KQL データベースから分析してみたいと思います。これにより、Log Analytics や Application Insights と同じクエリ言語でデータを扱うことができます。KQL データベースへデータを入れるには、ファイル単位で一回きりで取り込む方法と、パイプラインを作成しまとめてコピーする方法があります。

KQL データベースを作成

KQL データベースを作成するには、ワークスペースの+新規から KQL データベースを選択します。

image.png

image.png

① ファイルを一回きりの取り込みとして格納する

一回きりの取り込みは、データの取得から OneLake を選んで行います。Blob を直接指定することもできます。データの取り込みの設定はデフォルトで進めています。

image.png

image.png

image.png

image.png

image.png

実際に取り込むと、データの確認で、KQLのクエリを書けて中身を確認できます。

image.png

② パイプラインを作成し、OneLake から KQL データベースへデータをコピーする

ファイルをまとめて取り込みたいときや、連続的に取り込みたいときは、パイプライン(データパイプライン)を作成します。

image.png

Copy data のアクティビティを追加し、ソースと宛先を指定します。

image.png

ソースは Lakehouse を指定し、アクティビティログの場合はワイルドカードパスを下記のようにしました。データのプレビューでパスが正しいかを確認できます。

<左>

<レイクハウスのフォルダ名>/resourceId=/SUBSCRIPTIONS/*/y=*/m=*/d=*/h=*/m=*/

<右>

*.json

image.png

また、宛先のテーブル名は①で作成したものを選びます。

image.png

パイプラインが完成したら、Validate して Run します。

image.png

image.png

下の出力タブでアクティビティの状態を監視できます。うまくいけば下記のように成功となります。

image.png

KQL データベースでの検索

②まで進むと、かなりのデータが入っているかと思います。データの確認からクエリを投げるとログが確認できます。

image.png

image.png

Power BI での可視化(後日加筆予定)

Power BI レポートの構築をクリックすると、簡単に Power BI レポートを作成できます。

image.png

左上のファイルから保存を選択すると、.pbix ファイルとしてワークスペースに保存もできます。

image.png

保存がされると、Power BI のレポートとデータセットがワークスペース内に作られます。

image.png

ダッシュボードを作成し、レポートをダッシュボードのタイルにピン留めすることもできます。

image.png

KQL より SQL 文でデータを検索したい場合 - OneLake 上でテーブルとして保存

レイクハウス上でファイルではなくテーブルとして保存することで、SQL 文のクエリでログデータを扱うこともできます。

新たにパイプラインを作成し、ファイルからテーブルに変換します。今回は Copy data のアクティビティで宛先をテーブルにします。

image.png

パイプラインが実行され成功となると、レイクハウスのテーブル側にデータが入ります。

image.png

レイクハウスの SQL エンドポイントのページを開くと、そこで SQL 文のクエリをかけることができます。

image.png

image.png

最後に

Microsoft Fabric は 2023年6月時点でパブリックプレビューのため、製品の公式ドキュメントにある注意書きに従ってご利用ください。

*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。

17
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?