アクティビティログの診断設定やLog Analyticsワークスペースでの検索方法

2022-02-20Azure,Log Analytics,Monitor

アクティビティログ(Azure Monitor Activity Log)診断設定手順や、Log Analyticsワークスペースでのアクティビティログ検索方法の紹介です。

Azureで発生したイベント(リソースの作成、変更削除から起動停止の操作等)についてはアクティビティログに出力されます。

Azure アクティビティ ログ

診断設定を利用するとアクティビティログをLog Analyticsワークスペースへ転送する事ができます。
外部リソースへ転送する事でログ自体を長期保管したり、複数サブスクリプションやテナントのアクティビティログをまとめて見る事が出来ます。
アクテビティログの確認方法や、診断設定を使ったLog Analyticsワークスペースへの転送設定手順、KQLを使ったアクティビティログの検索例の確認までを紹介しています。

スポンサーリンク

アクティビティログの確認方法や診断設定手順

Azure Portalでアクテビティログを確認

アクティビティログはAzure Portalで確認できます。
各リソースのアクティビティログのメニューやモニターにあるアクティビティログで確認できます。
リソースのアクティビティログで確認した場合は、該当のリソースのみが表示されるようにフィルターされています。

アクティビティログの表示例

モニターのアクティビティログ
Azure Monitorのアクティビティログ表示例

仮想マシンのアクティビティログ

仮想マシン(Azure VM)のアクティビティログ表示例

Azure CLIやPowerShellでもアクティビティログは確認できる

Azure CLIやPowerShellを使って、アクテビティログを取得できます。

Azure PowerShellの場合は"Get-AzLog"を利用します。

Get-AzLog

Azure CLIの場合は"az monitor activity-log"を利用します。
アクティビティログを表示する場合は"az monitor activity-log list"を使用します。

az monitor activity-log list

アクテビティログをAzure Monitorのログで確認

アクティビティログのメニューでもフィルターや検索がありますが、細かい検索機能はありません。
Azure モニターにあるログのメニューを選択すると、Log Analyticsワークスペースのログの画面が表示されます。
KQLクエリを使ってアクティビティログを検索できます。

アクティビティログを表示

左側のメニューでログを選択します。
テーブルを選択します。
LogManagementにあるAzure Activityで実行を選択します。
KQLモードの場合はクエリ欄に"AzureActivity"と入力し実行します。
アクティビティログが表示されます。

Azure Monitorのログでアクティビティログを表示(簡易モード)
Azure Monitorのログでアクティビティログを表示(KQLモード)

※新しい Log Analyticsの画面を利用しています。

アクティビティログ保管期間は90日間だが診断設定を使って延長できる

アクティビティログはAzureプラットフォームで保管されます。
Azureプラットフォームでの保管期間は90日です。
Log Analyticsワークスペースやストレージアカウントへ転送する事で、アクティビティログの保管期間を延ばせます。
対話型保持(検索可能な状態)では最大2年、アーカイブを利用すると最大12年間保持できます。

Azure Monitor ログでのデータ保持とアーカイブ

Log Analyticsワークスペース、ストレージアカウント、Event Hub等の外部リソースにアクティビティログを転送する場合は、診断設定を利用します。

アクティビティログの診断設定の手順

診断設定を使ってアクティビティログを外部リソースへ転送します。
今回はLog Analyticsワークスペースへ転送します。
Log Analyticsワークスペースは事前に準備しておいたものを利用しています。

アクティビティログの診断設定
モニターのメニューでアクティビティログを選択します。
診断設定を選択します。
診断設定を選択(Azure Monitorのアクティビティログの診断設定手順)

アクテビティログの診断設定画面が表示されます。
診断設定を追加するを選択します。

診断設定の追加を選択(Azure Monitorのアクティビティログの診断設定手順)

転送対象のアクティビティログのカテゴリを選択します。
Log Analyticsワークスペースへの転送をチェックします。
転送するLog Analyticsワークスペースを選択します。
診断設定の名前を付けて保存します。
追加した診断設定が表示されています。

アクティビティログのカテゴリ詳細については公式サイトを参照願います。

 

診断設定でカテゴリや転送先のLog Analyticsワークスペースを選択(Azure Monitorのアクティビティログの診断設定手順)
追加した診断設定を表示(Azure Monitorのアクティビティログの診断設定手順)

※診断設定先に指定したLog Analyticsワークスペースの課金が発生します。課金額はアクティビティログの転送量によります。
※転送開始されるまでには5分~10分ほど待つ必要があります。

アクティビティログの診断設定を削除

アクティビティログの診断設定の削除手順です。

アクティビティログの診断設定を削除
診断設定で設定の編集を選択します。 診断設定で設定の編集を選択

アクテビティログの診断設定画面が表示されます。
削除を選択します。

