Azure Automation State Configuration integreren met Azure Monitor-logboeken

Notitie

Voordat u Automation State Configuration inschakelt, willen we graag weten dat een nieuwere versie van DSC nu algemeen beschikbaar is, beheerd door een functie van Azure Policy met de naam gastconfiguratie. De gastconfiguratieservice combineert functies van DSC-extensie, Azure Automation State Configuration en de meest aangevraagde functies uit feedback van klanten. Gastconfiguratie omvat ook ondersteuning voor hybride machines via servers met Arc.

Azure Automation State Configuration bewaart knooppuntstatusgegevens gedurende 30 dagen. U kunt statusgegevens van knooppunten verzenden naar Azure Monitor-logboeken als u deze gegevens langer wilt bewaren. De nalevingsstatus is zichtbaar in Azure Portal of met PowerShell, voor knooppunten en voor afzonderlijke DSC-resources in knooppuntconfiguraties.

Azure Monitor-logboeken bieden een betere operationele zichtbaarheid van uw Automation State Configuration-gegevens en kunnen incidenten sneller oplossen. Met Azure Monitor-logboeken kunt u het volgende doen:

  • Informatie over naleving ophalen voor beheerde knooppunten en afzonderlijke resources.
  • Een e-mail of waarschuwing activeren op basis van de nalevingsstatus.
  • Schrijf geavanceerde query's over uw beheerde knooppunten.
  • Correleren van nalevingsstatus in Automation-accounts.
  • Gebruik aangepaste weergaven en zoekquery's om uw runbookresultaten, de taakstatus van het runbook en andere gerelateerde sleutelindicatoren of metrische gegevens te visualiseren.

Notitie

Dit artikel is onlangs bijgewerkt waarbij Log Analytics is vervangen door de term Azure Monitor-logboeken. Logboekgegevens worden nog steeds opgeslagen in een Log Analytics-werkruimte, en worden nog steeds verzameld en geanalyseerd met dezelfde Log Analytics-service. De terminologie wordt bijgewerkt om de rol van logboeken in Azure Monitor beter te weerspiegelen. Zie Wijzigingen in Azure Monitor-terminologie voor meer informatie.

Vereisten

Als u uw Automation State Configuration-rapporten naar Azure Monitor-logboeken wilt verzenden, hebt u het volgende nodig:

  • De Az-module van PowerShell geïnstalleerd. Zorg ervoor dat u de nieuwste versie hebt. Voer indien nodig de opdracht uit Update-Module -Name Az.

Integratie met Azure Monitor-logboeken instellen

Voer de volgende stappen uit om te beginnen met het importeren van gegevens uit Azure Automation State Configuration in Azure Monitor-logboeken. Zie Azure Automation-taakgegevens doorsturen naar Azure Monitor-logboeken voor stappen met behulp van de portal.

  1. Meld u vanaf uw computer aan bij uw Azure-abonnement met de PowerShell-cmdlet Verbinding maken-AzAccount en volg de instructies op het scherm.

    # 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. Geef een geschikte waarde op voor de variabelen automationAccount met de werkelijke naam van uw Automation-account en workspaceName met de werkelijke naam van uw Log Analytics-werkruimte. Voer vervolgens het script uit.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. Haal de resource-id van uw Automation-account op door de volgende PowerShell-opdrachten uit te voeren.

    # Find the ResourceId for the Automation account
    $AutomationResourceId = (Get-AzResource `
       -ResourceType 'Microsoft.Automation/automationAccounts' | 
       WHERE {$_.Name -eq $automationAccount}).ResourceId
    
  4. Haal de resource-id van uw Log Analytics-werkruimte op door de volgende PowerShell-opdrachten uit te voeren.

     # Find the ResourceId for the Log Analytics workspace
     $WorkspaceResourceId = (Get-AzResource `
         -ResourceType 'Microsoft.OperationalInsights/workspaces' | 
         WHERE {$_.Name -eq $law}).ResourceId
    
  5. Als u diagnostische instellingen voor het Automation-account wilt configureren om statuslogboekgegevens van DSC-knooppunten door te sturen naar Azure Monitor-logboeken, maakt de volgende PowerShell-cmdlet een diagnostische instelling met behulp van die bestemming.

     Set-AzDiagnosticSetting `
         -ResourceId $AutomationResourceId `
         -WorkspaceId $WorkspaceResourceId `
         -Enabled $true `
         -Category 'DscNodeStatus'
    

    Als u wilt stoppen met het doorsturen van logboekgegevens van Automation State Configuration naar Azure Monitor-logboeken, voert u de volgende PowerShell-cmdlet uit.

     Set-AzDiagnosticSetting `
         -ResourceId $AutomationResourceId `
         -WorkspaceId $WorkspaceResourceId `
         -Enabled $false `
         -Category 'DscNodeStatus'
    

