Power BI で Azure 監査ログを表示および分析する方法

このポストは、9 月 30 日に投稿された View and analyze Azure Audit Logs in Power BI and more の翻訳です。

 

Azure の監査ログ (旧称「操作ログ」) には、Azure Resource Manager で実行されたすべてのプロビジョニング処理や、Azure のリソース管理に関連するその他の処理 (アラート、自動スケーリング、デプロイメントなど) が含まれます。また、サブスクリプションのリソースに影響する他のサービス関連のイベントや通知も記録されます。Azure 管理ポータルの [Audit Logs] ブレードでは、ログに含まれる多くの情報を確認することができます。

これまでに、ログデータへのアクセス、分析、視覚化を簡単に行えるようにしてほしいというフィードバックが寄せられていました。このたびこれにお応えして、ビジネス上の意思決定をより確実にサポートする新機能、Power BI Content Pack for Azure Audit Logs のプレビューがリリースされました。今回の記事では、独自のスクリプトやプログラムからデータを利用する他の方法もいくつかご紹介します。

Azure 監査ログの内容

まず、Azure の監査ログにアクセスします。Azure 管理ポータルから監査ログにアクセスする詳しい手順については、こちらのドキュメントをご覧ください。Azure の監査ログには、Azure のリソースの制御プレーンのすべてのイベントおよびログが集められます。システムおよびユーザーによって生成されたイベントも記録されます。監査ログには、Azure Insights SDK、PowerShell、REST API、CLI からもアクセスできます。このログは Azure のイベント ログ ストアに 90 日間保管されます。

以下は、Azure の監査ログから取得できる分析情報の例です。

  • 特定のリソースにおけるイベント履歴
  • アクション、実行ユーザー、実行頻度、対象リソース
  • サブスクリプション別、リソース グループ別、リージョン別のアクションとイベント
  • リソースに影響する可能性のある Azure サービス正常性イベント (サービス停止やメンテナンス)
  • リソース別、期間別のアラートや自動スケール イベント
  • デプロイおよび登録の失敗または成功

通常、これらのデータ ポイントを把握するには、データ分析および視覚化ツールを使ってログにアクセスする必要があります。さらに、データの自動更新やレポートおよびダッシュボードを使用したチームとの共有を簡単に行うことができれば便利でしょう。こうしたニーズを実現するため、Azure Insights チームと Power BI チームは、無料で簡単に使える Power BI 拡張機能、Content Pack for Azure Audit Logs を作成しました。

コンテンツ パックは Power BI の拡張機能で、API によるデータ ソースからのデータ取得を設定することで、共有可能なレポートおよびダッシュボードを作成できます。

この Power BI コンテンツ パックを利用すると、ログからすぐに分析情報を引き出すことができます。レポートやグラフは、そのまま使用することも、好みに合わせてカスタマイズすることも可能で、チームと共有することができます。また、ニーズに合わせてデータを更新する時間と頻度も設定できます。

これらの実行方法については、デモ ビデオをご覧ください。

[View:https://www.youtube.com/watch?v=LCBcZ1JOzoQ&feature=player_embedded:0:0] 

皆様もぜひ新しい Azure Audit Logs Content Pack をお試しください。複数のサブスクリプションをご利用の場合は、それぞれのサブスクリプション ID 別に、同じ手順でサブスクリプション情報を基にダッシュボードおよびレポートの名前を変更してください。

Power BI は組織アカウントを使用して無料でご利用いただけます。Power BI を初めてご利用になる場合は、Power BI サイトブログ (英語)YouTube チャンネル (英語) にて関連資料をご確認ください。

Azure Insights REST API、PowerShell、SDK を使用する方法

Power BI コンテンツ パックだけでなく、他の方法も試してみたいという方には、以下のオプションが提供されています。

Azure Insights REST API: イベント REST API を使用して、独自のデータ分析ツールを作成できます。この REST API は、Power BI コンテンツ パックでも利用されており、クエリに複数のフィルターを適用することができます。注: この API では、クエリに対して返されるログの分量に制限があります (通常、1 回に 200 件以下のイベント)。ページングによってログをさらに取得するには、継続トークンの ‘nextLink’ 要素を使用する必要があります。

Azure Insights PowerShell コマンドレット (英語): Get-AzureResourceLog、Get-AzureSubscriptionIdLog、Get-ResourceGroupLog コマンドレットを使用して、PowerShell からログにアクセスできます。これらのコマンドレットの使用方法については、こちらのブログ記事 (英語) をご覧ください。

Azure Insights (英語) および Azure Resource Manager (英語) ライブラリ: Azure Insights SDK の InsightsClient クラスや Azure Resource Manager SDK の ResourceManagementClient クラスでは、ログのクエリ (およびページング) を簡単に行えるメソッドやプロパティを利用できます。

このサンプル C# プログラム (英語) では、監査ログを取得し、CSV ファイルに格納する方法を紹介しています。

これらのツールで詳細に分析した Azure 監査ログを、インテリジェントなアクションに役立てていただければ幸いです。Power BI コンテンツ パックをお試しいただき、ご感想をお聞かせください (英語)。また、ログの取得およびアーカイブには、REST API、PowerShell、SDK などのプログラムもご利用ください。Azure のデータをさらに活用するためのご提案をお待ちしています (英語)