Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det finns flera metoder för att skapa en datainsamlingsregel (DCR) i Azure Monitor. I vissa fall skapar och hanterar Azure Monitor domänkontrollanten enligt de inställningar som du konfigurerar i Azure Portal. Du kanske inte ens inser att du arbetar med en DCR i vissa av dessa fall. I andra scenarier kan du dock behöva skapa egna domänkontrollanter eller redigera befintliga genom att arbeta direkt med deras definition i JSON. Den här artikeln beskriver de olika metoderna för att skapa en DCR och rekommendationer för att redigera och felsöka dem.
Anmärkning
I den här artikeln beskrivs hur du skapar och redigerar själva domänkontrollanten. Information om hur du skapar och redigerar regelassociationer för datainsamling finns i Skapa och hantera regelassociationer för datainsamling.
Behörigheter
Du behöver följande behörigheter för att skapa DCR och DCR-associationer:
| Inbyggd roll | Tillämpningsområden | Förnuft | 
|---|---|---|
| Övervakningsdeltagare | 
 | Skapa eller redigera domänkontrollanter, tilldela regler till datorn, distribuera associationer. | 
| Bidragsgivare för virtuell maskin Resursadministratör för azure-ansluten dator | 
 | Distribuera agenttillägg på den virtuella datorn (virtuell dator). | 
