Integrare State Configuration di Automazione di Azure con i log di Monitoraggio di Azure
Nota
Automazione di Azure State Configuration verrà ritirato il 30 settembre 2027. Passare a Configurazione di Azure Machine entro tale data. Per altre informazioni, vedere l'annuncio del post di blog. Il servizio Configurazione macchina di Azure combina le funzionalità dell'estensione DSC, di State Configuration di Automazione di Azure e le funzionalità più comunemente richieste dai commenti e suggerimenti dei clienti. Configurazione macchina di Azure include anche il supporto del computer ibrido tramite i server abilitati per Arc.
Attenzione
Automazione di Azure DSC per Linux è stato ritirato il 30 settembre 2023. Per altre informazioni, vedere l'annuncio.
State Configuration di Automazione di Azure mantiene i dati sullo stato dei nodi per 30 giorni. È possibile inviare i dati sullo stato dei nodi ai log di Monitoraggio di Azure se si preferisce mantenere questi dati per un periodo di tempo più lungo. Lo stato della conformità è visibile nel portale di Azure o tramite PowerShell per i nodi e per le singole risorse DSC nelle configurazioni dei nodi.
I log di Monitoraggio di Azure offrono una maggiore visibilità operativa dei dati di State Configuration di Automazione e possono consentire di risolvere più rapidamente gli eventi imprevisti. Con i log di Monitoraggio di Azure è possibile:
- Ottenere informazioni sulla conformità per nodi gestiti e singole risorse.
- Attivare un messaggio di posta elettronica o un avviso in base allo stato di conformità.
- Scrivere query avanzate in tutti i nodi gestiti.
- Correlare lo stato di conformità negli account di Automazione.
- Usare visualizzazioni personalizzate e query di ricerca per visualizzare i risultati del runbook, lo stato dei processi del runbook e altri indicatori chiave o metriche correlati.
Nota
Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché Log Analytics. I dati di log vengono comunque archiviati in un'area di lavoro Log Analytics e vengano ancora raccolti e analizzati dallo stesso servizio Log Analytics. Si sta procedendo a un aggiornamento della terminologia per riflettere meglio il ruolo dei log in Monitoraggio di Azure. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.
Per iniziare a inviare i report di State Configuration di Automazione ai log di Monitoraggio di Azure, sono necessari:
- Modulo Az PowerShell. Verificare di avere l'ultima versione. Se necessario, eseguire
Update-Module -Name Az
. - Un account di automazione di Azure. Per altre informazioni, vedere Introduzione ad Automazione di Azure.
- Un'area di lavoro Log Analytics. Per altre informazioni, vedere Panoramica dei log di Monitoraggio di Azure.
- Almeno un nodo di configurazione dello stato di Automazione di Azure. Per altre informazioni, vedere Onboarding di computer per la gestione tramite State Configuration di Automazione di Azure.
- Il modulo xDscDiagnostics, versione 2.7.0.0 o successive. Per la procedura di installazione, vedere Risolvere i problemi relativi a Desired State Configuration di Automazione di Azure.
Per iniziare a importare i dati da State Configuration di Automazione di Azure nei log di Monitoraggio di Azure, seguire questa procedura. Per i passaggi che usano il portale, vedere Inoltrare i dati dei processi di Automazione di Azure ai log di Monitoraggio di Azure.
Dal computer, accedere alla sottoscrizione di Azure con il cmdlet di PowerShell Connect-AzAccount e seguire le istruzioni visualizzate.
# Sign in to your Azure subscription $sub = Get-AzSubscription -ErrorAction SilentlyContinue if (-not($sub)) { Connect-AzAccount } # If you have multiple subscriptions, set the one to use # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
Specificare un valore appropriato per le variabili
automationAccount
con il nome effettivo dell'account di Automazione eworkspaceName
con il nome effettivo dell'area di lavoro Log Analytics. A questo punto, eseguire lo script.$automationAccount = "automationAccount" $law = "workspaceName"
Ottenere l'ID risorsa dell'account di Automazione eseguendo i comandi di PowerShell seguenti.
# Find the ResourceId for the Automation account $AutomationResourceId = (Get-AzResource -ResourceType 'Microsoft.Automation/automationAccounts' | Where-Object {$_.Name -eq $automationAccount}).ResourceId
Ottenere l'ID risorsa dell'area di lavoro Log Analytics eseguendo il comando PowerShell seguente.
# Find the ResourceId for the Log Analytics workspace $WorkspaceResourceId = (Get-AzResource ` -ResourceType 'Microsoft.OperationalInsights/workspaces' | WHERE {$_.Name -eq $law}).ResourceId
Per configurare le impostazioni di diagnostica nell'account di Automazione in modo da inoltrare i dati del log dello stato del nodo DSC ai log di Monitoraggio di Azure, il cmdlet di PowerShell seguente crea un'impostazione di diagnostica usando tale destinazione.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $true Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
Quando si vuole interrompere l'inoltro dei dati di log da State Configuration di Automazione ai log di Monitoraggio di Azure, eseguire il cmdlet di PowerShell seguente.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $false Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
È possibile cercare le operazioni DSC nei log di State Configuration eseguendo la ricerca nei log di Monitoraggio di Azure. Dopo aver configurato l'integrazione con i log di Monitoraggio di Azure per i dati di State Configuration di Automazione, passare all'account di Automazione nel portale di Azure. Quindi, in Monitoraggio, selezionare Log.
Chiudere la finestra di dialogo Query. Il riquadro Ricerca log viene aperto con un'area di query con ambito definito in base alla risorsa dell'account di Automazione. I record relativi alle operazioni DSC sono archiviati nella tabella AzureDiagnostics
. Per trovare nodi non conformi, digitare la query seguente.
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"
Dettagli di filtro:
- Filtrare in base a
DscNodeStatusData
per restituire le operazioni per ogni nodo di State Configuration. - Filtrare in base a
DscResourceStatusData
per restituire le operazioni per ogni risorsa DSC chiamata nella configurazione del nodo applicata a tale risorsa. - Filtrare in base a
DscResourceStatusData
per restituire le informazioni sugli errori per tutte le risorse DSC che hanno esito negativo.
Per altre informazioni sulla creazione di query di log per trovare dati, vedere Panoramica delle query di log in Monitoraggio di Azure.
Inviare un messaggio di posta elettronica in caso di errore di un controllo della conformità alla configurazione dello stato
Tornare alla query creata in precedenza.
Fare clic sul pulsante + Nuova regola di avviso per avviare il flusso di creazione dell'avviso.
Nella query seguente sostituire
NODENAME
con il nome effettivo del nodo gestito e quindi incollare la query modificata nella casella di testo Cerca query :AzureDiagnostics | where Category == "DscNodeStatus" | where NodeName_s == "NODENAME" | where OperationName == "DscNodeStatusData" | where ResultType == "Failed"
Se si configurano i log per più account o sottoscrizioni di Automazione, è possibile raggruppare gli avvisi in base alla sottoscrizione e all'account di Automazione. Derivare il nome dell'account di Automazione dalla proprietà
Resource
nei risultati della ricerca log diDscNodeStatusData
.Esaminare Creare, visualizzare e gestire gli avvisi delle metriche usando Monitoraggio di Azure per completare i passaggi rimanenti.
Un vantaggio dell'uso dei log di Monitoraggio di Azure consiste nella possibilità di cercare controlli non riusciti in tutti i nodi. Per trovare tutte le istanze di errori, usare la query seguente:
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"
Per visualizzare la cronologia dello stato dei nodi DSC nel tempo, è possibile usare questa query:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType
Verrà visualizzato un grafico dello stato dei nodi nel tempo.
La diagnostica di Automazione di Azure crea due categorie di record nei log di Monitoraggio di Azure:
- Dati sullo stato del nodo (
DscNodeStatusData
) - Dati sullo stato della risorsa (
DscResourceStatusData
)
Proprietà | Descrizione |
---|---|
TimeGenerated | Data e ora dell'esecuzione del controllo della conformità. |
OperationName | DscNodeStatusData . |
ResultType | Valore che indica se il nodo è conforme. |
NodeName_s | Nome del nodo gestito. |
NodeComplianceStatus_s | Valore dello stato che specifica se il nodo è conforme. |
DscReportStatus | Valore dello stato che indica se il controllo di conformità è stato eseguito correttamente. |
ConfigurationMode | Modalità usata per applicare la configurazione al nodo. I valori possibili sono:
|
HostName_s | Nome del nodo gestito. |
IPAddress | Indirizzo IPv4 del nodo gestito. |
Categoria | DscNodeStatus . |
Conto risorse | Nome dell'account di Automazione di Azure. |
Tenant_g | GUID che identifica il tenant del chiamante. |
NodeId_g | GUID che identifica il nodo gestito. |
DscReportId_g | GUID che identifica il report. |
LastSeenTime_t | Data e ora dell'ultima visualizzazione del report. |
ReportStartTime_t | Data e ora dell'avvio del report. |
ReportEndTime_t | Data e ora del completamento del report. |
NumberOfResources_d | Numero di risorse DSC chiamate nella configurazione applicata al nodo. |
SourceSystem | Il sistema di origine che identifica il modo in cui i log di Monitoraggio di Azure sono stati raccolti. Il valore è sempre Azure per diagnostica di Azure. |
ResourceId | Identificatore di risorsa dell'account di Automazione di Azure. |
ResultDescription | Descrizione della risorsa per questa operazione. |
SubscriptionId | ID della sottoscrizione di Azure (GUID) per l'account di Automazione. |
ResourceGroup | Nome del gruppo di risorse per l'account di Automazione. |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Identificatore di correlazione del report di conformità. |
Proprietà | Descrizione |
---|---|
TimeGenerated | Data e ora dell'esecuzione del controllo della conformità. |
OperationName | DscResourceStatusData . |
ResultType | Indica se la risorsa è conforme. |
NodeName_s | Nome del nodo gestito. |
Categoria | DscNodeStatus. |
Conto risorse | Nome dell'account di Automazione di Azure. |
Tenant_g | GUID che identifica il tenant del chiamante. |
NodeId_g | GUID che identifica il nodo gestito. |
DscReportId_g | GUID che identifica il report. |
DscResourceId_s | Nome dell'istanza della risorsa DSC. |
DscResourceName_s | Nome della risorsa DSC. |
DscResourceStatus_s | Indica se la risorsa DSC è conforme. |
DscModuleName_s | Nome del modulo di PowerShell che include la risorsa DSC. |
DscModuleVersion_s | Versione del modulo di PowerShell che include la risorsa DSC. |
DscConfigurationName_s | Nome della configurazione applicata al nodo. |
ErrorCode_s | Codice errore in caso di esito negativo della risorsa. |
ErrorMessage_s | Messaggio di errore in caso di esito negativo della risorsa. |
DscResourceDuration_d | Durata, in secondi, dell'esecuzione della risorsa DSC. |
SourceSystem | Modalità di raccolta dei dati da parte dei log di Monitoraggio di Azure. Il valore è sempre Azure per diagnostica di Azure. |
ResourceId | Identificatore dell'account di Automazione di Azure. |
ResultDescription | Descrizione per questa operazione. |
SubscriptionId | ID della sottoscrizione di Azure (GUID) per l'account di Automazione. |
ResourceGroup | Nome del gruppo di risorse per l'account di Automazione. |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | ID di correlazione del report di conformità. |
- Per una panoramica, vedere Panoramica di State Configuration di Automazione di Azure.
- Per iniziare, vedere Introduzione a State Configuration di Automazione di Azure.
- Per informazioni sulla compilazione di configurazioni DSC da assegnare ai nodi di destinazione, vedere Compilare configurazioni DSC in State Configuration di Automazione di Azure.
- Per informazioni di riferimento sui cmdlet di PowerShell, vedere Az.Automation.
- Per informazioni sui prezzi, vedere Prezzi di State Configuration di Automazione di Azure.
- Per un esempio di uso di Automazione di Azure State Configuration in una pipeline di distribuzione continua, vedere Configurare la distribuzione continua con Chocolatey.
- Per altre informazioni su come creare query di ricerca diverse e rivedere i log di State Configuration di Automazione con i log di Monitoraggio di Azure, vedere Ricerche log nei log di Monitoraggio di Azure.
- Per altre informazioni sui log di Monitoraggio di Azure e sulle origini di raccolta dati, vedere Panoramica della raccolta di dati di archiviazione di Azure nei log di Monitoraggio di Azure.