Azure アクティビティログを Log Analytics に保存する

# アクティビティログ とは？
アクティビティログは、プラットフォームログ の一種です。
Azure 上で 利用者が **操作** を行った結果が 逐一 記録されています。

アクティビティログ は、Azure Portal の 各リソース の左ペインの上方にあります。

サブスクリプション・リソースグループ・リソース、それぞれの画面にありますが、そのスコープ内のアクティビティログを参照することができます。

**Azure Monitor アクティビティ ログとアクティビティ ログの分析情報を使用する**
https://learn.microsoft.com/ja-jp/azure/azure-monitor/essentials/activity-log-insights#retention-period

**サブスクリプション の アクティビティログ**
サブスクリプション内の すべて のアクティビティを参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/5a9b4fd6-8482-02ee-45f4-86029769af3e.png)

**リソースグループ (kensho) のアクティビティログ**
リソースグループ内の すべて のアクティビティを参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/8c507caa-1ba8-a2c0-e5bf-736bde102c5e.png)

**リソース (LA-JPEAST) のアクティビティログ**
リソース自身のアクティビティログを参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/ec90e570-7d1a-a29a-b8d3-f20c0de84eaf.png)

# 1. アクティビティログの保持期間
アクティビティログを 前章で紹介した Azure Portal の **アクティビティログ** メニューから参照できる期間は 90 日です。
それを過ぎたログは、削除されます。

**公開情報：保持期間**
https://learn.microsoft.com/ja-jp/azure/azure-monitor/essentials/activity-log-insights#retention-period

# 2. アクティビティログ を Log Analytics に保存する理由
## 2-1. 長期保存
前章で説明したとおり、アクティビティログ は、90 日で消えてしまいます。
しかし、アクティビティログ を Log Analytics に転送しておくと、ワークスペースの有効期限まで保持する事が可能になります。

つまり、90 日を超えた期間 保持させたい場合に、Log Analytics を使って長期保存する事が可能になります。

## 2-2. アラート（監視運用）
Azure Monitor には、保存されたログに対して、あらかじめ定めておいたルールに該当した際に、アラートを発生させることができます。

アラートが発生した際に、さまざまなアクションを定義することができるため、メールで通知したり、Teams へ投稿したり、Power Automate の処理を発動させたりすることができます。

## 2-3. クエリの利用
KQL というクエリを使って、ログを検索・抽出・分析 に活用することができます。

## 2-4. 統合管理
アクティビティログ 以外の リソースログや メトリック のデータ、Microsoft 365 のログ等と組み合わせて活用することができます。

## 2-5. SIEM 連携
さらに、Azure Sentinel や サードパーティの SIEM 製品と連携させる際にも、Log Analytics を介して連携させることが可能です。

# 3. アクティビティログを Log Analytics に保存する
おススメは、サブスクリプション全体の アクティビティログ を保存です。
これで、全操作の履歴を 保存する事ができます。

## 3-1. 前提事項
事前に、以下の記事の手順を参照して Log Analytics ワークスペースをデプロイします。

https://qiita.com/carol0226/items/eb07275fe8b3eda4a703

## 3-2. アクティビティログ の診断設定
続いて、以下の手順を実施します。

0. 目的のリソースのページを開き、左ペインの **アクティビティログ** を選択します。
続いて、上部メニューから **診断設定** を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/404fa3de-13b4-61e2-d196-6ecfb60c255f.png)
　<br>
0. 以下のページで **診断設定を追加する** のリンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0ab197c7-a4f9-828b-8d4a-5a21386cb01c.png)
　<br>
0. 以下の順に設定を行います。
① 取得するログのカテゴリを決めます（図では、全種類）
② ログの宛先として **Log Analytics ワークスペースへの送信** にチェックを入れます。
　続いて、出力先のワークスペース名を選択します。
③ 診断設定の名称（任意）を指定します。
④ **保存** ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/b101a2f0-c5fa-a675-d1ad-54dec360ee35.png)

以下の通知が表示されれば、OK です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/4bdc4aa7-3948-8309-d191-2461ecc3e85c.png)

**公開情報**
https://learn.microsoft.com/ja-jp/azure/azure-monitor/essentials/activity-log?tabs=powershell#send-to-log-analytics-workspace

# 4. ワークスペースに保存された アクティビティログ の参照
保存されたログは、以下の操作で参照できます。
① 左ペインの **ログ** を選択します。
② **時間の範囲** を適切な範囲に設定します。
③ KQL 分を入力します。 **AzureActivity** と入力することで、アクティビティログ が指定されます。
④ **実行** を押すと、KQL 命令が実行された結果が表示されます。
⑤ 表示されたログは、赤枠 をクリックすると 内容を開いて参照できます。
　ここで、緑下線 をみることで、TEST というリソースグループが 削除 されたことが判ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9274201c-fb10-fb6d-37e3-d69c6adf8fc7.png)

:::note alert
AzureActivity と入力すると、以下のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/c0e2f68e-ddb3-a8a6-95cf-2d27b828e89f.png)

そのあと **実行** を押すと、エラーになります。
エラーの原因は、２行目の | です。 | は、続けて命令を書く時に必要がですが、続きの命令が無い場合には、削除してから実行する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/fd30f121-0a68-cbe4-b3c4-81a3c70a61a6.png)
:::

**KQL AzureActivity で参照できる内容のリファレンス**
https://learn.microsoft.com/ja-jp/azure/azure-monitor/reference/tables/azureactivity

# 5. ブックの利用
ブックを活用すると、ログを元に 以下のような グラフィカル な分析結果を参照する事ができるようになります。

**ブックの参照方法**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/29537a85-f892-546a-a582-40fb7fee1a94.png)

**全般**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/a3f40c6e-5de2-3184-3db5-221abc0aa57a.png)

**操作**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/f195577a-3f07-9f1a-6c32-49cd3f980530.png)

**エラー**
私の環境では エラー 出ていなかったので、寂しいですが、本来は エラーの種類ごとにカラフルに出力されると思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/b5bd2560-bdda-fd03-11f6-9361dea6cec7.png)

**管理**
操作したアクション種類ごとに分類されていて、円グラフ の部分をクリックすると 下部 にログが表示されるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/d9bfe928-cb03-2660-69fc-020753f075aa.png)