Azure Monitor データ収集ルールを構成する
ログ データを正規化するもう 1 つの方法は、インジェスト時にデータを変換することです。 この場合、Microsoft Sentinel に使用できる解析済みの形式でデータが格納されるという利点があります。
Azure Monitor のデータ収集ルール
データ収集ルール (DCR) は Azure Monitor で ETL に似たパイプラインを提供し、Azure Monitor に入力されるデータの処理方法を定義できます。 ワークフローの種類に応じて、DCR ではデータを送信する場所を指定し、Azure Monitor ログに保存される前にデータをフィルター処理または変換できます。 一部のデータ収集ルールは Azure Monitor によって作成および管理される一方で、ユーザーが他のデータ収集を作成して特定の要件に合わせてカスタマイズすることもできます。
データ収集ルールの種類
現在、Azure Monitor には次の 2 種類のデータ収集ルールがあります。
標準 DCR。 データを Azure Monitor に送信するさまざまなワークフローで使用されます。 現在サポートされているワークフローは、Azure Monitor エージェントとカスタム ログです。
ワークスペース変換 DCR。 現在は DCR をサポートしていないワークフローにインジェスト時変換を適用するために、Log Analytics ワークスペースと一緒に使用されます。
変換
データ収集ルール (DCR) の変換を使用すると、Log Analytics ワークスペースに格納される前に、受信データをフィルター処理または変更できます。 データ変換は、Kusto 照会言語 (KQL) ステートメントを使用して定義され、データ ソース内の各エントリに個別に適用されます。 受信データの形式を理解し、ターゲット テーブルの構造で出力を作成する必要があります。
変換構造
入力ストリームは、入力データ ストリーム定義に一致する列を含む source という名前の仮想テーブルによって表されます。 変換の一般的な例を次に示します。 この例には、次の機能が含まれています。
- where ステートメントを使用して受信データをフィルター処理する
- extend 演算子を使用して新しい列を 追加 する
- project 演算子を使用して、ターゲット テーブルの列と一致するように出力を書式設定する
source
| where severity == "Critical"
| extend Properties = parse_json(properties)
| project
TimeGenerated = todatetime(["time"]),
Category = category,
StatusDescription = StatusDescription,
EventName = name,
EventId = tostring(Properties.EventId)