次の方法で共有


Azure Monitor でのデータ収集ルール (DCR) のサンプル

この記事には、Azure Monitor での一般的なデータ収集シナリオに関するデータ収集ルール (DCR) のサンプルが含まれています。 データ収集ルールの作成または編集に関する記事のガイダンスを使い、環境の必要に応じてこれらの DCR 定義を変更して、DCR を作成できます。 また、これらのサンプルの基本的な戦略を使って組み合わせ、他のシナリオ用の DCR を作成することもできます。

これらのサンプルでは、「Azure Monitor でのデータ収集ルール (DCR) の構造」で説明されている DCR の構造に関する知識が必要です。 いくつかは、DCR の構造に関する詳しい知識がなくても、Azure portal を使って構成できます。 DCR の定義自体を操作して、より高度な構成を実行したり、DCR の作成を自動化したりする必要があるときは、これらのサンプルを使います。

これらの各サンプルでは特定のデータ ソースが対象になっていますが、1 つの DCR で異なる種類の複数のデータ ソースを組み合わせることができます。 それぞれについて、適切な収集先にデータを送信するためのデータ フローを含めます。 1 つの DCR に複数のデータ ソースを組み合わせても、データ ソースごとに個別の DCR を作成しても、機能的な違いはありません。 どちらを選ぶかは、データ収集の管理と監視の要件によります。

Note

この記事で示すこれらのサンプルでは、DCR を作成するために必要なソース JSON を提供します。 作成後、DCR には、「Azure Monitor でのデータ収集ルールの構造」に記載されている追加のプロパティが含まれます。

Azure Monitor エージェント用の DCR

Azure Monitor エージェントは、仮想マシン、仮想マシン スケール セット、Kubernetes クラスターで実行されます。 それでは、VM InsightsContainer Insights がサポートされ、Azure Monitor エージェントのデータ収集に関する記事で説明されている VM のさまざまなデータ収集シナリオがサポートされます。

次のサンプルでは、Azure Monitor エージェントを使ってさまざまな種類のデータを収集するための DCR を示します。

Windows イベント

Windows イベント用の DCR では、windowsEventLogs データ ソースと Microsoft-Event 着信ストリームを使います。 このストリームのスキーマは既知であるため、dataSources セクションで定義する必要はありません。 収集するイベントは、xPathQueries プロパティで指定します。 XPath を使って収集する特定のデータをフィルター処理する方について詳しくは、「Azure Monitor エージェントを使用して Windows イベントを収集する」をご覧ください。 まずは、その記事のガイダンスに従い Azure portal を使って DCR を作成した後、「DCR の定義」のガイダンスを使って JSON を調べることができます。

計算列の dataFlows プロパティに変換を追加して、データをさらにフィルター処理できますが、効率を高め、インジェスト料金が発生する可能性を避けるため、可能な限りエージェントで XPath を使ってデータをフィルター処理する必要があります。

次のサンプル DCR では、次のアクションを実行します。

  • 警告、エラー、または重大のエラー レベルで Windows アプリケーションとシステムのイベントを収集します。
  • ワークスペース内の Event テーブルにデータを送信します。
  • 着信データに対して変更を行わない source の単純な変換を使います。
{
    "location": "eastus",
    "properties": {
      "dataSources": {
        "windowsEventLogs": [
          {
            "name": "eventLogsDataSource",
            "streams": [
              "Microsoft-Event"
            ],
            "xPathQueries": [
              "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
              "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
            ]
          }
        ]
    },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
            "name": "centralWorkspace"
          }
        ]
      },
      "dataFlows": [
        {
          "streams": [
            "Microsoft-Event"
          ],
          "destinations": [
            "centralWorkspace"
          ],
            "transformKql": "source",
            "outputStream": "Microsoft-Event"
        }
      ]
    }
  }

Syslog イベント

Syslog イベント用の DCR では、syslog データ ソースと Microsoft-Syslog 着信ストリームを使います。 このストリームのスキーマは既知であるため、dataSources セクションで定義する必要はありません。 収集するイベントは、facilityNameslogLevels プロパティで指定します。 詳しくは、「Azure Monitor エージェントを使用して Syslog イベントを収集する」をご覧ください。 まずは、その記事のガイダンスに従い Azure portal を使って DCR を作成した後、「DCR の定義」のガイダンスを使って JSON を調べることができます。

