Sdílet prostřednictvím


Vytváření pravidel shromažďování dat (DCR) ve službě Azure Monitor

Existuje několik metod pro vytvoření pravidla shromažďování dat (DCR) ve službě Azure Monitor. V některých případech Azure Monitor vytvoří a spravuje řadič domény podle nastavení, která nakonfigurujete na webu Azure Portal. Možná si ani neuvědomíte, že v některých případech pracujete s DCR. V případě jiných scénářů ale možná budete muset vytvořit vlastní řadiče domény nebo upravit existující scénáře přímo pomocí jejich definice ve formátu JSON. Tento článek popisuje různé metody vytváření DCR a doporučení k jejich úpravám a řešení potíží.

Poznámka:

Tento článek popisuje, jak vytvořit a upravit samotný řadič domény. Pokud chcete vytvořit a upravit přidružení pravidel shromažďování dat, přečtěte si téma Vytvoření a správa přidružení pravidel shromažďování dat.

Oprávnění

K vytvoření přidružení DCR a DCR potřebujete následující oprávnění:

Předdefinovaná role Rozsahy Důvod
Přispěvatel monitorování
  • Předplatné a/nebo
  • Skupina prostředků nebo
  • Existující řadič domény
Vytvořte nebo upravte řadiče domény, přiřaďte k počítači pravidla, nasaďte přidružení.
Přispěvatel virtuálních počítačů
Správce prostředků připojeného počítače Azure
  • Virtuální počítače, škálovací sady virtuálních počítačů
  • Servery s podporou služby Azure Arc
