Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Esistono più metodi per la creazione di una regola di raccolta dei dati in Monitoraggio di Azure. In alcuni casi, Monitoraggio di Azure creerà e gestirà le DCR in base alle impostazioni configurate nel portale di Azure. In alcuni di questi casi non ci si rende nemmeno conto che si sta lavorando con una DCR. Per altri scenari, tuttavia, potrebbe essere necessario creare controller di dominio personalizzati o modificare quelli esistenti usando direttamente la relativa definizione in JSON. Questo articolo descrive i diversi metodi per la creazione di una DCR e gli elementi consigliati per la modifica e la risoluzione dei problemi.
Annotazioni
Questo articolo descrive come creare e modificare la DCR. Per creare e modificare le associazioni delle regole di raccolta dati, vedere Creare e gestire le associazioni delle regole di raccolta dati.
Autorizzazioni
Per creare DCR e associazioni DCR, sono necessarie le seguenti autorizzazioni:
| Ruolo integrato | Ambiti | Motivo |
|---|---|---|
| Collaboratore al monitoraggio |
|
Creare o modificare le DCR, assegnare regole al computer, distribuire le associazioni. |
|
Collaboratore per macchine virtuali Amministratore risorse di Azure Connected Machine |
|
Distribuire le estensioni dell'agente nella macchina virtuale. |
| Qualsiasi ruolo che include l'azione Microsoft.Resources/deployments/* |
|
Implementare modelli di Azure Resource Manager. |
Importante
Creare la DCR nella stessa area dell'area di lavoro Log Analytics di destinazione o dell'area di lavoro Monitoraggio di Azure. È possibile associare la DCR a computer o contenitori da qualsiasi sottoscrizione o gruppo di risorse nel tenant. Per inviare dati tra tenant, è prima necessario abilitare Azure Lighthouse.
Creare o modificare una DCR usando il portale di Azure
Il portale di Azure offre un'esperienza semplificata per la creazione di DCR per scenari specifici. Usando questo metodo, non è necessario comprendere la struttura di una DCR, anche se è possibile essere limitati nella configurazione che è possibile eseguire e potrebbe essere necessario modificare in un secondo momento la definizione della DCR per implementare una funzionalità avanzata, ad esempio una trasformazione. L'esperienza varia per ogni scenario, quindi fare riferimento alla documentazione per lo scenario specifico in uso, come descritto nella tabella seguente.
| Sceneggiatura | Descrizione |
|---|---|
| Abilitare approfondimenti sulla macchina virtuale | Quando si abilita VM Insights in una macchina virtuale, viene installato l'agente di Monitoraggio di Azure e viene creata una DCR e associata alla macchina virtuale. Questa regola di raccolta dati raccoglie un set predefinito di contatori delle prestazioni e non deve essere modificata. Vedi Abilitazione di VM Insights. |
| Raccogliere dati client dalla macchina virtuale | Creare una DCR nel portale di Azure usando un'interfaccia guidata per selezionare origini dati diverse dal sistema operativo client di una macchina virtuale. Gli esempi includono eventi di Windows, eventi Syslog e log di testo. L'agente di Monitoraggio di Azure viene installato automaticamente, se necessario, e viene creata un'associazione tra la DCR e ogni macchina virtuale selezionata. Vedere Raccogliere dati con l'agente di Monitoraggio di Azure. |
| Esportazione delle metriche | Creare una DCR nel portale di Azure usando un'interfaccia guidata per selezionare metriche di diversi tipi di risorse da raccogliere. Viene creata un'associazione tra la DCR e ogni risorsa selezionata. Vedere Creare una regola di raccolta dati (DCR) per l'esportazione delle metriche. |
| Creazione di tabelle | Quando si crea una nuova tabella in un'area di lavoro Log Analytics usando il portale di Azure, si caricano dati di esempio che Monitoraggio di Azure usa per creare una richiesta di modifica progettazione (DCR), inclusa una trasformazione, che può essere usata con l'API di inserimento log. Non è possibile modificare questa DCR nel portale di Azure ma è possibile modificarla usando uno dei metodi descritti in questo articolo. Vedere Creare una tabella personalizzata. |
| Monitoraggio di Kubernetes | Per monitorare un cluster Kubernetes, abilitare Container Insights per i log e Prometheus per le metriche. Viene creata una DCR per ognuno, ed è associata alla versione in contenitori dell'agente di Monitoraggio di Azure nel cluster. Per aggiungere una trasformazione, potrebbe essere necessario modificare la DCR di Informazioni dettagliate del contenitore. Vedere Abilitare il monitoraggio per i cluster Kubernetes e le trasformazioni dei dati in Informazioni dettagliate sui contenitori. |
| Trasformazione dell'area di lavoro DCR | Le DCR di trasformazione dell'area di lavoro forniscono trasformazioni per gli scenari di raccolta dati che non usano ancora le DCR. È possibile creare questa DCR usando il portale di Azure per creare una trasformazione per una tabella specifica. Vedere Creare una DCR di trasformazione dell'area di lavoro |
Creare o modificare una DCR con JSON
Oltre a modificare un DCR esistente, è possibile crearne uno nuovo usando uno dei DCR di esempio che forniscono il JSON per diversi scenari comuni. Usare le informazioni in Struttura di una regola di raccolta dati in Azure Monitor per modificare il file JSON per il proprio ambiente e i requisiti specifici.
Avvertimento
Se si modifica una regola di raccolta dati esistente usando il portale di Azure, sovrascriverà le modifiche apportate modificando direttamente il codice JSON del DCR se tali funzionalità non sono supportate nel portale. Ad esempio, se si aggiunge una trasformazione a un DCR per un'origine dati che non consente la creazione di una trasformazione nel portale, quella trasformazione verrà rimossa se successivamente si modifica il DCR nel portale. In questo caso, è necessario continuare a fare modifiche al DCR modificando direttamente il JSON.
Dopo aver creato la definizione per la DCR, è possibile distribuirla in Monitoraggio di Azure usando i modelli di portale di Azure, interfaccia della riga di comando, PowerShell, API o ARM.
Suggerimento
Per visualizzare la definizione JSON di un record di dominio, vedere Visualizzare la definizione DCR.
Creare o modificare DCR con l'interfaccia della riga di comando
Usare il comando az monitor data-collection rule create per creare un DCR dal file JSON. È possibile usare questo stesso comando per aggiornare una DCR esistente.
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'
Annotazioni
Anche se è possibile scegliere di usare i comandi di PowerShell o dell'interfaccia della riga di comando per creare e modificare una DCR, i metodi API e ARM forniranno messaggi di errore più dettagliati in caso di errori di compilazione.
Nell'esempio seguente, la DCR specifica un nome tabella che non esiste nell'area di lavoro Log Analytics di destinazione. Il comando di PowerShell restituisce un messaggio di errore generico, ma la chiamata API restituirà un messaggio di errore dettagliato che specifica l'errore esatto.
Strategie per modificare e testare una DCR
Quando si crea o si modifica una DCR usando la definizione JSON, spesso è necessario eseguire più aggiornamenti per ottenere la funzionalità desiderata. È necessario un metodo efficiente per aggiornare la DCR, risolvere i problemi se non si ottengono i risultati previsti e quindi apportare gli aggiornamenti aggiuntivi. Ciò vale soprattutto se si aggiunge una trasformazione alla DCR, perché è necessario verificare che la query funzioni come previsto. Poiché non è possibile modificare il codice JSON direttamente nel portale di Azure, di seguito sono riportate alcune strategie che è possibile usare.
Usare il file locale come origine della DCR
Se si usa un file JSON locale come origine delle DCR create e modificate, si ha la certezza di avere sempre accesso alla versione più recente della definizione DCR. Questa soluzione è ideale se per gestire le modifiche si vogliono usare strumenti di controllo della versione come GitHub o Azure DevOps. È anche possibile usare un editor, ad esempio VS Code per apportare modifiche alla DCR e quindi usare gli strumenti da riga di comando per aggiornare la DCR in Monitoraggio di Azure, come descritto in precedenza.
Di seguito è riportato uno script di PowerShell di esempio che è possibile usare per eseguire il push delle modifiche in una DCR da un file di origine. In questo modo viene verificato che il file di origine sia un JSON valido, prima di inviarlo a Monitoraggio di Azure.
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
Salva contenuto DCR in un file temporaneo
Se la definizione della DCR non è presente in un file locale, è possibile recuperarla da Monitoraggio di Azure e salvarla in un file temporaneo. È quindi possibile modificare il file usando un editor come VS Code prima di eseguire il push degli aggiornamenti in Monitoraggio di Azure.
Di seguito è riportato uno script di PowerShell di esempio che è possibile usare per modificare una DCR esistente in Monitoraggio di Azure. Lo script recupererà la definizione della DCR e la salverà in un file temporaneo, prima di avviare VS Code. Dopo aver indicato allo script l'avvenuto salvataggio delle modifiche, la DCR viene aggiornata con il nuovo contenuto e il file temporaneo viene eliminato.
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
Usare il modello di ARM per modificare una DCR nell'area di spostamento
Per eseguire completamente gli aggiornamenti nel portale di Azure, è possibile usare la funzionalità Esporta modello per recuperare il modello di ARM per una DCR. È quindi possibile modificare la definizione in JSON e implementarla di nuovo nel portale di Azure.
Selezionare il DCR che si desidera modificare nel portale di Azure e selezionare Esporta modello. Fare quindi clic su Distribuisci per ridistribuire lo stesso modello.
Fare clic su Modifica modello per aprire una versione modificabile del file JSON per la DCR. Non modificare i valori dei parametri.
Apportare le modifiche necessarie alla DCR e quindi fare clic su Salva.
Se si vuole creare una nuova DCM, modificare il parametro del nome. In caso contrario, lasciare invariati i parametri. Fare clic su Rivedi e crea per distribuire il modello modificato e su Crea per creare il nuovo DCR.
Se la DCR è valida e senza errori, la distribuzione avrà esito positivo e la DCR verrà aggiornata con la nuova configurazione. Fare clic su Vai alla risorsa per aprire il DCR modificato.
Se la DCR contiene errori di compilazione, verrà visualizzato un messaggio che indica che la distribuzione non è riuscita. Fare clic su Dettagli errore e Dettagli operazione per visualizzare i dettagli dell'errore. Fare clic su Ridistribuisci e quindi su Modifica modello per apportare le modifiche necessarie al DCR e quindi salvarlo e distribuirlo di nuovo.
Verificare e risolvere i problemi relativi alla raccolta dati
Dopo aver installato il Controller di dominio, potrebbero essere necessari alcuni minuti prima che le modifiche siano effettive e che i dati vengano raccolti con il DCR aggiornato. Se non vengono visualizzati dati raccolti, può essere difficile determinare la causa radice del problema. Usare le funzionalità di monitoraggio di DCR , che includono metriche e log per risolvere i problemi.
Le metriche DCR vengono raccolte automaticamente per tutti i controller di dominio e è possibile analizzarle usando Esplora metriche, ad esempio le metriche della piattaforma per altre risorse di Azure. Abilitare i log degli errori DCR per ottenere informazioni dettagliate sugli errori quando l'elaborazione dei dati non riesce.
Se non vengono visualizzati i dati raccolti, seguire questa procedura di base per risolvere il problema.
- Controllare le metriche come
Logs Ingestion Bytes per MineLogs Rows Received per Minper assicurarsi che i dati raggiungano Azure Monitor. In caso contrario, controllare l'origine dati per assicurarsi che invii dati come previsto. - Verificare
Logs Rows Dropped per Minper controllare se vengono eliminate righe. Ciò potrebbe non indicare un errore perché le righe potrebbero essere eliminate da una trasformazione. Se le righe eliminate sono le stesse diLogs Rows Dropped per Min, nessun dato viene inserito nell'area di lavoro. EsaminareLogs Transformation Errors per Minper verificare se sono presenti errori di trasformazione. - Controllare
Logs Transformation Errors per Minper verificare se sono presenti errori dalle trasformazioni applicate ai dati in ingresso. Ciò potrebbe essere dovuto a modifiche apportate alla struttura dei dati o alla trasformazione stessa. - Controllare la
DCRLogErrorstabella per eventuali errori di inserimento che potrebbero essere stati registrati. Questo può fornire dettagli aggiuntivi per identificare la causa radice del problema.