Azure VM のログを Log Analytics に保存する

# Azure VM ログとは？
Azure VM 上の OS から取得される イベントログ や Syslog と、ホスト の メトリック および ゲスト の メトリック などが含まれます。

Log Analytics へ Azure VM のログを集約することで、複数台に跨って ログを分析したり、ログの内容をもとに アラートを発生させ 管理者へのメール通知や、PowerAutomate への連携などを行う事ができるようになります。

## ① Azure Monitor エージェント が必要となるログ
以下のログは、OS 内の情報を取得して 送信する必要があるため エージェントが必要です。
・イベントログ = Windows OS から取得されます。
・Syslog =  Linux OS から取得されます。
・ゲストのメトリック = OS 上のパフォーマンスデータ から取得されます。

## ② エージェントが不要なログ
ホストのメトリック は、エージェント無しで取得できます。

:::note warn
**注意**
仮想マシンの作成、削除、起動、停止 などのアクションは、Azure VM のログではなく、アクティビティログから取得されます。

以下の記事を参照して、取得してください。
**Azure アクティビティログを Log Analytics に保存する**
https://qiita.com/carol0226/items/791c37494a2a9995c486
:::

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

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

## 1-2. Azure VM の データ収集ルール
Azure VM の場合は、事前に データ収集ルールを作成しておき、そのルールに対して、リソースを割り当てる形で構成します。

:::note warn
**注意**
データ収集ルール を作成する前に、ログ取得対象の Azure VM は すべて パワー ON の状態にしておいてください。

ここで選択した Azure VM には、自動的に Azure Monitor エージェントが導入されますが、そのために Azure VM がパワー ON されている必要があります。

パワー OFF されていると、エージェントが導入されません。
:::

Azure モニター の **データ収集ルール** で構成を行っていきます。

0. Azure Portal の検索窓を使い、**モニター** 検索して選びます。
左ペインの **設定** を開き、**データ収集ルール** を選択します。、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0c1e6fe6-f883-e25a-1f02-8d8223447f92.png)
　<br>
0. **作成** ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/667b5ea4-928f-7d3c-a427-836d82885d0c.png)
　<br>
0. **基本** タブでは、以下の画面の通り、パラメータを設定して　**次へ：リソース** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/70cecbdf-1e42-4442-2501-eba1f03e922c.png)
　<br>
0. **リソース** タブでは **リソースの追加** ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/f971be97-4a68-61f4-2f72-b43aba9f6f3f.png)
　<br>
0. 以下の画面で、ログを取得したい **Azure VM** を選択して **適用** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/c659741f-a775-7089-935b-71a42736f7e4.png)
　<br>
0. 以下の通り、一覧に追加されます。続けて **エンドポイント** の作成を押し、右側に表示されたウィンドウに 任意の エンドポイント名 や その他のパラメータを入力して **確認と作成** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/869b2518-20c1-17bd-c08b-ccef56a7f406.png)
　<br>
0. 以下の確認画面が表示されたら **作成** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0be3e000-2b95-664e-e48a-d89628fd374c.png)
　<br>
0. 以下の通知が表示されれば OK です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/7b0ec3e6-04ee-a836-573b-fd0425991d57.png)
　<br>
0. **リソース** タブでは **データ収集エンドポイントを有効にする** にチェックを入れてから、Azure VM の **データ収集エンドポイント** 列 で、先ほど作成したエンドポイント名を選択します。最後に **次へ：収集と配信** を押して進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/218293ba-e5bc-762a-e909-c595a19eb4e1.png)
　<br>
0. **収集と配信** タブでは、**データソースの追加** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/defc59e5-19a0-0644-0bc3-27cbe95c9bfc.png)
　<br>
0. 以下の画面で、Azure VM から取得させたい ログの種類を選定します。
下図では、**Windows イベントログ** を選択しており、**基本** を選んで すべてにチェックを入れているため アプリケーション・セキュリティ・システム の全てのイベントログが取得されます。
設定が終わったら **次へ：ターゲット** を押して進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/2a01f6ba-2d72-9146-1613-fa0dc2ac8f78.png)
　<br>
0. **ターゲット** タブでは **ターゲットの追加** ボタンを押して、ログの保存先となる **Log Analytics** を選択して **データソースの追加** ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/fcdae43e-6078-e8a5-df9a-c15281643cec.png)
　<br>
0. ここで もう１件 **データソースの追加** を行うため ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/e39a0450-cb2a-a63f-5c78-2142cb989173.png)
　<br>
0. 今度は **パフォーマンス カウンター** を選択して **基本** を選び すべての項目にチェックが入っている事を確認してから **次へ：ターゲット** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/23366868-a557-baa6-9a18-894eb87dd079.png)
　<br>
0. **ターゲット** タブでは **ターゲットの追加** ボタンを押して、ログの保存先となる **Log Analytics** を選択して **データソースの追加** ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/fcdae43e-6078-e8a5-df9a-c15281643cec.png)
　<br>
0. 以下の通り、２行のデータソースの追加がされていることを確認して **確認と作成** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/a8f34613-707d-c3a1-8a45-8a95e8a6c6e9.png)
　<br>
0. **確認と作成** タブでは、内容を確認して **作成** ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/38aa2342-7d2b-7916-e1f1-3587c7cf9899.png)
　<br>
0. デプロイが完了したら **リソースに移動** を押します。
デプロイ中に、選択した Azure VM にエージェントが 自動的 に導入されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/13467c93-24a8-c5d3-66b0-fa27fa2f8926.png)
　<br>
0. 以下の通り、データ収集ルール が作成されていれば OK です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/78bc8218-3e0b-62de-5b77-fe3f1994a13c.png)
　<br>
0. 対象の Azure VM の画面を開き、左ペイン **設定** の **拡張期のとアプリケーション** を開くと、追加導入された エージェント (AzureMonitorWindowsAgent) を確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bb0526e2-ae17-8fc2-0bae-94be19f77479.png)
　<br>
0. **モニター** の画面に戻り、左ペインの **① ログ** を開きます。
そのあと、**② 時間の範囲** を調整し、以下の **KQL (③)** を貼り付けます。
　
準備が出来たら **④ 実行** を押して、ログを抽出します。
**⑤ 時刻の表示** を押して **ローカル時刻** を選択すると 日本時間に変更できます。

~~~
Event
| project TimeGenerated,Source,EventLevelName,EventID,RenderedDescription,EventLog
| where EventLog == "System"
~~~

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/aa2b3baf-485f-a163-0d23-95b3fb26985b.png)

# 2. ブックの利用
**モニター** の左ペインで **ブック** を選び 以下の一覧から 仮想マシンに関する **ブック** を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/2b7fdb7d-1d5e-f961-0b9d-95b0a15e11bf.png)
　
以下の通り、グラフィカルに 分析結果が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/c5422a50-bab6-8e70-2a56-9b3556ae14a9.png)


https://learn.microsoft.com/ja-jp/azure/virtual-machines/monitor-vm

https://learn.microsoft.com/ja-jp/azure/azure-monitor/vm/monitor-virtual-machine-data-collection