Azure Monitorのアクティビティログの診断設定を削除

Log Analyticsワークスペースの作成手順やKQLクエリについてはこちらで紹介しています。

—広告—

Log Analyticsワークスペースでアクティビティログを検索、表示

クエリのスコープ設定

Log AnalyticsワークスペースでKQLクエリを実行する際に、検索対象のスコープを設定できます。

※新しいLog Analyticsの画面を利用した場合です。

スコープ設定
クエリタブにスコープ設定があります。
範囲を選択します。
今回はサブスクリプションを選択しています。
スコープ設定(KQLクエリのスコープ設定)
スコープの範囲を選択(KQLクエリのスコープ設定)

Log Analyticsワークスペースでアクティビティログを表示

Log Analyticsワークスペースでアクティビティログを表示します。
診断設定でアクティビティログ転送先に指定した、Log Analyticsワークスペースを選択します。
アクティビティログの表示は、簡易モードとKQLモードで確認しています。

アクティビティログを表示
LogManagementにAzureActivityと言う項目が表示されます。

クエリに”AzureActivity”と入力して実行すると転送されたアクティビティログをすべて表示する事が出来ます。 

簡易モード時

LogManagementでAzureActivtyを表示(簡易モード)

KQLモード時

KQLモードでAzureActivtyを表示(診断設定を利用)

※表示項目は列を選択する事で指定する事が可能です。KQLクエリ内で指定する場合はprojectを使います。

仮想マシン(Azure VM)起動、停止時のアクティビティログを検索

Log Analyticsワークスペースでアクティビティログを検索します。
今回は仮想マシン(Azure VM)起動、停止(割り当て解除)時のアクティビティログを確認します。

    • 仮想マシン起動時のOperartionName
      • “MICROSOFT.COMPUTE/VIRTUALMACHINES/START/ACTION"
    • 仮想マシン停止時(割り当て解除時)のOperartionName
      • “MICROSOFT.COMPUTE/VIRTUALMACHINES/DEALLOCATE/ACTION"

簡易モード、KQLモードどちらを使っても検索できます。

アクティビティログの検索
仮想マシンの左側のメニューでアクティビティログを選択します。
Start Virtual Machineのアクティビティログ表示し内容を確認します。
JSONタブを開くとアクティビティログの詳細が確認できます。
OperartionNameと言う項目に仮想マシンの操作内容が含まれています。
仮想マシン(Azure VM)起動時のアクティビティログをJSONタブで表示

フィルターの追加を選択します。
テーブル内を検索するを選択します。
OperartionNameValueを選択します。

MICROSOFT.COMPUTEが仮想マシンに関するアクティビティログです。チェックを入れて絞り込みます。
仮想マシンの操作に関するアクティビティログのみに絞り込みされました。

 

 

フィルターの追加でテーブル内を検索(簡易モードでアクティビティログの絞り込み手順)
OperartionNameValueのフィルターを追加(簡易モードでアクティビティログの絞り込み手順)
絞り込み後のアクティビティログ(簡易モードでアクティビティログの絞り込み手順)

次に特定の仮想マシンに絞り込みます。
Propertiesに仮想マシン名(test-vm-01)を含むと指定します。
絞り込みできました。

 

Propertiesで特定の仮想マシンに絞り込み(簡易モードでアクティビティログの絞り込み手順)
仮想マシン名で絞り込んだ後のアクティビティログ(簡易モードでアクティビティログの絞り込み手順)

KQLモードにすると、クエリの内容を確認できます。

KQLモードで絞り込みしたアクティビティログを表示

KQLサンプル(仮想マシン(test-vm-01)起動、停止に関するアクティビティログ)

AzureActivity
| where OperationNameValue in (“`MICROSOFT.COMPUTE/VIRTUALMACHINES/START/ACTION“`, “`MICROSOFT.COMPUTE/VIRTUALMACHINES/DEALLOCATE/ACTION“`)
| where Properties has “test-vm-01"

※Authorizationにもアクションやリソースの情報が含まれています。Azure Monitorでアラートルール設定した場合はAuthorizationの内容が表示されます。

KQLクエリでリソースIDからリソース名を抽出する方法についてはこちらで紹介しています。

Azure VM起動、停止時、作成時のアクテビティログについてはこちらで紹介しています。

Log Analyticsワークスペースの削除手順に関しては、こちらの記事で紹介しています。

最後に

Azure アクティビティログの診断設定手順や、Log Analyticsワークスペースでのアクティビティログ検索方法について確認してみました。
今回は仮想マシンの起動停止を例に検索手順を確認してみました。
Log Analyticsワークスペースには簡易モードもあり比較的簡単に検索する事ができました。

引き続き色々試してみたいと思います。

スポンサーリンク