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.

Prerequisiti

Per iniziare a inviare i report di State Configuration di Automazione ai log di Monitoraggio di Azure, sono necessari:

Configurare l'integrazione con i log di Monitoraggio 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.

  1. 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>"
    
  2. Specificare un valore appropriato per le variabili automationAccount con il nome effettivo dell'account di Automazione e workspaceName con il nome effettivo dell'area di lavoro Log Analytics. A questo punto, eseguire lo script.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. 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
    
  4. 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
    
  5. 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
    

Visualizzare i log di configurazione dello stato

È 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.

Registri

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

  1. Tornare alla query creata in precedenza.

  2. Fare clic sul pulsante + Nuova regola di avviso per avviare il flusso di creazione dell'avviso.

  3. 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 di DscNodeStatusData.

  4. Esaminare Creare, visualizzare e gestire gli avvisi delle metriche usando Monitoraggio di Azure per completare i passaggi rimanenti.

Trovare le risorse DSC con errori in tutti i nodi

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"

Visualizzare lo stato cronologico dei nodi DSC

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.

Record dei log di Monitoraggio di Azure

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)

DscNodeStatusData

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:
  • ApplyOnly: DSC applica la configurazione e non esegue altre operazioni. Dopo l'applicazione iniziale di una nuova configurazione, DSC non verifica la deviazione da uno stato configurato in precedenza. DSC prova ad applicare la configurazione fino a quando l'operazione non riesce, prima che venga applicata la modalità ApplyOnly.
  • ApplyAndMonitor: valore predefinito. Gestione configurazione locale applica qualsiasi nuova configurazione. Dopo l'applicazione iniziale di una nuova configurazione, in caso di deviazione del nodo di destinazione rispetto allo stato desiderato, DSC segnala la discrepanza nei log. DSC prova ad applicare la configurazione fino a quando l'operazione non riesce, prima che venga applicata la modalità ApplyAndMonitor.
  • ApplyAndAutoCorrect: DSC applica tutte le nuove configurazioni. Dopo l'applicazione iniziale di una nuova configurazione, in caso di deviazione del nodo di destinazione rispetto allo stato desiderato, DSC segnala la discrepanza nei log e quindi applica di nuovo la configurazione corrente.
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à.

DscResourceStatusData

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à.

Passaggi successivi