De statusconfiguratielogboeken weergeven

U kunt in de state configuration-logboeken zoeken naar DSC-bewerkingen door te zoeken in Azure Monitor-logboeken. Nadat u de integratie met Azure Monitor-logboeken voor uw Automation State Configuration-gegevens hebt ingesteld, gaat u naar uw Automation-account in Azure Portal. Selecteer vervolgens onder Bewaking logboeken.

Logs

Sluit het dialoogvenster Query's . Het deelvenster Zoeken in logboeken wordt geopend met een queryregio binnen het bereik van uw Automation-accountresource. De records voor DSC-bewerkingen worden opgeslagen in de AzureDiagnostics tabel. Als u wilt zoeken naar knooppunten die niet compatibel zijn, typt u de volgende query.

AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"

Filterdetails:

  • Filter op DscNodeStatusData om bewerkingen voor elk state configuration-knooppunt te retourneren.
  • Filter op DscResourceStatusData om bewerkingen te retourneren voor elke DSC-resource die wordt aangeroepen in de knooppuntconfiguratie die op die resource wordt toegepast.
  • Filter op DscResourceStatusData om foutinformatie te retourneren voor DSC-resources die mislukken.

Zie Overzicht van logboekquery's in Azure Monitor voor meer informatie over het samenstellen van logboekquery's om gegevens te vinden.

Een e-mailbericht verzenden wanneer een nalevingscontrole voor statusconfiguratie mislukt

  1. Ga terug naar de query die u eerder hebt gemaakt.

  2. Druk op de knop + Nieuwe waarschuwingsregel om de stroom voor het maken van waarschuwingen te starten.

  3. Vervang in de onderstaande query door NODENAME de werkelijke naam van het beheerde knooppunt en plak de gewijzigde query in het tekstvak Zoekquery :

    AzureDiagnostics
    | where Category == "DscNodeStatus"
    | where NodeName_s == "NODENAME"
    | where OperationName == "DscNodeStatusData"
    | where ResultType == "Failed"
    

    Als u logboeken van meer dan één Automation-account of -abonnement hebt ingesteld op uw werkruimte, kunt u uw waarschuwingen groeperen op abonnement en Automation-account. De automation-accountnaam afleiden van de Resource eigenschap in de zoekresultaten van het DscNodeStatusDatalogboek.

  4. Bekijk met Azure Monitor metrische waarschuwingen maken, weergeven en beheren om de resterende stappen uit te voeren.

Mislukte DSC-resources vinden op alle knooppunten

Een voordeel van het gebruik van Azure Monitor-logboeken is dat u kunt zoeken naar mislukte controles op verschillende knooppunten. Gebruik de volgende query om alle exemplaren van DSC-resources te vinden die zijn mislukt:

AzureDiagnostics 
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"

Historische DSC-knooppuntstatus weergeven

Als u de statusgeschiedenis van het DSC-knooppunt in de loop van de tijd wilt visualiseren, kunt u deze query gebruiken:

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" 
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType

Deze query geeft een grafiek weer van de status van het knooppunt in de loop van de tijd.

Azure Monitor-logboekenrecords

Diagnostische gegevens van Azure Automation maken twee categorieën records in Azure Monitor-logboeken:

  • Statusgegevens van knooppunten (DscNodeStatusData)
  • Resourcestatusgegevens (DscResourceStatusData)

DscNodeStatusData

