Exempel på regler för datainsamling (DCR) i Azure Monitor
Den här artikeln innehåller exempel på regler för datainsamling (DCR) för olika scenarier. Beskrivningar av var och en av egenskaperna i dessa domänkontrollanter finns i Regelstruktur för datainsamling.
Kommentar
De här exemplen tillhandahåller käll-JSON för en DCR om du använder en ARM-mall eller REST-API för att skapa eller ändra en DCR. När domänkontrollanten har skapats har den ytterligare egenskaper enligt beskrivningen i Strukturen för en datainsamlingsregel i Azure Monitor.
Azure Monitor-agent – händelser och prestandadata
Exempelregeln för datainsamling nedan gäller för virtuella datorer med Azure Monitor-agenten och innehåller följande information:
- Prestandadata
- Samlar in specifika processor-, minnes-, logiska disk- och fysiska diskräknare var 15:e sekund och laddas upp varje minut.
- Samlar in specifika processräknare var 30:e sekund och laddas upp var 5:e minut.
- Windows-händelser
- Samlar in Säkerhetshändelser och uppladdningar i Windows varje minut.
- Samlar in Windows-program- och systemhändelser och laddas upp var femte minut.
- Syslog
- Samlar in felsöknings-, kritiska- och nödsituationshändelser från cron-anläggningen.
- Samlar in aviserings-, kritiska- och nödsituationshändelser från syslog-anläggningen.
- Resmål
- Skickar alla data till en Log Analytics-arbetsyta med namnet centralWorkspace.
Kommentar
En förklaring av XPaths som används för att ange händelseinsamling i datainsamlingsregler finns i Begränsa datainsamling med anpassade XPath-frågor.
{
"location": "eastus",
"properties": {
"dataSources": {
"performanceCounters": [
{
"name": "cloudTeamCoreCounters",
"streams": [
"Microsoft-Perf"
],
"scheduledTransferPeriod": "PT1M",
"samplingFrequencyInSeconds": 15,
"counterSpecifiers": [
"\\Processor(_Total)\\% Processor Time",
"\\Memory\\Committed Bytes",
"\\LogicalDisk(_Total)\\Free Megabytes",
"\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
]
},
{
"name": "appTeamExtraCounters",
"streams": [
"Microsoft-Perf"
],
"scheduledTransferPeriod": "PT5M",
"samplingFrequencyInSeconds": 30,
"counterSpecifiers": [
"\\Process(_Total)\\Thread Count"
]
}
],
"windowsEventLogs": [
{
"name": "cloudSecurityTeamEvents",
"streams": [
"Microsoft-Event"
],
"scheduledTransferPeriod": "PT1M",
"xPathQueries": [
"Security!*"
]
},
{
"name": "appTeam1AppEvents",
"streams": [
"Microsoft-Event"
],
"scheduledTransferPeriod": "PT5M",
"xPathQueries": [
"System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
"Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
]
}
],
"syslog": [
{
"name": "cronSyslog",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"cron"
],
"logLevels": [
"Debug",
"Critical",
"Emergency"
]
},
{
"name": "syslogBase",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"syslog"
],
"logLevels": [
"Alert",
"Critical",
"Emergency"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Perf",
"Microsoft-Syslog",
"Microsoft-Event"
],
"destinations": [
"centralWorkspace"
]
}
]
}
}
Azure Monitor-agent – textloggar
Exempelregeln för datainsamling nedan används för att samla in textloggar med hjälp av Azure Monitor-agenten. Observera att namnen på strömmar för anpassade textloggar bör börja med prefixet "Custom-".
{
"location": "eastus",
"properties": {
"streamDeclarations": {
"Custom-MyLogFileFormat": {
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
}
]
}
},
"dataSources": {
"logFiles": [
{
"streams": [
"Custom-MyLogFileFormat"
],
"filePatterns": [
"C:\\JavaLogs\\*.log"
],
"format": "text",
"settings": {
"text": {
"recordStartTimestampFormat": "ISO 8601"
}
},
"name": "myLogFileFormat-Windows"
},
{
"streams": [
"Custom-MyLogFileFormat"
],
"filePatterns": [
"//var//*.log"
],
"format": "text",
"settings": {
"text": {
"recordStartTimestampFormat": "ISO 8601"
}
},
"name": "myLogFileFormat-Linux"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyLogFileFormat"
],
"destinations": [
"MyDestination"
],
"transformKql": "source",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Event Hubs
Exempelregeln för datainsamling nedan används för att samla in data från en händelsehubb.
{
"location": "eastus",
"properties": {
"streamDeclarations": {
"Custom-MyEventHubStream": {
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
},
{
"name": "Properties",
"type": "dynamic"
}
]
}
},
"dataSources": {
"dataImports": {
"eventHub": {
"consumerGroup": "<consumer-group>",
"stream": "Custom-MyEventHubStream",
"name": "myEventHubDataSource1"
}
}
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyEventHubStream"
],
"destinations": [
"MyDestination"
],
"transformKql": "source",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Loggar inmatnings-API
Exempelregeln för datainsamling nedan används med API:et för logginmatning. Den innehåller följande information:
- Skickar data till en tabell med namnet MyTable_CL på en arbetsyta med namnet my-workspace.
- Tillämpar en transformering på inkommande data.
Kommentar
Logginmatnings-API:et kräver egenskapen logsIngestion som innehåller slutpunktens URL. Den här egenskapen läggs till i DCR när den har skapats.
{
"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/00000000-0000-0000-0000-000000000000/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 för arbetsytetransformering
Exempelregeln för datainsamling nedan används som en DCR för arbetsytetransformering för att transformera alla data som skickas till en tabell med namnet LAQueryLogs.
{
"location": "eastus",
"properties": {
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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 Resources_CF = tostring(Context['workspaces']) |extend RequestContext = ''"
}
]
}
}