追加機能の dataFlows プロパティに変換を追加して、データをさらにフィルター処理できますが、効率を高め、インジェスト料金が発生する可能性を避けるため、可能な限りフィルター処理には facilityNameslogLevels を使う必要があります。

次のサンプル DCR では、次のアクションを実行します。

  • cron ファシリティからすべてのイベントを収集します。
  • syslogdaemon ファシリティから、Warning 以上のイベントを収集します。
    • ワークスペース内の Syslog テーブルにデータを送信します。
    • 着信データに対して変更を行わない source の単純な変換を使います。
{
    "location": "eastus",
    "properties": {
      "dataSources": {
        "syslog": [
          {
            "name": "cronSyslog",
            "streams": [
              "Microsoft-Syslog"
            ],
            "facilityNames": [
              "cron"
            ],
            "logLevels": [
              "Debug",
              "Info",
              "Notice",
              "Warning",
              "Error",
              "Critical",
              "Alert",
              "Emergency"
            ]
          },
          {
            "name": "syslogBase",
            "streams": [
              "Microsoft-Syslog"
            ],
            "facilityNames": [
              "daemon",              
              "syslog"
            ],
            "logLevels": [
              "Warning",
              "Error",
              "Critical",
              "Alert",
              "Emergency"           
            ]
          }
        ]
      },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
            "name": "centralWorkspace"
          }
        ]
      },
      "dataFlows": [
        {
          "streams": [
            "Microsoft-Syslog"
          ],
          "destinations": [
            "centralWorkspace"
          ],
            "transformKql": "source",
            "outputStream": "Microsoft-Syslog"
        }
      ]
    }
  }

パフォーマンス カウンター

パフォーマンス データ用の DCR では、performanceCounters データ ソースと着信ストリーム Microsoft-InsightsMetricsMicrosoft-Perf を使います。 Microsoft-InsightsMetrics は Azure Monitor メトリックにデータを送信するために使われ、Microsoft-Perf は Log Analytics ワークスペースにデータを送信するために使われます。 両方の収集先にパフォーマンス データを送信する場合は、両方のデータ ソースを DCR に含めることができます。 これらのストリームのスキーマは既知であるため、dataSources セクションで定義する必要はありません。

収集するパフォーマンス カウンターは、counterSpecifiers プロパティで指定します。 詳しくは、「Azure Monitor エージェントを使用してパフォーマンス カウンターを収集する」をご覧ください。 まずは、その記事のガイダンスに従い Azure portal を使って DCR を作成した後、「DCR の定義」のガイダンスを使って JSON を調べることができます。

追加機能に対する Microsoft-PerfdataFlows プロパティに変換を追加して、データをさらにフィルター処理できますが、効率を高め、インジェスト料金が発生する可能性を避けるため、counterSpecifiers では必要なカウンターのみを選ぶ必要があります。

次のサンプル DCR では、次のアクションを実行します。

  • あるパフォーマンス カウンターのセットを 60 秒ごとに収集し、別のセットを 30 秒ごとに収集します。
  • Azure Monitor メトリックと Log Analytics ワークスペースにデータを送信します。
  • 着信データに対して変更を行わない source の単純な変換を使います。
{
    "location": "eastus",
    "properties": {
      "dataSources": {
        "performanceCounters": [
          {
            "name": "perfCounterDataSource60",
            "streams": [
              "Microsoft-Perf",
              "Microsoft-InsightsMetrics"
            ],
            "samplingFrequencyInSeconds": 60,
            "counterSpecifiers": [
              "\\Processor(_Total)\\% Processor Time",
              "\\Memory\\Committed Bytes",
              "\\LogicalDisk(_Total)\\Free Megabytes",
              "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
            ]
          },
          {
            "name": "perfCounterDataSource30",
            "streams": [
              "Microsoft-Perf"
            ],
            "samplingFrequencyInSeconds": 30,
            "counterSpecifiers": [
              "\\Process(_Total)\\Thread Count"
            ]
          }
        ]
      },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
            "name": "centralWorkspace"
          }
        ],
        "azureMonitorMetrics": 
        {
            "name": "azureMonitorMetrics-default"
        }
      },
      "dataFlows": [
        {
            "streams": [
                "Microsoft-Perf"
            ],
            "destinations": [
                "centralWorkspace"
            ],
            "transformKql": "source",
            "outputStream": "Microsoft-Perf"
        },
        {
            "streams": [
                "Microsoft-Perf"
            ],
            "destinations": [
                "azureMonitorMetrics-default"
            ],
            "outputStream": "Microsoft-InsightsMetrics"
        }
      ]
    }
}

