本記事は GitHub Copilot を活用して作成しています。
Azure Monitor エージェント(AMA)の新機能で、ストレージアカウントに直接データを送信できるようになったので試してみました。
Azure Monitor エージェントとは
Azure Monitor エージェント(AMA)は、Azure 仮想マシンやハイブリッドマシンから監視データを収集するための次世代エージェントです。従来の Log Analytics エージェント(MMA)の後継として開発され、2024年8月に Log Analytics エージェントが廃止されたことを受けて、現在推奨される監視エージェントとなっています。
従来の構成では、Azure Monitor エージェントが収集したデータは Log Analytics ワークスペース にのみ送信可能でした。ログデータを外部システムに送信するには、Log Analytics ワークスペースのエクスポート機能 を使用する必要がありました。
しかし、2024年7月にパブリックプレビュー として、ストレージアカウントへの直接送信機能が追加されました。これにより、Log Analytics ワークスペースを経由せずに、Azure Monitor エージェントから直接ログデータを送信できるようになりました。
新機能の概要
従来の Azure Monitor エージェント
flowchart LR
VM[仮想マシン] --> AMA["`Azure Monitor
エージェント`"]
AMA -- 参照 --> DCR["`データ収集ルール`"]
AMA -- ログ送信 --> LAW["`Log Analytics
ワークスペース`"]
LAW -- エクスポート機能 --> SA["`ストレージ
アカウント`"]
classDef vm fill:#e1f5fe,color:#000,stroke:#01579b
classDef ama fill:#fff3e0,color:#000,stroke:#e65100
classDef dcr fill:#f3e5f5,color:#000,stroke:#4a148c
classDef law fill:#e8f5e8,color:#000,stroke:#2e7d32
classDef storage fill:#fce4ec,color:#000,stroke:#880e4f
class VM vm
class AMA ama
class DCR dcr
class LAW law
class SA storage
新機能による Azure Monitor エージェント
flowchart LR
VM[仮想マシン] --> AMA["`Azure Monitor
エージェント`"]
AMA -- 参照 --> DCR[データ収集ルール]
AMA -- ログ送信 --> LAW["`Log Analytics
ワークスペース`"]
AMA -- ログ送信 --> SA["`ストレージ
アカウント`"]
classDef vm fill:#e1f5fe,color:#000,stroke:#01579b
classDef ama fill:#fff3e0,color:#000,stroke:#e65100
classDef dcr fill:#f3e5f5,color:#000,stroke:#4a148c
classDef law fill:#e8f5e8,color:#000,stroke:#2e7d32
classDef storage fill:#fce4ec,color:#000,stroke:#880e4f
class VM vm
class AMA ama
class DCR dcr
class LAW law
class SA storage
この新機能により、以下のようなメリットがあります:
- 長期アーカイブ: ストレージアカウントに低コストでログを長期保存
- コスト最適化: Log Analytics ワークスペースエクスポート機能を使用せず、直接ストレージに送信することでコスト削減
- データ統合: 他のシステムとの連携が容易
本記事では Storage Account に焦点を当てていますが、Event Hub でも利用できます。
対応するデータソース
現在この機能がサポートしているデータ型は公開情報を見てください
Event Hubs と Storage にデータを送信する (プレビュー) - Azure Monitor | Microsoft Learn
重要な制限事項
- この機能は現在パブリックプレビュー段階です
- 本番環境での使用前に十分なテストを実施してください
- すべてのデータソースが完全にサポートされているわけではありません
ざっくり手順
1. 前提条件の確認
以下のリソースが必要です:
- Azure 仮想マシン(本記事では Windows を用います)
2. ストレージアカウントの準備
ログデータを格納するストレージアカウントを作成します。

重要な設定項目:
- アカウントの種類: StorageV2(汎用 v2)
- レプリケーション: 要件に応じて選択(LRS、GRS など)
- アクセス層: Hot(頻繁にアクセスする場合)
3. マネージド ID の作成
Azure Monitor エージェントがストレージアカウントや Event Hubs にアクセスできるよう、適切な権限を設定します。
Azure Monitor エージェントは、大規模な展開の場合、ユーザー割り当てマネージド ID を使用することが推奨されています。


必要な権限:
送信先 | 必要なロール | 説明 |
---|---|---|
ストレージアカウント | Storage Blob Data Contributor | BLOB データの読み書き権限 |
ストレージアカウント | Storage Table Data Contributor | テーブルデータの読み書き権限 |
作成したマネージド ID を仮想マシンに割り当てておきます

4. データ収集ルールの作成
Azure Portal でデータ収集ルール(DCR)を作成します。
現在は Storage Account および Event Hub への直接送信が可能な DCR の作成を GUI で行うことはできません。
そこで ARM テンプレートを使用して DCR を作成します。
現在、Event Hubs またはストレージにデータを送信するデータ収集規則 (DCR) を作成するための UI エクスペリエンスはありません。
Event Hubs と Storage にデータを送信する (プレビュー) - Azure Monitor | Microsoft Learn
Azure Portal で [カスタム テンプレートのデプロイ] を選択し、[独自のテンプレートをエディターに作成]を選択します
以下の ARM テンプレートを貼り付けてください。
※公開情報の ARM テンプレートを参考に Event hub への送信先を削除しました。今回利用しないログの送信設定もありますが、一旦そのままにしています
|
|
ストレージ アカウント名は作成したものを入力しておきます

5. 仮想マシンへの関連付け
作成したデータ収集ルールを監視対象の仮想マシンに関連付けます。
これも ARM テンプレートを使用して行います。
|
|

6. 動作確認
設定完了後、データが送信されるまでしばらく待ちます
6-1. ストレージアカウントでの確認
ストレージアカウントの BLOB コンテナーにログファイルが作成されているかを確認します。
perfblob、wineventblob というコンテナーが作成され、ログファイルが保管されています

テーブルにも同様にデータが保存されます。

6-2. ログデータの内容確認
ダウンロードしてみると下記のようなデータが保存されています(一部抜粋)
|
|
テーブルもデータが保管されています
まとめ
Azure Monitor エージェントの新機能により、ログデータをストレージアカウントに直接送信できるようになりました。これにより以下のメリットが得られます:
- 長期アーカイブ: ストレージアカウントに低コストでログを長期保存
- コスト最適化: Log Analytics ワークスペースエクスポート機能を使用せず、直接ストレージに送信することでコスト削減
- データ統合: 他のシステムとの連携が容易
ただし、現在はパブリックプレビュー段階のため、本番環境での使用前には十分なテストを実施することをお勧めします。
今後、この機能が一般提供(GA)されることで、Azure Monitor を使った監視アーキテクチャがより柔軟で効率的になることが期待されます。
参考
- Azure Monitor Agent の概要 - Azure Monitor | Microsoft Learn
- Azure Monitor Agent upload to storage now public preview | Azure の更新情報
- Send Azure Monitor logs to Storage with Azure Monitor Agent - Azure Monitor | Microsoft Learn
- データ収集ルールの構造 - Azure Monitor | Microsoft Learn
- Azure Monitor エージェントを使用したデータ収集 - Azure Monitor | Microsoft Learn
- Log Analytics ワークスペースからのデータのエクスポート - Azure Monitor | Microsoft Learn