Log Analytics ワークスペースのデータ エクスポートを使用すると、ワークスペース内の選択したテーブルごとにデータを連続してエクスポートできます。 データが Azure Monitor パイプラインに到着したら、Azure ストレージ アカウントまたは Azure Event Hubs にエクスポートできます。 この記事では、この機能の詳細と、ワークスペースでデータ エクスポートを構成する手順について説明します。
概要
Log Analytics のデータは、ワークスペースで定義されている保持期間中に使用できます。 これは、Azure Monitor と Azure サービスで提供されるさまざまなエクスペリエンスで使用されます。 他のツールを使用することが必要な場合があります。
- 改ざん防止保存のコンプライアンス: データは取り込まれた後、Log Analytics で変更できませんが、消去することはできます。 データの改ざん防止状態を維持するために、不変ポリシーが設定されたストレージ アカウントにエクスポートします。
- Azure サービスおよびその他のツールとの統合: データが Azure Monitor に到着し、処理されたら、Event Hubs にエクスポートします。
- 監査データとセキュリティ データの長期保持: ワークスペースのリージョン内のストレージ アカウントにエクスポートします。 また、GRS、GZRS など、Azure Storage の冗長オプションを使用することで、他のリージョンにデータをレプリケートできます。
Log Analytics ワークスペースでデータ エクスポート ルールを構成した後、ルールのテーブルの新しいデータが到着すると、そのデータは Azure Monitor パイプラインからストレージ アカウントまたは Event Hubs にエクスポートされます。 データ エクスポート トラフィックは Azure バックボーン ネットワーク内にあり、Azure ネットワークから離れることはありません。
データは、フィルターなしでエクスポートされます。 たとえば、SecurityEvent テーブルに対してデータ エクスポート ルールを構成すると、その構成時点から、SecurityEvent テーブルに送信されたすべてのデータがエクスポートされます。 または、エクスポートしたデータを Log Analytics ワークスペースやエクスポート先に送信する前に、受信データに適用される変換をワークスペースで構成することで、フィルター処理または変更することもできます。
その他のエクスポート オプション
Log Analytics ワークスペースのデータ エクスポートでは、Log Analytics ワークスペースに送信されるデータが連続してエクスポートされます。 他にも、特定のシナリオでデータをエクスポートするためのオプションがあります。
- Azure リソースが既に診断ログ設定を使用して Log Analytics ワークスペースにログを送信している場合は、データ エクスポートを定期的に使用するのではなく、Azure リソースの診断設定を直接更新して新しい宛先を追加することを検討してください。 この方法では、データ エクスポートと比較して待機時間は短くなりますが、履歴データは送信されません。
- Log Analytics クエリ API で定義したログ クエリに基づいてデータのエクスポートをスケジュールします。 Azure Data Factory、Azure Functions、または Azure Logic Apps を使用して、ワークスペースでクエリを調整し、データを宛先にエクスポートします。 この方法はデータ エクスポート機能に似ていますが、この方法を使用すると、フィルターと集計を使用してワークスペースから履歴データをエクスポートできます。 この方法はログ クエリの制限の対象であり、スケーリングを目的としたものではありません。 詳細については、「Logic Apps を使用した Log Analytics ワークスペースからストレージ アカウントへのデータのエクスポート」を参照してください。
- PowerShell スクリプトを使用して、ローカル コンピューターへの 1 回限りのエクスポートを使用します。 詳細については、「Invoke-AzOperationalInsightsQueryExport」を参照してください。
権限が必要です
アクション | 権限が必要です |
---|---|
データ エクスポート ルールを作成または更新する | Microsoft.OperationalInsights/workspaces/dataexports/write への権限は、たとえばLog Analytics 寄稿者組み込みロールによって提供されます。 |
データエクスポートルールの削除 | Microsoft.OperationalInsights/workspaces/dataexports/delete への権限は、たとえばLog Analytics 寄稿者組み込みロールによって提供されます。 |
ストレージ アカウントへのエクスポート | Microsoft.Storage/storageAccounts/blobServices/containers/write 例えば、ストレージ アカウントのアクセス許可はストレージ アカウント共同作成者の組み込みの役割によって提供されます。 |
イベント ハブへのエクスポート | Microsoft.EventHub/namespaces/eventhubs/write 、Microsoft.EventHub/namespaces/eventhubs/messages/write 、Microsoft.EventHub/namespaces/authorizationRules/listkeys/action の権限がイベント ハブに付与されます(例えば、Azure Event Hubs データ所有者の組み込みロールによって提供される権限です)。 |
テーブルのログに対してクエリを実行する | Microsoft.OperationalInsights/workspaces/query/<table>/read Log Analytics ワークスペースに対する権限は、たとえば Log Analytics 閲覧者組み込みロール によって提供されます |
テーブルのログに対してクエリを実行する (テーブル アクション) | Microsoft.OperationalInsights/workspaces/tables/query/read Log Analytics ワークスペースに対する権限は、たとえば Log Analytics 閲覧者組み込みロール によって提供されます |
制限事項
- HTTP データ コレクター API を使用して作成されたカスタム ログは、Log Analytics エージェントによって使用されるテキストベースのログを含め、エクスポートできません。 データ収集ルールを使用して作成されたカスタム ログは、テキストベースのログを含め、エクスポートできます。
- データエクスポートでは、より多くのテーブルが徐々にサポートされます。 「 サポートされていないテーブル」セクションを 参照してください。
- ワークスペースあたりのアクティブなルールの最大数は 10 で、それぞれに複数のテーブルを含めることができます。
- ストレージ アカウントは、ワークスペースのルール間で一意である必要があります。
- サポートされているテーブル プランは、Analytics と Basic です。 補助プランはサポートされていません。
- エクスポート先は、Log Analytics ワークスペースと同じリージョンに配置されている必要があります。
- Premium Storage アカウントへのエクスポートはサポートされていません。
- ネットワーク セキュリティ境界または Private Link の宛先へのエクスポートはサポートされていません。
データの完全性
データエクスポートは、大量のデータを宛先に移動するように最適化されています。 スケールまたは可用性が不十分な宛先が発生した場合、再試行プロセスは最大 12 時間継続され、エクスポートされたレコードの一部が重複する可能性があります。 信頼性を向上させるには、 ストレージ アカウント と Event Hubs の 宛先に関する推奨事項に従います。 再試行期間の後も宛先が使用できない場合、データは破棄されます。
宛先の制限および推奨されるアラートの詳細については、「データ エクスポート ルールを作成または更新する」を参照してください。
価格モデル
データ エクスポートの料金は、JSON 形式のデータで宛先にエクスポートされたバイト数に基づいており、GB (10^9 バイト) で測定されます。 サイズの計算には JSON 形式のオーバーヘッドが含まれていないため、データ エクスポート サイズの計算はワークスペース クエリでは実行できません。 このサンプル PowerShell スクリプトのメソッドを使用して、 BLOB コンテナーの合計課金サイズを計算します。 現在、ソブリン クラウドへのエクスポートには料金はかかりません。 有効化の前には通知が送信されます。
データ エクスポートの課金タイムラインなど、詳細については、「Azure Monitor の価格」を参照してください。 データ エクスポートの課金が 2023 年 10 月上旬に有効になりました。
エクスポート先
ワークスペースでエクスポート ルールを作成する前に、データのエクスポート先を使用できるようにする必要があります。 宛先は異なるサブスクリプションに配置することができます。 Azure Lighthouse では、別の Microsoft Entra テナントの宛先にデータを送信することもできます。
ストレージ アカウント
他の監視以外のデータがない既存のストレージ アカウントを使用して、待機時間またはレート制限の超過によるストレージイングレスエラーを防ぎます。 これにより、データへのアクセスをより適切に制御し、データ エクスポートの信頼性を向上させることができます。
データを不変ストレージ アカウントに送信するには、「Azure Blob Storage の不変ポリシーの設定と管理」で説明されているように、ストレージ アカウントの不変ポリシーを設定します。 この記事のすべての手順に従う必要があります。これには、保護された追加 BLOB の書き込みの有効化が含まれます。
このストレージ アカウントは Premium であってはならず、StorageV1 以降であり、かつワークスペースと同じリージョンにあることが必要です。 他のリージョンの他のストレージ アカウントにデータをレプリケートする必要がある場合は、GRS や GZRS など、 Azure Storage の冗長性オプションのいずれかを使用します。
データは、Azure Monitor に到達すると、ストレージ アカウントに送信され、ワークスペースのリージョンにある宛先にエクスポートされます。 ストレージ アカウント内のテーブルごとに、am- の後にそのテーブル名が続く名前を持つコンテナーが作成されます。 たとえば、テーブル SecurityEvent は、am-SecurityEvent という名前のコンテナーに送信されます。
BLOB は、WorkspaceResourceId=/subscriptions/subscription-id/resourcegroups/<リソース グループ>/providers/microsoft.operationalinsights/workspaces/<ワークスペース>/y=<4 桁の数値年>/m=<2 桁の数値月>/d=<2 桁の数値日>/h=<2 桁の 24 時制の時間>/m=<2 桁の 60 分制の分>/PT05M.json というパス構造の 5 分フォルダーに格納されます。 BLOB への追加の書き込みは 50,000 件に制限されています。 追加の BLOB は PT05M_#.json* としてフォルダーに追加されます ('#' は BLOB の番号で、インクリメントされます)。
注意
BLOB への追加は、"TimeGenerated" フィールドに基づいて書き込まれ、ソース データの受信時に発生します。 Azure Monitor に遅延して到着したデータ、または宛先の調整後に再試行されたデータは、その TimeGenerated に従って BLOB に書き込まれます。
ストレージ アカウントでの BLOB の形式は JSON 行です。各レコードは改行で区切られ、外側のレコード配列はなく、JSON レコード間のコンマもありません。
Event Hubs
既存の非監視データを含むイベント ハブの使用は避けてください。 このベスト プラクティスは、待機時間やレート制限の超過によるイングレス エラーを防ぐのに役立ちます。
データは、Azure Monitor に到達すると、イベント ハブに送信され、ワークスペース リージョンにある宛先にエクスポートされます。 ルールに別の Event Hub name
を指定して、同じ Event Hub 名前空間に対して複数のエクスポート 規則を作成します。 Event Hub name
が指定されていない場合、エクスポートするテーブルごとに既定のイベント ハブが作成され、am- の後にテーブルの名前が続く名前が付けられます。 たとえば、テーブル SecurityEvent は、am-SecurityEvent という名前のイベント ハブに送信されます。
Basic および Standard 名前空間レベルでサポートされるイベント ハブの数は 10 です。 これらのレベルに 10 を超えるテーブルをエクスポートする場合は、複数のエクスポート ルール間でテーブルを別の Event Hubs 名前空間に分割するか、イベント ハブ名を指定して、それにすべてのテーブルをエクスポートします。
注意
- Basic Event Hubs 名前空間レベルは制限されています。 サポートされているイベント サイズは小さく、自動的にスケールアップし、スループット ユニットの数を増やすための自動インフレ オプションはサポートされていません。 ワークスペースへのデータ量は時間の経過と共に増加し、その結果、イベント ハブのスケーリングが必要になるため、自動インフレ機能を使用できる Standard、Premium、または Dedicated Event Hubs レベルを使用してください。 詳細については、「Azure Event Hubs のスループット単位を自動的にスケールアップする」参照してください。
- データのエクスポートでは、仮想ネットワークが有効になっていると Event Hubs リソースに到達できません。 Event Hubs へのアクセスを許可するために、イベント ハブでこのファイアウォール設定をバイパスするには、[信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] チェックボックスをオンにする必要があります。
エクスポートされたデータのクエリを実行する
ワークスペースからストレージ アカウントにデータをエクスポートすると、概要に記載されているさまざまなシナリオを満たすことができ、ストレージ アカウントから BLOB を読み取れるツールで使用できます。 次の方法を使用すると、Log Analytics クエリ言語を使用してデータのクエリを実行できます。これは Azure Data Explorer でも同じです。
- Azure Data Explorer を使用して Azure Data Lake のデータに対してクエリを実行する。
- Azure Data Explorer を使用してストレージ アカウントからデータを取り込む。
- Log Analytics ワークスペースを使用して Logs Ingestion API を使用して取り込まれたデータに対してクエリを実行する。 取り込まれたデータは、元のテーブルではなく、カスタム ログ テーブルに送信されます。
データ エクスポートを有効にする
Log Analytics のデータ エクスポートを有効にするには、次の手順を実行する必要があります。
リソース プロバイダーの登録
Log Analytics データ エクスポートを有効にするには、Azure リソース プロバイダー Microsoft.Insights をサブスクリプションに登録する必要があります。
このリソース プロバイダーは、ほとんどの Azure Monitor ユーザーに既に登録されています。 確認するには、Azure portal で [サブスクリプション] に移動します。 対象のサブスクリプションを選択し、メニューの [設定] セクションで [リソース プロバイダー] を選択します。 Microsoft.Insights を見つけます。 その状態が [登録済み] の場合は、既に登録されています。 それ以外の場合、[登録] を選択して登録します。
また、「Azure リソース プロバイダーと種類」で説明されているように、リソース プロバイダーを登録するために使用可能な方法のいずれかを使用できます。 次のサンプル コマンドでは、Azure CLI を使用します。
az provider register --namespace 'Microsoft.insights'
次のサンプル コマンドでは、PowerShell を使用します。
Register-AzResourceProvider -ProviderNamespace Microsoft.insights
信頼された Microsoft サービスを許可する
選択したネットワークからのアクセスを許可するようにストレージ アカウントを構成した場合は、Azure Monitor がそのアカウントに書き込むことができるように例外を追加する必要があります。 ストレージ アカウントの [ファイアウォールと仮想ネットワーク] から、[信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] をオンにします。
エクスポート先を監視する
重要
エクスポート先には制限があり、調整、障害、遅延を最小限に抑えるために監視する必要があります。 詳細については、「ストレージ アカウントのスケーラビリティ」と、「Event Hubs 名前空間のクォータ」を参照してください。
データ エクスポート操作とアラートには、次のメトリクスを使用できます。
メトリックの名前 | 説明 |
---|---|
エクスポートされたバイト数 | 選択された時間範囲に含まれる Log Analytics ワークスペースから宛先にエクスポートされたバイト数の合計。 エクスポートされるデータのサイズは、エクスポートされる JSON 形式データのバイト数です。 1 GB = 10^9 バイト。 |
エクスポート エラー | 選択された時間範囲に含まれる Log Analytics ワークスペースから宛先への失敗したエクスポート要求の合計数。 この数には、宛先リソースの調整、禁止されたアクセスのエラー、またはサーバー エラーによるエクスポート試行の失敗が含まれます。 再試行プロセスは失敗した試行を処理し、この数はデータの欠落を示す値ではありません。 |
エクスポートされたレコード | 選択された時間範囲に含まれる Log Analytics ワークスペースからエクスポートされたレコードの合計数。 この数は、成功で終了した操作のレコードを数えたものです。 |
ストレージ アカウントを監視する
エクスポート用に個別のストレージ アカウントを使用します。
次のメトリックでアラートを構成します。
範囲 メトリック名前空間 メトリック 集計 しきい値 ストレージ名 アカウント イングレス SUM アラート評価期間あたり最大イングレス数の 80%。 たとえば、米国西部の汎用 v2 の場合、上限は 60 Gbps です。 アラートのしきい値は、5 分間の評価期間あたり 1676 GiB です。 アラートの修復アクション:
- 非監視データと共有されていないエクスポートでは、個別のストレージ アカウントを使用します。
- Azure Storage Standard アカウントでは、要求によってイングレスの上限を上げることがサポートされます。 増加を依頼するには、Azure サポートにお問い合わせください。
- より多くの Storage アカウント間でテーブルを分割します。
Event Hubs を監視する
メトリックにアラートを構成します。
範囲 メトリック名前空間 メトリック 集計 しきい値 名前空間の名前 Event Hubs の標準メトリック 着信バイト数 SUM アラート評価期間あたり最大イングレス数の 80%。 たとえば、制限はユニットあたり 1 MB/秒 (TU または PU) で、使用ユニット数は 5 です。 しきい値は、5 分間の評価期間あたり 228 MiB です。 namespaces-name Event Hubs の標準メトリック 受信要求 数える アラート評価期間あたり最大イベント数の 80%。 たとえば、制限はユニットあたり 1,000/秒 (TU または PU) で、使用ユニット数は 5 です。 しきい値は、5 分間の評価期間あたり 1,200,000 です。 namespaces-name Event Hubs の標準メトリック クォータ超過エラー数 数える 要求の 1% の間。 たとえば、5 分間あたりの要求数は 600,000 です。 しきい値は、5 分間の評価期間あたり 6,000 です。 アラートの修復アクション:
- 非監視データと共有されていないエクスポートでは、個別の Event Hubs 名前空間を使用します。
- 使用量のニーズに合わせて自動的にスケールアップし、スループット ユニットの数を増やすように自動インフレ機能を構成します。
- データ量に合うようにスループット ユニットを増やしているかを確認します。
- より多くの名前空間の間でテーブルを分割します。
- スループットを高めるために Premium または Dedicated レベルを使用します。
データ エクスポート ルールを作成または更新する
データ エクスポート ルールでは、データをエクスポートする宛先とテーブルを定義します。 エクスポート操作が開始される前に、ルールのプロビジョニングに約 30 分かかります。 データ エクスポート ルールに関する考慮事項:
- ストレージ アカウントは、ワークスペースのルール間で一意である必要があります。
- 個別の Event Hubs に送信するとき、複数のルールで同じ Event Hubs 名前空間を使用できます。
- ストレージ アカウントにエクスポート: テーブルごとに個別のコンテナーがストレージ アカウントに作成されます。
- Event Hubs にエクスポート: イベント ハブ名が指定されていない場合は、テーブルごとに個別のイベント ハブが作成されます。 Basic および Standard 名前空間レベルでサポートされるイベント ハブの数は 10 です。 これらのレベルに 10 を超えるテーブルをエクスポートする場合は、複数のエクスポート ルール間でテーブルを別の Event Hubs 名前空間に分割するか、ルールでイベント ハブ名を指定して、すべてのテーブルをそれにエクスポートします。
データ エクスポート ルールの構成の表示
エクスポート ルールを無効化または更新する
テストを保留するときなどに、エクスポート ルールを無効にすると、エクスポートを一定期間停止できます。 Azure portal の [Log Analytics ワークスペース] メニューの [設定] セクションで、[データ エクスポート] を選択します。 [状態] トグルを選択して、エクスポート ルールを有効または無効にします。
エクスポート ルールを削除する
Azure portal の [Log Analytics ワークスペース] メニューの [設定] セクションで、[データ エクスポート] を選択します。 ルールの右側にある省略記号を選択し、[削除] を選択します。
ワークスペース内のすべてのデータ エクスポート ルールを表示する
Azure portal の [Log Analytics ワークスペース] メニューの [設定] セクションで [データ エクスポート] を選択して、ワークスペース内のすべてのエクスポート ルールを表示します。
サポート対象外のテーブル
注意
サポート対象外のテーブルがデータ エクスポート ルールに含まれている場合、構成は成功しますが、そのテーブルのデータはエクスポートされません。 テーブルがサポートされている場合、データのエクスポートが開始されます。 より多くのテーブルのサポートを追加中です。 この記事を定期的にご確認ください。
テーブル | 制限事項 |
---|---|
ADXDataOperation | |
アラート | 部分的なサポート。 Zabbix アラートのデータ インジェストはサポートされていません。 |
アラート履歴 | |
AzureActivity | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
AzureDiagnostics | |
AzureMetrics | |
ConfigurationChange | |
設定データ | 部分的なサポート。 データの一部は、エクスポートでサポートされない内部サービスを介して取り込まれます。 現在、この部分はエクスポートに含まれません。 |
DatabricksDatabricksSQL | |
DatabricksSQL | |
デバイスアプリ起動 | |
デバイスカレンダー | |
デバイスコネクトセッション | |
DeviceEtw | |
DeviceHealth | |
DeviceHeartbeat | |
ETWEvent | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
出来事 | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
InsightsMetrics | 部分的なサポート。 データの一部は、エクスポートでサポートされない内部サービスを介して取り込まれます。 現在、この部分はエクスポートに含まれません。 |
ネットワークセッション | |
操作 | 部分的なサポート。 データの一部は、エクスポートでサポートされない内部サービスを介して取り込まれます。 現在、この部分はエクスポートに含まれません。 |
保護状態 | |
ServiceFabricOperationalEvent (サービスファブリック運用イベント) | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
ServiceFabricReliableActorEvent | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
ServiceFabricReliableServiceEvent | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
更新 | 部分的なサポート。 データの一部は、エクスポートでサポートされない内部サービスを介して取り込まれます。 現在、この部分はエクスポートに含まれません。 |
VMBoundPort | |
VMComputer | |
VMConnection | |
VMProcess | |
W3CIISLog | 部分的なサポート。 Log Analytics エージェントまたは Azure Monitor エージェントから到着するデータは、エクスポートで完全にサポートされます。 Diagnostics Extension エージェントを介して到着するデータは、ストレージを使用して収集されます。 このパスは、エクスポートではサポートされていません。 |
WireData | 部分的なサポート。 データの一部は、エクスポートでサポートされない内部サービスを介して取り込まれます。 現在、この部分はエクスポートに含まれません。 |