Eigenschappen Beschrijving
TimeGenerated Datum en tijd waarop de nalevingscontrole is uitgevoerd.
OperationName DscNodeStatusData.
ResultType Waarde die aangeeft of het knooppunt compatibel is.
NodeName_s De naam van het beheerde knooppunt.
NodeComplianceStatus_s Statuswaarde die aangeeft of het knooppunt compatibel is.
DscReportStatus Statuswaarde die aangeeft of de nalevingscontrole is uitgevoerd.
ConfigurationMode De modus die wordt gebruikt om de configuratie toe te passen op het knooppunt. Mogelijke waarden zijn:
  • ApplyOnly: DSC past de configuratie toe en doet niets verder, tenzij een nieuwe configuratie naar het doelknooppunt wordt gepusht of wanneer een nieuwe configuratie wordt opgehaald van een server. Na de eerste toepassing van een nieuwe configuratie controleert DSC niet op afwijkingen van een eerder geconfigureerde status. DSC probeert de configuratie toe te passen totdat deze is geslaagd voordat de ApplyOnly waarde van kracht wordt.
  • ApplyAndMonitor: Dit is de standaardwaarde. De LCM past eventuele nieuwe configuraties toe. Als na de eerste toepassing van een nieuwe configuratie het doelknooppunt afdrijdt van de gewenste status, rapporteert DSC de discrepantie in logboeken. DSC probeert de configuratie toe te passen totdat deze is geslaagd voordat de ApplyAndMonitor waarde van kracht wordt.
  • ApplyAndAutoCorrect: DSC past nieuwe configuraties toe. Als na de eerste toepassing van een nieuwe configuratie het doelknooppunt van de gewenste status afdrijft, rapporteert DSC de discrepantie in logboeken en past de huidige configuratie vervolgens opnieuw toe.
HostName_s De naam van het beheerde knooppunt.
IPAddress Het IPv4-adres van het beheerde knooppunt.
Categorie DscNodeStatus.
Resource De naam van het Azure Automation-account.
Tenant_g GUID die de tenant voor de aanroeper identificeert.
NodeId_g GUID die het beheerde knooppunt identificeert.
DscReportId_g GUID waarmee het rapport wordt geïdentificeerd.
LastSeenTime_t Datum en tijd waarop het rapport voor het laatst is bekeken.
ReportStartTime_t Datum en tijd waarop het rapport is gestart.
ReportEndTime_t Datum en tijd waarop het rapport is voltooid.
NumberOfResources_d Het aantal DSC-resources dat is aangeroepen in de configuratie die is toegepast op het knooppunt.
SourceSystem Het bronsysteem waarmee wordt aangegeven hoe azure Monitor-logboeken de gegevens hebben verzameld. Altijd Azure voor diagnostische gegevens van Azure.
ResourceId De resource-id van het Azure Automation-account.
ResultDescription De resourcebeschrijving voor deze bewerking.
SubscriptionId De Azure-abonnements-id (GUID) voor het Automation-account.
ResourceGroup De naam van de resourcegroep voor het Automation-account.
ResourceProvider MICROSOFT. AUTOMATISERING.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId Een GUID die de correlatie-id van het nalevingsrapport is.

DscResourceStatusData

Eigenschappen Beschrijving
TimeGenerated Datum en tijd waarop de nalevingscontrole is uitgevoerd.
OperationName DscResourceStatusData.
ResultType Of de resource compatibel is.
NodeName_s De naam van het beheerde knooppunt.
Categorie DscNodeStatus.
Resource De naam van het Azure Automation-account.
Tenant_g GUID die de tenant voor de aanroeper identificeert.
NodeId_g GUID die het beheerde knooppunt identificeert.
DscReportId_g GUID waarmee het rapport wordt geïdentificeerd.
DscResourceId_s De naam van het DSC-resource-exemplaar.
DscResourceName_s De naam van de DSC-resource.
DscResourceStatus_s Of de DSC-resource voldoet aan de naleving.
DscModuleName_s De naam van de PowerShell-module die de DSC-resource bevat.
DscModuleVersion_s De versie van de PowerShell-module die de DSC-resource bevat.
DscConfigurationName_s De naam van de configuratie die op het knooppunt is toegepast.
ErrorCode_s De foutcode als de resource is mislukt.
ErrorMessage_s Het foutbericht als de resource is mislukt.
DscResourceDuration_d De tijd, in seconden, dat de DSC-resource is uitgevoerd.
SourceSystem Hoe Azure Monitor-logboeken de gegevens hebben verzameld. Altijd Azure voor diagnostische gegevens van Azure.
ResourceId De id van het Azure Automation-account.
ResultDescription De beschrijving voor deze bewerking.
SubscriptionId De Azure-abonnements-id (GUID) voor het Automation-account.
ResourceGroup De naam van de resourcegroep voor het Automation-account.
ResourceProvider MICROSOFT. AUTOMATISERING.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId GUID die de correlatie-id van het nalevingsrapport is.

Volgende stappen