概要
Azure Monitorで収集したログデータをLog Analyticsのデータエクスポート機能を利用し、
Event Hub経由で別システムへ連携する方法を検証したため、手順をまとめておきます。
環境
今回の検証で使用した環境の構成は以下の通りです。
- 検証用仮想マシン
監視対象の仮想マシンです。
当該VMにAzureMonitorのエージェントをインストールし、ログデータを収集します。 - Azure Monitor
- データ収集ルール
データ収集元(リソース)と収集対象データ(データソース)を指定します。 - Log Analyticsワークスペース
収集データを集積・処理します。
- データ収集ルール
- EventHubs
LogAnalyticsから外部システムへのデータ中継に利用するストリーミングサービスです。
手順
ログ収集設定
1. Log Analyticsワークスペースの作成
Azureポータルのサービス一覧から「分析」 > 「Log Analytics ワークスペース」を選択し、「作成」ボタンをクリックします。
以下のパラメータを設定し、「作成」ボタンをクリックします。
2. データ収集ルールの作成
Azureポータルのサービス一覧から「モニター」 > 「データ収集ルール」を選択し、「作成」ボタンをクリックします。
利用環境に合わせて以下のパラメータを設定し、「次へ」ボタンをクリックします。
「リソースの追加」ボタンをクリックし、監視対象の仮想マシンを追加し、「次へ」ボタンをクリックします。
「データソースの追加」ボタンをクリックし、収集対象とするデータリソースおよびデータの配信先を指定して「次へ」をクリックします。
タグは指定せず次へ進み、「作成」ボタンをクリックしてデータ収集ルールを作成します。
データ収集ルールの作成が完了すると、監視対象の仮想マシンにAzure Monitorエージェントが自動インストールされます。
収集されたデータはLog Analyticsワークスペースでクエリを実行することで確認できます。
3. Event Hubの作成
始めに名前空間を作成します。
Azureポータルのサービス一覧から「分析」 > 「Event Hubs」を選択し、「作成」ボタンをクリックします。
利用環境・目的に合わせて以下のパラメータを設定し、「次へ」ボタンをクリックします。
- サブスクリプション:利用環境に合わせて設定
- リソースグループ:利用環境に合わせて設定
- 名前空間の名前:任意
- 場所:利用環境に合わせて設定
- 価格レベル:利用目的に合わせて設定
- EventHubは価格レベルで利用できる機能が異なるため、利用目的と照らし合わせて選択します。
参考:Azure Event Hubs のレベルを比較する
- EventHubは価格レベルで利用できる機能が異なるため、利用目的と照らし合わせて選択します。
- スループットユニット:利用目的に合わせて設定
- Event Hubs のスループット容量はスループットユニット数によって制御され、また料金が変わります。
参考:Event Hubs によるスケーリング
- Event Hubs のスループット容量はスループットユニット数によって制御され、また料金が変わります。
今回は検証のため、詳細、ネットワーク、タグ設定はデフォルトのまま確認と作成画面に進み「作成」ボタンをクリックします。
続いて、Event Hubを作成します。
作成した名前空間の概要画面で「+イベントハブ」ボタンをクリックします。
Event Hubの任意の名前を入力し、他設定はデフォルトのまま作成します。
Event Hubの作成が完了したら、外部システムとのデータ連携用に共有アクセスポリシーを作成します。
名前空間の設定から「共有アクセスポリシー」を選択し、「追加」ボタンをクリックします。
ポリシー名と権限を設定し、「作成」ボタンをクリックします。
作成されたポリシーに割り当てられたキーは、Event Hubからデータを送受信する際に利用します。
4. Log Analyticsワークスペースのデータエクスポート設定
作成したLog Analyticsワークスペースの概要画面で「設定」 > 「データ エクスポート」を選択し、「新しいエクスポートルール」ボタンをクリックします。
エクスポート対象となるデータテーブルを選択し、「次へ」ボタンをクリックします。
- エクスポート機能は全てのテーブルをサポートしていません。利用したいデータがサポート対象かは以下のページで確認してください。
参考:サポート対象のテーブル
データのエクスポート先として、先ほど作成したEvent Hubを指定し、「次へ」ボタンをクリックします。
エクスポートルールの設定内容を確認し、「作成」ボタンをクリックして作成完了です。
エクスポートルールが作成された段階からAzure Monitorで収集したログデータがEvent Hubまで連携されるようになります。
Event Hubに連携されたデータは共有アクセスポリシーのキーを利用して外部から受信可能となります。
参考
https://learn.microsoft.com/ja-jp/azure/azure-monitor/logs/logs-data-export
https://learn.microsoft.com/ja-jp/azure/azure-monitor/logs/ingest-logs-event-hub
https://jpazmon-integ.github.io/blog/LogAnalytics/LogAnalyticsworkspaceDataExport/
https://blog.jbs.co.jp/entry/2023/10/10/133712
https://qiita.com/pienhalifax/items/135ba2a4f32d08938eaa