Azure Monitor의 DCR(데이터 수집 규칙) 샘플
이 문서에는 Azure Monitor의 일반적인 데이터 수집 시나리오에 대한 샘플 DCR(데이터 수집 규칙) 이 포함되어 있습니다. 사용자 환경에 필요한 대로 이러한 DCR 정의를 수정하고 데이터 수집 규칙 만들기 또는 편집의 지침을 사용하여 DCR을 만들 수 있습니다. 이러한 샘플의 기본 전략을 사용하고 결합하여 다른 시나리오에 대한 DCR을 만들 수도 있습니다.
이러한 샘플에는 Azure Monitor의 데이터 수집 규칙 구조에 설명된 대로 DCR 구조에 대한 지식이 필요합니다. DCR 구조에 대한 자세한 지식 없이 Azure Portal을 사용하여 몇 가지를 구성할 수 있습니다. DCR 정의 자체를 사용하여 고급 구성을 수행하거나 DCR 생성을 자동화해야 하는 경우 이러한 샘플을 사용합니다.
이러한 각 샘플은 단일 DCR에서 서로 다른 형식의 여러 데이터 원본을 결합할 수 있지만 특정 데이터 원본에 중점을 둡니다. 데이터를 적절한 대상으로 보낼 각 데이터에 대한 데이터 흐름을 포함합니다. 단일 DCR에서 여러 데이터 원본을 결합하거나 각 데이터 원본에 대해 별도의 DCR을 만드는 것 사이에는 기능적 차이가 없습니다. 선택 항목은 데이터 수집을 관리하고 모니터링하기 위한 요구 사항에 따라 달라집니다.
참고 항목
이 문서에 나와 있는 이러한 샘플은 DCR을 만드는 데 필요한 원본 JSON을 제공합니다. 만든 후 DCR은 Azure Monitor의 데이터 수집 규칙 구조에 설명된 대로 추가 속성을 갖습니다.
Azure Monitor 에이전트용 DCR
Azure Monitor 에이전트는 가상 머신, 가상 머신 확장 집합 및 Kubernetes 클러스터에서 실행됩니다. VM 인사이트 및 컨테이너 인사이트를 지원하고 Azure Monitor 에이전트 데이터 수집에 설명된 VM에 대한 다양한 데이터 수집 시나리오를 지원합니다.
다음 샘플에서는 Azure Monitor 에이전트를 사용하여 다양한 종류의 데이터를 수집하기 위한 DCR을 보여 줍니다.
Windows 이벤트
Windows 이벤트용 DCR은 들어오는 스트림과 windowsEventLogs
함께 데이터 원본을 Microsoft-Event
사용합니다. 이 스트림의 스키마는 알려져 있으므로 섹션에서 정의 dataSources
할 필요가 없습니다. 수집할 이벤트는 속성에 xPathQueries
지정됩니다. 수집하려는 특정 데이터를 필터링하기 위해 XPath를 사용하는 방법에 대한 자세한 내용은 Azure Monitor 에이전트를 사용하여 Windows 이벤트 수집을 참조하세요. 시작하려면 해당 문서의 지침을 사용하여 Azure Portal을 사용하여 DCR을 만든 다음 DCR 정의의 지침을 사용하여 JSON을 검사할 수 있습니다.
계산 열의 속성에 변환을 dataFlows
추가하고 데이터를 추가로 필터링할 수 있지만 XPaths를 사용하여 에이전트의 데이터를 최대한 필터링하여 효율성을 높이고 잠재적인 수집 요금을 방지해야 합니다.
다음 샘플 DCR은 다음 작업을 수행합니다.
- 오류 수준 경고, 오류 또는 위험으로 Windows 애플리케이션 및 시스템 이벤트를 수집합니다.
- 작업 영역의 이벤트 테이블에 데이터를 보냅니다.
- 들어오는 데이터를 변경하지 않는 간단한 변환
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은 들어오는 Microsoft-Syslog
스트림과 syslog
함께 데이터 원본을 사용합니다. 이 스트림의 스키마는 알려져 있으므로 섹션에서 정의 dataSources
할 필요가 없습니다. 수집할 이벤트는 및 logLevels
속성에 facilityNames
지정됩니다. 자세한 내용은 Azure Monitor 에이전트를 사용하여 Syslog 이벤트 수집을 참조하세요. 시작하려면 해당 문서의 지침을 사용하여 Azure Portal을 사용하여 DCR을 만든 다음 DCR 정의의 지침을 사용하여 JSON을 검사할 수 있습니다.
추가 기능 및 추가 필터링 데이터를 위해 속성에 변환 dataFlows
을 추가할 수 있지만 잠재적인 수집 요금을 방지하기 위해 효율성을 위해 가능한 한 많이 사용하고 facilityNames
logLevels
필터링해야 합니다.
다음 샘플 DCR은 다음 작업을 수행합니다.
- 시설에서 모든 이벤트를
cron
수집합니다. Warning
기능에서syslog
daemon
이벤트를 수집하고 더 많이 수집합니다.- 작업 영역의 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-InsightsMetrics
스트림 및 Microsoft-Perf
스트림과 함께 데이터 원본을 사용합니다. Microsoft-InsightsMetrics
는 데이터를 Azure Monitor 메트릭으로 보내는 데 사용되며 Log Microsoft-Perf
Analytics 작업 영역으로 데이터를 보내는 데 사용됩니다. 두 대상 모두에 성능 데이터를 보내는 경우 DCR에 두 데이터 원본을 모두 포함할 수 있습니다. 이러한 스트림의 스키마는 알려져 있으므로 섹션에서 정의 dataSources
할 필요가 없습니다.
수집할 성능 카운터는 속성에 counterSpecifiers
지정됩니다. 자세한 내용은 Azure Monitor 에이전트를 사용하여 성능 카운터 수집을 참조하세요. 시작하려면 해당 문서의 지침을 사용하여 Azure Portal을 사용하여 DCR을 만든 다음 DCR 정의의 지침을 사용하여 JSON을 검사할 수 있습니다.
추가 기능 및 추가 필터링 데이터를 위해 속성에 Microsoft-Perf
변환 dataFlows
을 추가할 수 있지만 잠재적인 수집 요금을 방지하기 위해 효율성을 위해 필요한 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은 다음 작업을 수행합니다.
- 에이전트 컴퓨터의 폴더에 확장
.txt
c:\logs
이 있는 모든 파일에서 항목을 수집합니다. - 변환을 사용하여 들어오는 데이터를 쉼표(
,
) 구분 기호에 따라 열로 분할합니다. 이 변환은 로그 파일의 형식에 따라 지정되며 다른 형식의 로그 파일에 맞게 조정해야 합니다. - 수집된 로그를 .라는
MyTable_CL
사용자 지정 테이블로 보냅니다. 이 테이블은 이미 존재해야 하며 변환에 의해 출력되는 열이 있어야 합니다. - 들어오는 스트림에 설명된
FilePath
Computer
대로 텍스트 로그 및 텍스트 로그를 수집합니다. 이러한 열은 대상 테이블에도 있어야 합니다.
{
"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은 다음 작업을 수행합니다.
- 에이전트 컴퓨터의 폴더에 확장
.json
c:\logs
이 있는 모든 파일에서 항목을 수집합니다. 파일의 형식은 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로 데이터 보내기
이벤트 허브 또는 스토리지 계정에 데이터를 보내는 DCR은 AMA(Azure Monitor 에이전트)를 사용하여 데이터를 수집하는 다른 DCR과 동일한 데이터 원본을 사용하지만 다음 대상 중 하나 이상을 포함합니다. 자세한 내용은 Event Hubs 및 Storage로 데이터 보내기(미리 보기)를 참조하세요.
eventHubsDirect
storageBlobsDirect
storageTablesDirect
참고 항목
이벤트 허브 또는 스토리지 계정에 데이터를 보내는 DCR에는 "kind": "AgentDirectToStore"
다음 샘플 DCR은 다음 작업을 수행합니다.
- AMA(Azure Monitor 에이전트)를 사용하여 Windows 머신에서 성능 카운터 및 Windows 이벤트를 수집합니다.
- 이벤트 허브, Blob 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
로그 수집 API에 대한 DCR은 DCR 정의 섹션에서 들어오는 스트림 streamDeclarations
의 스키마를 정의해야 합니다. 들어오는 데이터는 이 정의의 열과 일치하는 스키마를 사용하여 JSON으로 서식을 지정해야 합니다. 이 스키마가 대상 테이블의 스키마와 일치하는 경우에는 변환이 필요하지 않습니다. 스키마가 일치하지 않는 경우 속성에 변환 dataFlows
을 추가하여 데이터 형식을 지정해야 합니다. 자세한 내용은 Azure Monitor의 로그 수집 API를 참조하세요.
아래 샘플 DCR에는 다음과 같은 세부 정보가 있습니다.
- 라는 작업 영역에서
my-workspace
호출MyTable_CL
된 테이블로 데이터를 보냅니다. 이 DCR을 설치하기 전에 다음 열을 사용하여 테이블을 만들어야 합니다.- TimeGenerated
- 컴퓨터
- AdditionalContext
- ExtendedColumn(변환에 정의됨)
- 들어오는 데이터에 변환을 적용하여 대상 테이블의 데이터 형식을 지정합니다.
Important
DCR을 dataCollectionEndpointId
만들 때 자동으로 생성되므로 이 샘플에는 속성이 포함되지 않습니다. 애플리케이션에서 데이터를 보낼 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
항목과 항목 dataFlows
만 포함해야 합니다. 또한 .가 "kind": "WorkspaceTransforms"
있어야 합니다.
아래 샘플 DCR에는 다음과 같은 세부 정보가 있습니다.
- 테이블 자체의
LAQueryLogs
쿼리를 필터링하고 작업 영역 이름을 가진 열을 추가하는 테이블에 대한 변환입니다. - 정보 이벤트를 필터링하고 열을 제거하는 테이블에 대한
Event
변환입니다ParameterXml
. 이는 작업 영역 변환 DCR에 설명된 대로 Azure Monitor 에이전트가 아니라 사용되지 않는 Log Analytics 에이전트에서 들어오는 데이터에만 적용됩니다.
{
"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"
}
]
}
}
여러 테이블로 데이터 보내기
다음을 포함하여 단일 데이터 원본에서 동일한 Log Analytics 작업 영역의 여러 테이블로 데이터를 보낼 수 있는 여러 가지 이유가 있습니다.
- 간헐적인 문제 해결 에 사용되는 레코드를 기본 로그 테이블에 전송하여 수집 비용을 절감합니다.
- 중요한 데이터가 있는 레코드 또는 열을 다른 사용 권한 또는 보존 설정이 있는 테이블로 보냅니다.
단일 데이터 원본에서 여러 테이블로 데이터를 보내려면 다음 다이어그램과 같이 각각에 대한 고유한 변환 쿼리 및 출력 테이블을 사용하여 DCR에 여러 데이터 흐름을 만듭니다.
Important
현재 DCR의 테이블은 동일한 Log Analytics 작업 영역에 있어야 합니다. 단일 데이터 원본에서 여러 작업 영역으로 보내려면 여러 DCR을 사용하고 각각에 데이터를 보내도록 애플리케이션을 구성합니다.
다음 샘플은 Azure Monitor 에이전트가 이벤트 테이블로 보낸 레코드를 필터링합니다. 경고 및 오류 이벤트만 이벤트 테이블로 전송됩니다. 다른 이벤트는 기본 로그에 대해 구성된 Event_CL 이벤트 테이블의 복사본으로 전송됩니다.
참고 항목
이 샘플에는 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"
}
]
}
}