Integrera Azure Automation State Configuration med Azure Monitor-loggar

Kommentar

Innan du aktiverar Automation State Configuration vill vi att du ska veta att en nyare version av DSC nu är allmänt tillgänglig, som hanteras av en funktion i Azure Policy med namnet gästkonfiguration. Gästkonfigurationstjänsten kombinerar funktioner i DSC-tillägget, Azure Automation State Configuration och de vanligaste funktionerna från kundfeedback. Gästkonfigurationen omfattar även stöd för hybriddatorer via Arc-aktiverade servrar.

Azure Automation State Configuration behåller nodstatusdata i 30 dagar. Du kan skicka nodstatusdata till Azure Monitor-loggar om du föredrar att behålla dessa data under en längre period. Efterlevnadsstatus visas i Azure-portalen eller med PowerShell, för noder och för enskilda DSC-resurser i nodkonfigurationer.

Azure Monitor-loggar ger bättre driftssynlighet för dina Automation State Configuration-data och kan hjälpa dig att hantera incidenter snabbare. Med Azure Monitor-loggar kan du:

  • Hämta efterlevnadsinformation för hanterade noder och enskilda resurser.
  • Utlös ett e-postmeddelande eller en avisering baserat på efterlevnadsstatus.
  • Skriv avancerade frågor över dina hanterade noder.
  • Korrelera efterlevnadsstatus mellan Automation-konton.
  • Använd anpassade vyer och sökfrågor för att visualisera dina runbook-resultat, runbook-jobbstatus och andra relaterade nyckelindikatorer eller mått.

Kommentar

Den här artikeln uppdaterades nyligen för att använda termen Azure Monitor-loggar i stället för Log Analytics. Loggdata lagras fortfarande på en Log Analytics-arbetsyta och samlas fortfarande in och analyseras av samma Log Analytics-tjänst. Vi uppdaterar terminologin för att bättre återspegla loggarnas roll i Azure Monitor. Mer information finns i Terminologiändringar i Azure Monitor.

Förutsättningar

Om du vill börja skicka dina Automation State Configuration-rapporter till Azure Monitor-loggar behöver du:

  • PowerShell Az-modulen har installerats. Kontrollera att du har den senaste versionen. Om det behövs kör du Update-Module -Name Az.

Konfigurera integrering med Azure Monitor-loggar

Slutför följande steg för att börja importera data från Azure Automation State Configuration till Azure Monitor-loggar. Anvisningar om hur du använder portalen finns i Vidarebefordra Azure Automation-jobbdata till Azure Monitor-loggar.

  1. Från datorn loggar du in på din Azure-prenumeration med cmdleten PowerShell Anslut-AzAccount och följer anvisningarna på skärmen.

    # 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. Ange ett lämpligt värde för variablerna automationAccount med det faktiska namnet på ditt Automation-konto och workspaceName med det faktiska namnet på din Log Analytics-arbetsyta. Kör sedan skriptet.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. Hämta resurs-ID:t för ditt Automation-konto genom att köra följande PowerShell-kommandon.

    # Find the ResourceId for the Automation account
    $AutomationResourceId = (Get-AzResource `
       -ResourceType 'Microsoft.Automation/automationAccounts' | 
       WHERE {$_.Name -eq $automationAccount}).ResourceId
    
  4. Hämta resurs-ID för din Log Analytics-arbetsyta genom att köra följande PowerShell-kommandon.

     # Find the ResourceId for the Log Analytics workspace
     $WorkspaceResourceId = (Get-AzResource `
         -ResourceType 'Microsoft.OperationalInsights/workspaces' | 
         WHERE {$_.Name -eq $law}).ResourceId
    
  5. Om du vill konfigurera diagnostikinställningar för Automation-kontot för att vidarebefordra DSC-nodstatusloggdata till Azure Monitor-loggar skapar följande PowerShell-cmdlet en diagnostikinställning med det målet.

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

    När du vill sluta vidarebefordra loggdata från Automation State Configuration till Azure Monitor-loggar kör du följande PowerShell-cmdlet.

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

Visa tillståndskonfigurationsloggarna

Du kan söka i tillståndskonfigurationsloggarna efter DSC-åtgärder genom att söka i Azure Monitor-loggar. När du har konfigurerat integrering med Azure Monitor-loggar för dina Automation State Configuration-data går du till ditt Automation-konto i Azure-portalen. Välj sedan Loggar under Övervakning.

Logs

Stäng dialogrutan Frågor. Fönstret Loggsökning öppnas med en frågeregion som är begränsad till din Automation-kontoresurs. Posterna för DSC-åtgärder lagras i AzureDiagnostics tabellen. Om du vill hitta noder som inte är kompatibla skriver du följande fråga.

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

Filtreringsinformation:

  • Filtrera på DscNodeStatusData för att returnera åtgärder för varje nod för tillståndskonfiguration.
  • Filtrera på DscResourceStatusData för att returnera åtgärder för varje DSC-resurs som anropas i nodkonfigurationen som tillämpas på resursen.
  • Filtrera på DscResourceStatusData för att returnera felinformation för eventuella DSC-resurser som misslyckas.

Mer information om hur du skapar loggfrågor för att hitta data finns i Översikt över loggfrågor i Azure Monitor.

Skicka ett e-postmeddelande när en tillståndskonfigurationsefterlevnadskontroll misslyckas

  1. Gå tillbaka till din fråga som skapades tidigare.

  2. Tryck på knappen +Ny aviseringsregel för att starta flödet för att skapa aviseringar.

  3. I frågan nedan ersätter du NODENAME med det faktiska namnet på den hanterade noden och klistrar sedan in den ändrade frågan i textrutan Sökfråga :

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

    Om du har konfigurerat loggar från mer än ett Automation-konto eller en prenumeration till din arbetsyta kan du gruppera dina aviseringar efter prenumeration och Automation-konto. Härled Automation-kontonamnet från Resource egenskapen i loggsökningsresultatet för DscNodeStatusData.

  4. Läs Skapa, visa och hantera måttaviseringar med hjälp av Azure Monitor för att slutföra de återstående stegen.