| Alla roller som innehåller åtgärden Microsoft.Resources/deployments/* | 
 | Distribuera Azure Resource Manager-mallar. | 
Viktigt!
Skapa din DCR i samma region som Log Analytics-målarbetsytan eller Azure Monitor-arbetsytan. Du kan associera DCR till datorer eller containrar från valfri prenumeration eller resursgrupp i klientorganisationen. Om du vill skicka data mellan klienter måste du först aktivera Azure Lighthouse.
Skapa eller redigera en domänkontrollant med hjälp av Azure Portal
Azure Portal ger en förenklad upplevelse för att skapa en DCR för specifika scenarier. Med den här metoden behöver du inte förstå strukturen för en DCR, även om du kan vara begränsad i konfigurationen som du kan utföra och kan behöva redigera DCR-definitionen senare för att implementera en avancerad funktion, till exempel en transformering. Upplevelsen varierar för varje scenario, så se dokumentationen för det specifika scenariot som du arbetar med enligt beskrivningen i följande tabell.
| Scenarium | Beskrivning | 
|---|---|
| Aktivera VM-insikter | När du aktiverar VM Insights på en virtuell dator installeras Azure Monitor-agenten och en DCR skapas och associeras med den virtuella datorn. Denna DCR samlar in en fördefinierad uppsättning prestandaräknare och bör inte ändras. Se Aktivera VM Insights. | 
| Samla in klientdata från en virtuell dator | Skapa en DCR i Azure Portal med hjälp av ett guidat gränssnitt för att välja olika datakällor från klientoperativsystemet för en virtuell dator. Exempel är Windows-händelser, Syslog-händelser och textloggar. Azure Monitor-agenten installeras automatiskt om det behövs och en association skapas mellan DCR och varje virtuell dator som du väljer. Se Samla in data med Azure Monitor Agent. | 
| Mätvärdesexport | Skapa en DCR i Azure Portal med hjälp av ett guidat gränssnitt för att välja mått för olika resurstyper att samla in. En association skapas mellan domänkontrollanten och varje resurs som du väljer. Se Skapa en datainsamlingsregel (DCR) för måttexport. | 
| Skapar tabell | När du skapar en ny tabell på en Log Analytics-arbetsyta med hjälp av Azure-portalen laddar du upp exempeldata som Azure Monitor använder för att skapa en DCR, inklusive en transformering, som kan användas med API:et för logginmatning. Du kan inte ändra den här domänkontrollanten i Azure Portal men kan ändra den med någon av de metoder som beskrivs i den här artikeln. Se Skapa en anpassad tabell. | 
| Kubernetes-övervakning | Om du vill övervaka ett Kubernetes-kluster aktiverar du Container Insights för loggar och Prometheus för mått. En DCR för var och en skapas och associeras med den containerbaserade versionen av Azure Monitor-agenten i klustret. Du kan behöva ändra DCR för Container Insights för att lägga till en transformering. Se Aktivera övervakning för Kubernetes-kluster och datatransformeringar i Container Insights. | 
| DCR för arbetsytetransformering | DCR:er för arbetsytetransformering ger transformeringar för datainsamlingsscenarier som ännu inte använder DCR. Du kan skapa den här domänkontrollanten med hjälp av Azure Portal för att skapa en transformering för en viss tabell. Se Skapa arbetsyta-transformation DCR. | 
Skapa eller redigera en DCR med JSON
Förutom att redigera en befintlig DCR kan du skapa en ny med hjälp av en av de exempel-DCR:er som tillhandahåller JSON för flera vanliga scenarier. Använd information i Struktur för en datainsamlingsregel i Azure Monitor för att ändra JSON-filen för din specifika miljö och dina krav.
När du har definierat din DCR kan du distribuera den till Azure Monitor med hjälp av mallarna Azure Portal, CLI, PowerShell, API eller ARM.
Tips/Råd
Information om hur du visar JSON-definitionen för en DCR finns i Visa DCR-definition.
Skapa eller redigera DCR med CLI
Använd kommandot az monitor data-collection rule create för att skapa en DCR från din JSON-fil. Du kan använda samma kommando för att uppdatera en befintlig DCR.
az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'
Anmärkning
Du kan välja att använda PowerShell- eller CLI-kommandona för att skapa och redigera en DCR, men API- och ARM-metoderna ger mer detaljerade felmeddelanden om det finns kompileringsfel.
I följande exempel anger DCR ett tabellnamn som inte finns på log analytics-målarbetsytan. PowerShell-kommandot returnerar ett allmänt felmeddelande, men API-anropet returnerar ett detaljerat felmeddelande som anger det exakta felet.
Strategier för att redigera och testa en DCR
När du skapar eller redigerar en DCR med dess JSON-definition behöver du ofta göra flera uppdateringar för att uppnå de funktioner du vill ha. Du behöver en effektiv metod för att uppdatera domänkontrollanten, felsöka den om du inte får de resultat du förväntar dig och sedan göra ytterligare uppdateringar. Detta gäller särskilt om du lägger till en transformering till DCR eftersom du måste verifiera att frågan fungerar som förväntat. Eftersom du inte kan redigera JSON direkt i Azure Portal följer några strategier som du kan använda.
Använda lokal fil som källa för DCR
Om du använder en lokal JSON-fil som källa för de domänkontrollanter som du skapar och redigerar är du säker på att du alltid har åtkomst till den senaste versionen av DCR-definitionen. Det här är perfekt om du vill använda versionskontrollverktyg som GitHub eller Azure DevOps för att hantera dina ändringar. Du kan också använda en redigerare som VS Code för att göra ändringar i DCR och sedan använda kommandoradsverktyg för att uppdatera DCR i Azure Monitor enligt beskrivningen ovan.
Följande är ett PowerShell-exempelskript som du kan använda för att skicka ändringar till en DCR från en källfil. Detta verifierar att källfilen är giltig JSON innan den skickas till Azure Monitor.
param (
    [Parameter(Mandatory = $true)][string]$ResourceId,  # Resource ID of the DCR
    [Parameter(Mandatory = $true)][string]$FilePath  # Path to the DCR JSON file to upload
)
# Read the DCR content from the file
Write-Host "Reading new DCR content from: $FilePath" -ForegroundColor Green
$DCRContent = Get-Content $FilePath -Raw
# Ensure the DCR content is valid JSON
try {
    $ParsedDCRContent = $DCRContent | ConvertFrom-Json
} catch {
    Write-Host "Invalid JSON content in file: $FilePath" -ForegroundColor Red
    exit 1
}
# Create or update the DCR in the specified resource group
Write-Host "Deploying DCR $ResourceId ..." -ForegroundColor Green
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent
Spara DCR-innehåll i en temporär fil
Om du inte har DCR-definitionen i en lokal fil kan du hämta definitionen från Azure Monitor och spara den i en tillfällig fil. Du kan sedan redigera filen med hjälp av ett redigeringsprogram som VS Code innan du skickar uppdateringarna till Azure Monitor.
Följande är ett PowerShell-exempelskript som du kan använda för att redigera en befintlig DCR i Azure Monitor. Skriptet hämtar DCR-definitionen och sparar den i en tillfällig fil innan VS Code startas. När du anger för skriptet att du har sparat ändringarna uppdateras DCR med det nya innehållet och den tillfälliga filen tas bort.
param ([Parameter(Mandatory=$true)] $ResourceId)
# Get DCR content and save it to a local file
$FilePath = "temp.dcr"
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File $FilePath
# Open DCR in code editor
code $FilePath | Wait-Process
{ 
	#write DCR content back from the file
	$DCRContent = Get-Content $FilePath -Raw
	Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent		
}
#Delete temporary file
Remove-Item $FilePath
Använd ARM-mall för att redigera en DCR på plats
Om du vill utföra dina ändringar helt i Azure-portalen kan du använda funktionen Exportera mall för att hämta ARM-mallen för en DCR. Du kan sedan ändra definitionen i JSON och distribuera om den i Azure Portal.
- Välj den DCR som du vill ändra i Azure-portalen och välj Exportera mall. Klicka sedan på Distribuera för att distribuera om samma mall. 
- Klicka på Redigera mall för att öppna en redigerbar version av JSON för DCR. Ändra inte parametervärdena. 
- Gör nödvändiga ändringar i DCR och klicka sedan på Spara. 
- Om du vill skapa en ny DCR ändrar du namnparametern. Annars lämnar du parametrarna oförändrade. Klicka på Granska + skapa för att implementera den ändrade mallen och Skapa för att skapa den nya DCR. 
- Om DCR är giltig utan fel kommer distributionen att lyckas och DCR uppdateras med den nya konfigurationen. Klicka på Gå till resurs för att öppna den ändrade DCR. 
- Om DCR har kompileringsfel får du ett meddelande om att distributionen misslyckades. Klicka på Felinformation och Åtgärdsinformation för att visa information om felet. Klicka på Distribuera om och sedan på Redigera mall igen för att göra nödvändiga ändringar i DCR och spara och distribuera den igen. 
Verifiera och felsöka datainsamling
När du har installerat DCR kan det ta flera minuter innan ändringarna börjar gälla och data börjar samlas in med den uppdaterade DCR. Om du inte ser några data samlas in kan det vara svårt att fastställa grundorsaken till problemet. Använd DCR-övervakningsfunktionerna , som innehåller mått och loggar för att felsöka.
DCR-mått samlas in automatiskt för alla domänkontrollanter och du kan analysera dem med hjälp av Metrics Explorer, till exempel plattformsmått för andra Azure-resurser. Aktivera DCR-felloggar för att få detaljerad felinformation när databearbetningen inte lyckas.
Om du inte ser att data samlas in följer du de här grundläggande stegen för att felsöka problemet.
- Kontrollera mått som Logs Ingestion Bytes per MinochLogs Rows Received per Minför att säkerställa att data når Azure Monitor. Om inte kontrollerar du datakällan för att se till att den skickar data som förväntat.
- Kontrollera Logs Rows Dropped per Minom några rader tas bort. Detta kan inte tyda på ett fel eftersom raderna kan tas bort av en transformering. Om de borttagna raderna är samma somLogs Rows Dropped per Minså matas inga data in på arbetsytan.Logs Transformation Errors per MinGranska för att se om det finns några transformeringsfel.
- Kontrollera Logs Transformation Errors per Minom det finns några fel från transformeringar som tillämpas på inkommande data. Detta kan bero på ändringar i datastrukturen eller själva omvandlingen.
- Kontrollera tabellen DCRLogErrorsefter eventuella inmatningsfel som kan ha loggats. Detta kan ge ytterligare information vid identifiering av rotorsaken till problemet.
 
              
               
              
               
              
               
              
               
              
               
              
               
              
              