テキスト ログ

テキスト ログ用の DCR には、エージェントで収集する必要があるログ ファイルの詳細を含む logfiles データ ソースがあります。 これには、streamDeclarations で定義する必要があるストリームの名前と、着信データの列が含まれます。 現在、これは「Azure Monitor エージェントを使用してテキスト ファイルからログを収集する」の説明に従って設定された一覧です。

dataFlows プロパティに変換を追加して、収集したくないレコードを除外し、収集先テーブルのスキーマと一致するようにデータの書式を設定します。 一般的なシナリオでは、「区切りログ ファイル」で説明されているように、区切りログ ファイルを複数の列として解析します。

次のサンプル DCR では、次のアクションを実行します。

  • エージェント コンピューターの c:\logs フォルダー内にある拡張子が .txt のすべてのファイルから、エントリを収集します。
  • 変換を使い、コンマ (,) 区切り記号に基づいて着信データを列に分割します。 この変換はログ ファイルの形式に固有であり、他の形式のログ ファイルに合わせて調整する必要があります。
  • 収集されたログを、MyTable_CL という名前のカスタム テーブルに送信します。 このテーブルは既に存在し、変換によって出力される列を含む必要があります。
  • 着信ストリーム」で説明されているように、テキスト ログの FilePathComputer を収集します。 これらの列は、収集先テーブルにも存在する必要があります。
{
    "location": "eastus",
    "properties": {
        "dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
        "streamDeclarations": {
            "Custom-MyLogFileFormat": {
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "RawData",
                        "type": "string"
                    },
                    {
                        "name": "FilePath",
                        "type": "string"
                    },
                    {
                        "name": "Computer",
                        "type": "string"
                    }
                ]
            }
        },
        "dataSources": {
            "logFiles": [
                {
                    "streams": [
                        "Custom-MyLogFileFormat"
                    ],
                    "filePatterns": [
                        "C:\\logs\\*.txt"
                    ],
                    "format": "text",
                    "settings": {
                        "text": {
                            "recordStartTimestampFormat": "ISO 8601"
                        }
                    },
                    "name": "myLogFileFormat-Windows"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "MyDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-MyLogFileFormat"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source | project d = split(RawData,\",\") | project TimeGenerated=todatetime(d[0]), Code=toint(d[1]), Severity=tostring(d[2]), Module=tostring(d[3]), Message=tostring(d[4])",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

JSON ログ

JSON ログ用の DCR には、エージェントで収集する必要があるログ ファイルの詳細を含む logfiles データ ソースがあります。 これには、streamDeclarations で定義する必要があるストリームの名前と、着信データの列が含まれます。 詳しくは、「Azure Monitor エージェントを使用して JSON ファイルからログを収集する」をご覧ください。

dataFlows プロパティに変換を追加して、収集したくないレコードを除外し、収集先テーブルのスキーマと一致するようにデータの書式を設定します。

次のサンプル DCR では、次のアクションを実行します。

  • エージェント コンピューターの c:\logs フォルダー内にある拡張子が .json のすべてのファイルから、エントリを収集します。 ファイルは JSON 形式になっていて、ストリーム宣言に列記されている列を含む必要があります。
  • 収集されたログを、MyTable_CL という名前のカスタム テーブルに送信します。 このテーブルは既に存在し、着信ストリームと同じ列を含む必要があります。 列が一致しない場合は、transformKql プロパティの変換を変更して、ターゲット テーブルのデータの書式を設定する必要があります。
{
    "location": "eastus",
    "properties": {
        "dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
        "streamDeclarations": {
            "Custom-Json-stream": {
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "FilePath",
                        "type": "string"
                    },
                    {
                        "name": "Code",
                        "type": "int"
                    },
                    {
                        "name": "Module",
                        "type": "string"
                    },
                    {
                        "name": "Message",
                        "type": "string"
                    }
                ]
            }
        },
        "dataSources": {
            "logFiles": [
                {
                    "streams": [
                        "Custom-Json-stream"
                    ],
                    "filePatterns": [
                        "C:\\logs\\*.json"
                    ],
                    "format": "json",
                    "name": "MyJsonFile"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "MyDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-Json-stream"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

Event Hubs または Storage にデータを送信する

Event Hubs またはストレージ アカウントにデータを送信する DCR では、Azure Monitor エージェント (AMA) を使ってデータを収集する他の DCR と同じデータ ソースを使いますが、収集先は次のうちの 1 つ以上です。 詳しくは、「Event Hubs と Storage にデータを送信する (プレビュー)」をご覧ください。

  • eventHubsDirect
  • storageBlobsDirect
  • storageTablesDirect

Note

Event Hubs またはストレージ アカウントにデータを送信する DCR には、"kind": "AgentDirectToStore" が必要です

次のサンプル DCR では、次のアクションを実行します。

  • Azure Monitor エージェント (AMA) を使って、Windows マシンからパフォーマンス カウンターと Windows イベントを収集します。
  • Event Hubs、Blob Storage、Table Storage にデータを送信します。
{
    "location": "eastus",
    "kind": "AgentDirectToStore",
    "properties": {
        "dataSources": {
            "performanceCounters": [
                {
                "streams": [
                    "Microsoft-Perf"
                ],
                "samplingFrequencyInSeconds": 10,
                "counterSpecifiers": [
                    "\\Process(_Total)\\Working Set - Private",
                    "\\Memory\\% Committed Bytes In Use",
                    "\\LogicalDisk(_Total)\\% Free Space",
                    "\\Network Interface(*)\\Bytes Total/sec"
                ],
                "name": "perfCounterDataSource"
                }
            ],
            "windowsEventLogs": [
                {
                "streams": [
                    "Microsoft-Event"
                ],
                "xPathQueries": [
                    "Application!*[System[(Level=2)]]",
                    "System!*[System[(Level=2)]]"
                ],
                "name": "eventLogsDataSource"
                }
            ]
        },
        "destinations": {
            "eventHubsDirect": [
                {
                "eventHubResourceId": "/subscriptions/71b36fb6-4fe4-4664-9a7b-245dc62f2930/resourceGroups/my-resource-group/providers/Microsoft.EventHub/namespaces/my-eventhub-namespace/eventhubs/my-eventhub",
                "name": "myEh"
                }
            ],
            "storageBlobsDirect": [
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "myperfblob",
                "name": "PerfBlob"
                },
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "myeventblob",
                "name": "EventBlob"
                }
            ],
            "storageTablesDirect": [
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "myperftable",
                "name": "PerfTable"
                },
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "mymyeventtable",
                "name": "EventTable"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                "Microsoft-Perf"
                ],
                "destinations": [
                "myEh",
                "PerfBlob",
                "PerfTable"
                ]
            },
            {
                "streams": [
                "Microsoft-Event"
                ],
                "destinations": [
                "myEh",
                "EventBlob",
                "EventTable"
                ]
            },
        ]
    }
}

ログ インジェスト API

Logs Ingestion API 用の DCR では、DCR 定義の streamDeclarations セクションで着信ストリームのスキーマを定義する必要があります。 着信データは、この定義の列と一致するスキーマを使って JSON で書式設定されている必要があります。 このスキーマがターゲット テーブルのスキーマと一致している場合、変換は必要ありません。 スキーマが一致しない場合は、dataFlows プロパティに変換を追加してデータの書式を設定する必要があります。 詳しくは、「Azure Monitor のログ インジェスト API」をご覧ください。

以下のサンプル DCR の詳細は次のとおりです。

  • my-workspace という名前のワークスペース内の MyTable_CL という名前のテーブルにデータを送信します。 この DCR をインストールする前に、次の列を含むテーブルを作成する必要があります。
    • TimeGenerated
    • Computer
    • AdditionalContext
    • ExtendedColumn (変換で定義されています)
  • 着信データに変換を適用し、ターゲット テーブルに合わせてデータの書式を設定します。

重要

dataCollectionEndpointId プロパティは DCR の作成時に自動的に作成されるため、このサンプルには含まれません。 このプロパティの値は、アプリケーションのデータ送信先の URL であるため必要です。 このプロパティを作成するには、DCR に kind:Direct が必要です。 詳しくは、「プロパティ」をご覧ください。

{
    "location": "eastus",
    "kind": "Direct",
    "properties": {
        "streamDeclarations": {
            "Custom-MyTable": {
                "columns": [
                    {
                        "name": "Time",
                        "type": "datetime"
                    },
                    {
                        "name": "Computer",
                        "type": "string"
                    },
                    {
                        "name": "AdditionalContext",
                        "type": "string"
                    }
                ]
            }
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/cefingestion/providers/microsoft.operationalinsights/workspaces/my-workspace",
                    "name": "LogAnalyticsDest"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-MyTable"
                ],
                "destinations": [
                    "LogAnalyticsDest"
                ],
                "transformKql": "source | extend jsonContext = parse_json(AdditionalContext) | project TimeGenerated = Time, Computer, AdditionalContext = jsonContext, ExtendedColumn=tostring(jsonContext.CounterName)",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

ワークスペース変換 DCR

ワークスペース変換 DCR では、変換はワークスペース内のサポートされているテーブルに送信されるデータに適用されるため、datasources セクションは空です。 workspaceResourceId のエントリは 1 つだけ含まれ、dataFlows には変換があるテーブルごとにエントリが含まれる必要があります。 また、"kind": "WorkspaceTransforms" が含まれる必要があります.

以下のサンプル DCR の詳細は次のとおりです。

  • テーブル自体のクエリを除外し、ワークスペース名を含む列を追加する、LAQueryLogs テーブルの変換。
  • 情報イベントを除外し、ParameterXml 列を削除する、Event テーブルの変換。 「ワークスペース変換 DCR」で説明されているように、これは非推奨の Log Analytics エージェントからのデータのみに適用され、Azure Monitor エージェントには適用されません。
{
    "kind": "WorkspaceTransforms",
    "location": "eastus",
    "properties": {
        "dataSources": {},
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "clv2ws1"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-Table-LAQueryLogs"
                ],
                "destinations": [
                    "clv2ws1"
                ],
                "transformKql": "source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Workspace_CF = tostring(Context['workspaces'][0]) | project-away RequestContext, Context"
            },
            {
                "streams": [
                    "Microsoft-Table-Event"
                ],
                "destinations": [
                    "clv2ws1"
                ],
                "transformKql": "source | where EventLevelName in ('Error', 'Critical', 'Warning') | project-away ParameterXml"
            }
        ]
    }
}

複数のテーブルにデータを送信する

1 つのデータ ソースから同じ Log Analytics ワークスペース内の複数のテーブルにデータを送信することが必要になる場合には、次のような複数の理由があります。

  • 頻度の低いトラブルシューティングに使われるレコードを基本ログ テーブルに送信して、インジェスト コストを節約します。
  • 機密データを含むレコードまたは列を、アクセス許可または保持設定が異なるテーブルに送信します。

1 つのデータ ソースから複数のテーブルにデータを送信するには、次の図に示すように、DCR に複数のデータ フローを作成し、それぞれに対して固有の変換クエリと出力テーブルを指定します。

重要

現時点では、DCR 内のテーブルは同じ Log Analytics ワークスペースに存在する必要があります。 1 つのデータ ソースから複数のワークスペースに送信するには、複数の DCR を使用し、それぞれのワークスペースにデータを送信するようにアプリケーションを構成します。

複数のテーブルにデータを送信する変換を示す図。

次のサンプルでは、Azure Monitor エージェントによって Event テーブルに送信されるレコードをフィルター処理します。 警告とエラー イベントのみが Event テーブルに送信されます。 その他のイベントは、基本ログ用に構成された Event_CL という名前の Event テーブルのコピーに送信されます。

Note

このサンプルでは、Event テーブルのコピーが、Event_CL という名前で同じワークスペースに作成されている必要があります。

{
    "location": "eastus",
    "properties": {
        "dataSources": {
            "windowsEventLogs": [
              {
                "name": "eventLogsDataSource",
                "streams": [
                  "Microsoft-Event"
                ],
                "xPathQueries": [
                  "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
                  "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
                ]
              }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "MyDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-Event"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source | where EventLevelName in ('Error', 'Warning')",
                "outputStream": "Microsoft-Event"
            },
            {
                "streams": [
                    "Microsoft-Event"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source | where EventLevelName !in ('Error', 'Warning')",
                "outputStream": "Custom-Event_CL"
            }
        ]
    }
}

次のステップ