Hitta misslyckade DSC-resurser över alla noder

En fördel med att använda Azure Monitor-loggar är att du kan söka efter misslyckade kontroller mellan noder. Om du vill hitta alla instanser av DSC-resurser som har misslyckats använder du följande fråga:

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

Visa historisk DSC-nodstatus

Om du vill visualisera din DSC-nodstatushistorik över tid kan du använda den här frågan:

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

Den här frågan visar ett diagram över nodstatusen över tid.

Azure Monitor-loggar poster

Azure Automation-diagnostik skapar två kategorier av poster i Azure Monitor-loggar:

  • Nodstatusdata (DscNodeStatusData)
  • Resursstatusdata (DscResourceStatusData)

DscNodeStatusData

Property Beskrivning
TimeGenerated Datum och tid när efterlevnadskontrollen kördes.
OperationName DscNodeStatusData.
ResultType Värde som anger om noden är kompatibel.
NodeName_s Namnet på den hanterade noden.
NodeComplianceStatus_s Statusvärde som anger om noden är kompatibel.
DscReportStatus Statusvärde som anger om kompatibilitetskontrollen har körts.
ConfigurationMode Det läge som används för att tillämpa konfigurationen på noden. Möjliga värden är:
  • ApplyOnly: DSC tillämpar konfigurationen och gör inget ytterligare om inte en ny konfiguration skickas till målnoden eller när en ny konfiguration hämtas från en server. Efter den första tillämpningen av en ny konfiguration söker DSC inte efter drift från ett tidigare konfigurerat tillstånd. DSC försöker tillämpa konfigurationen tills den lyckas innan värdet ApplyOnly börjar gälla.
  • ApplyAndMonitor: Det här är standardvärdet. LCM tillämpar alla nya konfigurationer. När en ny konfiguration har tillämpats rapporterar DSC avvikelsen i loggarna om målnoden avviker från önskat tillstånd. DSC försöker tillämpa konfigurationen tills den lyckas innan värdet ApplyAndMonitor börjar gälla.
  • ApplyAndAutoCorrect: DSC tillämpar alla nya konfigurationer. Om målnoden avviker från önskat tillstånd rapporterar DSC avvikelsen i loggarna efter den första tillämpningen av en ny konfiguration och återställer sedan den aktuella konfigurationen igen.
HostName_s Namnet på den hanterade noden.
IPAddress IPv4-adressen för den hanterade noden.
Kategori DscNodeStatus.
Resurs Namnet på Azure Automation-kontot.
Tenant_g GUID som identifierar klientorganisationen för anroparen.
NodeId_g GUID som identifierar den hanterade noden.
DscReportId_g GUID som identifierar rapporten.
LastSeenTime_t Datum och tid då rapporten senast visades.
ReportStartTime_t Datum och tid då rapporten startades.
ReportEndTime_t Datum och tid när rapporten har slutförts.
NumberOfResources_d Antalet DSC-resurser som anropas i konfigurationen som tillämpas på noden.
SourceSystem Källsystemet som identifierar hur Azure Monitor-loggar har samlat in data. Alltid Azure för Azure-diagnostik.
ResourceId Resursidentifieraren för Azure Automation-kontot.
ResultDescription Resursbeskrivningen för den här åtgärden.
SubscriptionId Azure-prenumerations-ID (GUID) för Automation-kontot.
ResourceGroup Namnet på resursgruppen för Automation-kontot.
ResourceProvider MICROSOFT. AUTOMATION.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId Ett GUID som är korrelationsidentifieraren för efterlevnadsrapporten.

DscResourceStatusData

Property Beskrivning
TimeGenerated Datum och tid när efterlevnadskontrollen kördes.
OperationName DscResourceStatusData.
ResultType Om resursen är kompatibel.
NodeName_s Namnet på den hanterade noden.
Kategori DscNodeStatus.
Resurs Namnet på Azure Automation-kontot.
Tenant_g GUID som identifierar klientorganisationen för anroparen.
NodeId_g GUID som identifierar den hanterade noden.
DscReportId_g GUID som identifierar rapporten.
DscResourceId_s Namnet på DSC-resursinstansen.
DscResourceName_s Namnet på DSC-resursen.
DscResourceStatus_s Om DSC-resursen är i kompatibilitet.
DscModuleName_s Namnet på PowerShell-modulen som innehåller DSC-resursen.
DscModuleVersion_s Versionen av PowerShell-modulen som innehåller DSC-resursen.
DscConfigurationName_s Namnet på konfigurationen som tillämpas på noden.
ErrorCode_s Felkoden om resursen misslyckades.
ErrorMessage_s Felmeddelandet om resursen misslyckades.
DscResourceDuration_d Den tid i sekunder som DSC-resursen kördes.
SourceSystem Hur Azure Monitor-loggar samlade in data. Alltid Azure för Azure-diagnostik.
ResourceId Identifieraren för Azure Automation-kontot.
ResultDescription Beskrivningen för den här åtgärden.
SubscriptionId Azure-prenumerations-ID (GUID) för Automation-kontot.
ResourceGroup Namnet på resursgruppen för Automation-kontot.
ResourceProvider MICROSOFT. AUTOMATION.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId GUID som är korrelations-ID för efterlevnadsrapporten.

Nästa steg