Nasaďte rozšíření agenta na virtuálním počítači (virtuální počítač).
Libovolná role, která zahrnuje akci Microsoft.Resources/deployments/*
  • Předplatné a/nebo
  • Skupina prostředků nebo
  • Existující řadič domény
Nasaďte šablony Azure Resource Manageru.

Důležité

Vytvořte řadič domény ve stejné oblasti jako cílový pracovní prostor služby Log Analytics nebo pracovní prostor služby Azure Monitor. Řadič domény můžete přidružit k počítačům nebo kontejnerům z libovolného předplatného nebo skupiny prostředků v tenantovi. Pokud chcete odesílat data mezi tenanty, musíte nejprve povolit Azure Lighthouse.

Vytvoření nebo úprava DCR pomocí webu Azure Portal

Azure Portal poskytuje zjednodušené prostředí pro vytváření DCR pro konkrétní scénáře. Pomocí této metody nemusíte rozumět struktuře DCR, i když můžete být omezeni v konfiguraci, kterou můžete provést, a možná budete muset později upravit definici DCR pro implementaci pokročilé funkce, jako je transformace. Prostředí se pro jednotlivé scénáře bude lišit, proto si projděte dokumentaci ke konkrétnímu scénáři, se kterým pracujete, jak je popsáno v následující tabulce.

Scénář Popis
Povolení přehledů virtuálních počítačů Když na virtuálním počítači povolíte přehledy virtuálních počítačů, nainstaluje se agent Azure Monitoru a vytvoří se DCR a přidružuje se k virtuálnímu počítači. Tento řadič domény shromažďuje předdefinovanou sadu čítačů výkonu a neměl by se upravovat. Viz Povolení přehledů virtuálních počítačů.
Shromažďování klientských dat z virtuálního počítače Vytvořte na webu Azure Portal DCR pomocí rozhraní s asistencí pro výběr různých zdrojů dat z klientského operačního systému virtuálního počítače. Mezi příklady patří události Systému Windows, události Syslogu a textové protokoly. Agent Azure Monitoru se v případě potřeby automaticky nainstaluje a vytvoří se přidružení mezi dcR a každým vybraným virtuálním počítačem. Viz Shromažďování dat pomocí agenta služby Azure Monitor.
Export metrik Vytvoření DCR na webu Azure Portal pomocí rozhraní s asistencí k výběru metrik různých typů prostředků, které se mají shromáždit. Mezi dcR a každým vybraným prostředkem se vytvoří přidružení. Viz Vytvoření pravidla shromažďování dat (DCR) pro export metrik.
Vytvoření tabulky Když vytvoříte novou tabulku v pracovním prostoru služby Log Analytics pomocí webu Azure Portal, nahrajete ukázková data, která Azure Monitor používá k vytvoření DCR, včetně transformace, která se dá použít s rozhraním API pro příjem protokolů. Tento řadič domény nemůžete změnit na webu Azure Portal, ale můžete ho upravit pomocí některé z metod popsaných v tomto článku. Viz Vytvoření vlastní tabulky.
Monitorování Kubernetes Pokud chcete monitorovat cluster Kubernetes, povolíte Container Insights pro protokoly a Prometheus metriky. Pro každý se vytvoří DCR a přidružuje ke kontejnerizované verzi agenta Služby Azure Monitor v clusteru. Možná budete muset upravit DCR Container Insights, aby se přidala transformace. Viz Povolení monitorování pro clustery Kubernetes a transformace dat v Přehledech kontejnerů.
DcR transformace pracovního prostoru Transformační žádosti o pracovní prostor poskytují transformace pro scénáře shromažďování dat, které ještě nepoužívají řadiče domény. Tento řadič domény můžete vytvořit pomocí webu Azure Portal a vytvořit transformaci pro určitou tabulku. Viz Vytvoření transformace pracovního prostoru DCR.

Definice DCR

Bez ohledu na to, jak se vytváří, má každá DCR definici, která se řídí standardním schématem JSON. Pokud chcete vytvořit nebo upravit DCR pomocí jiné metody než webu Azure Portal, musíte pracovat přímo s její definicí JSON. V některých scénářích musíte pracovat s definicí JSON, protože Azure Portal nenabízí způsob konfigurace DCR podle potřeby.

Json pro DCR můžete zobrazit na webu Azure Portal kliknutím na zobrazení JSON v nabídce Přehled .

Snímek obrazovky znázorňující možnost zobrazit JSON pro DCR na webu Azure Portal

Ověřte, že je v rozevíracím seznamu verze rozhraní API vybraná nejnovější verze rozhraní API. Pokud ne, nemusí se některé json zobrazit.

Snímek obrazovky znázorňující JSON pro DCR na webu Azure Portal

Json pro DCR můžete také načíst voláním rozhraní REST API DCR. Následující skript PowerShellu například načte JSON pro DCR a uloží ho do souboru.

$ResourceId = "<ResourceId>" # Resource ID of the DCR to edit
$FilePath = "<FilePath>" # File to store DCR content
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File -FilePath $FilePath

Poznámka:

Podrobnosti pro DCR můžete získat pomocí Get-AzDataCollectionRule rutiny v PowerShellu nebo az monitor data-collection rule show příkazu v Azure CLI, ale neobsahují JSON ve formátu, který potřebujete k úpravám. Místo toho pomocí PowerShellu nebo rozhraní příkazového řádku volejte rozhraní REST API, jak je znázorněno v příkladu.

Vytvoření nebo úprava DCR pomocí JSON

Kromě úprav existujícího řadiče domény můžete vytvořit nový pomocí jednoho z ukázkových řadičů domény, které poskytují JSON pro několik běžných scénářů. Pomocí informací ve struktuře pravidla shromažďování dat ve službě Azure Monitor můžete upravit soubor JSON pro konkrétní prostředí a požadavky.

Jakmile budete mít definici DCR, můžete ji nasadit do Služby Azure Monitor pomocí webu Azure Portal, rozhraní příkazového řádku, PowerShellu, rozhraní API nebo šablon ARM.

Vytvoření nebo úprava DCR pomocí rozhraní příkazového řádku

Pomocí příkazu az monitor data-collection rule create vytvořte DCR ze souboru JSON. Stejný příkaz můžete použít k aktualizaci existujícího řadiče domény.

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'

Poznámka:

I když se můžete rozhodnout použít příkazy PowerShellu nebo rozhraní příkazového řádku k vytvoření a úpravě DCR, rozhraní API a metody ARM poskytují podrobnější chybové zprávy, pokud dojde k chybám kompilace.

V následujícím příkladu dcR určuje název tabulky, který v cílovém pracovním prostoru služby Log Analytics neexistuje. Příkaz PowerShellu vrátí obecnou chybovou zprávu, ale volání rozhraní API vrátí podrobnou chybovou zprávu, která určuje přesnou chybu.

Snímek obrazovky znázorňující chybovou zprávu dcR při použití příkazu PowerShellu

Snímek obrazovky znázorňující chybovou zprávu dcR při použití rozhraní API

Strategie úprav a testování DCR

Když vytváříte nebo upravujete DCR pomocí jeho definice JSON, budete často muset provést několik aktualizací, abyste dosáhli požadované funkčnosti. K aktualizaci dcR potřebujete efektivní metodu, vyřešte ji, pokud nezískáte očekávané výsledky, a proveďte další aktualizace. To platí zejména v případě, že do dcR přidáváte transformaci , protože budete muset ověřit, že dotaz funguje podle očekávání. Vzhledem k tomu, že json nemůžete upravit přímo na webu Azure Portal, jsou některé strategie, které můžete použít.

Použití místního souboru jako zdroje DCR

Pokud jako zdroj souborů DCR, které vytváříte a upravujete, použijete místní soubor JSON, budete mít vždy přístup k nejnovější verzi definice DCR. To je ideální, pokud ke správě změn chcete použít nástroje pro správu verzí, jako je GitHub nebo Azure DevOps. Pomocí editoru, jako je VS Code, můžete také provést změny dcR a pak pomocí nástrojů příkazového řádku aktualizovat dcR ve službě Azure Monitor, jak je popsáno výše.

Následuje ukázkový skript PowerShellu, který můžete použít k nasdílení změn do DCR ze zdrojového souboru. Tím se ověří, že zdrojový soubor je platný json před odesláním do služby 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		

Uložení obsahu DCR do dočasného souboru

Pokud v místním souboru nemáte definici DCR, můžete ji načíst ze služby Azure Monitor a uložit ji do dočasného souboru. Potom můžete soubor upravit pomocí editoru, jako je VS Code, a teprve potom nasdílejte aktualizace do služby Azure Monitor.

Následuje ukázkový skript PowerShellu, který můžete použít k úpravě existujícího řadiče domény ve službě Azure Monitor. Skript načte definici DCR a před spuštěním nástroje VS Code ji uloží do dočasného souboru. Jakmile označíte skript, který jste uložili změny, řadič domény se aktualizuje novým obsahem a dočasný soubor se odstraní.

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

Použití šablony ARM k úpravě řadiče domény na místě

Pokud chcete provádět úpravy úplně na webu Azure Portal, můžete k načtení šablony ARM pro DCR použít funkci exportu šablony . Pak můžete upravit definici ve formátu JSON a znovu ji nasadit na webu Azure Portal.

  1. Na webu Azure Portal vyberte řadič domény, který chcete upravit, a vyberte Exportovat šablonu. Potom klikněte na Nasadit a znovu nasaďte stejnou šablonu.

    Snímek obrazovky znázorňující možnost Exportovat šablonu pro pravidlo shromažďování dat na webu Azure Portal

  2. Kliknutím na Upravit šablonu otevřete upravitelnou verzi JSON pro DCR. Neměňte hodnoty parametrů.

    Snímek obrazovky znázorňující možnost Upravit šablonu pro pravidlo shromažďování dat na webu Azure Portal

  3. Proveďte požadované změny řadiče domény a potom klikněte na uložit.

    Snímek obrazovky znázorňující upravitelný kód JSON pro pravidlo shromažďování dat na webu Azure Portal

  4. Pokud chcete vytvořit nový řadič domény, změňte parametr name. V opačném případě ponechte parametry beze změny. Kliknutím na Zkontrolovat a vytvořit nasadíte upravenou šablonu a vytvoříte novou dcR.

    Snímek obrazovky znázorňující možnost revize a vytvoření pravidla shromažďování dat na webu Azure Portal

  5. Pokud je řadič domény platný bez chyb, nasazení proběhne úspěšně a řadič domény se aktualizuje o novou konfiguraci. Kliknutím na Přejít k prostředku otevřete upravený řadič domény.

    Snímek obrazovky znázorňující úspěšné nasazení pravidla shromažďování dat na webu Azure Portal

  6. Pokud řadič domény obsahuje chyby kompilace, zobrazí se zpráva, že nasazení selhalo. Kliknutím na Podrobnosti o chybě a Podrobnosti operace zobrazíte podrobnosti o chybě. Klikněte na Znovu nasadit a potom znovu upravit šablonu , aby se udělaly potřebné změny dcR a pak ho znovu uložte a nasaďte.

    Snímek obrazovky znázorňující neúspěšné nasazení pravidla shromažďování dat na webu Azure Portal

Ověření a řešení potíží se shromažďováním dat

Po instalaci řadiče domény může trvat několik minut, než se změny projeví a data se budou shromažďovat s aktualizovaným řadičem domény. Pokud se nezobrazují žádná shromážděná data, může být obtížné určit původní příčinu problému. K řešení potíží použijte funkce monitorování DCR, které zahrnují metriky a protokoly.

Metriky DCR se shromažďují automaticky pro všechny řadiče domény a můžete je analyzovat pomocí Průzkumníka metrik, jako jsou metriky platformy pro další prostředky Azure. Pokud zpracování dat není úspěšné, povolte protokoly chyb DCR, abyste získali podrobné informace o chybách.

Pokud se data neshromažďují, při řešení tohoto problému postupujte podle těchto základních kroků.

  1. Zkontrolujte metriky, jako Logs Ingestion Bytes per Min Logs Rows Received per Min je a ujistěte se, že data dosáhnou služby Azure Monitor. Pokud ne, zkontrolujte zdroj dat a ujistěte se, že odesílají data podle očekávání.
  2. Zkontrolujte Logs Rows Dropped per Min , jestli se některé řádky zahazují. To nemusí znamenat chybu, protože řádky můžou být vyřazeny transformací. Pokud jsou řádky zahozené stejným Logs Rows Dropped per Min způsobem, nebudou se v pracovním prostoru ingestovat žádná data. Zkontrolujte, jestli nedošlo Logs Transformation Errors per Min k nějakým chybám transformace.
  3. Zkontrolujte Logs Transformation Errors per Min , jestli se u příchozích dat použijí nějaké chyby z transformací. Příčinou můžou být změny ve struktuře dat nebo samotné transformaci.
  4. DCRLogErrors Zkontrolujte v tabulce všechny chyby příjmu dat, které mohly být zaprotokolovány. To může poskytnout další podrobnosti při identifikaci původní příčiny problému.

Další kroky