Integrera Azure Automation State Configuration med Azure Monitor-loggar
Kommentar
Azure Automation State Configuration tas ur bruk den 30 september 2027. Övergå till Azure Machine Configuration senast det datumet. Mer information finns i blogginlägget. Azure Machine Configuration-tjänsten kombinerar funktioner i DSC-tillägget, Azure Automation State Configuration och de vanligaste funktionerna från kundfeedback. Azure Machine Configuration innehåller även stöd för hybriddatorer via Arc-aktiverade servrar.
Varning
Azure Automation DSC för Linux har dragits tillbaka den 30 september 2023. Mer information finns i meddelandet.
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 Portal 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:
- Modulen Az PowerShell. Kontrollera att du har den senaste versionen. Om det behövs kör du
Update-Module -Name Az
. - Ett Azure Automation-konto. Mer information finns i En introduktion till Azure Automation.
- En Log Analytics-arbetsyta. Mer information finns i Översikt över Azure Monitor-loggar.
- Minst en Azure Automation State Configuration-nod. Mer information finns i Registrera datorer för hantering av Azure Automation State Configuration.
- xDscDiagnostics-modulen, version 2.7.0.0 eller senare. Installationssteg finns i Felsöka önskad tillståndskonfiguration för Azure Automation.
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.
Från datorn loggar du in på din Azure-prenumeration med cmdleten PowerShell Connect-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>"
Ange ett lämpligt värde för variablerna
automationAccount
med det faktiska namnet på ditt Automation-konto ochworkspaceName
med det faktiska namnet på din Log Analytics-arbetsyta. Kör sedan skriptet.$automationAccount = "automationAccount" $law = "workspaceName"
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-Object {$_.Name -eq $automationAccount}).ResourceId
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
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.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $true Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
När du vill sluta vidarebefordra loggdata från Automation State Configuration till Azure Monitor-loggar kör du följande PowerShell-cmdlet.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $false Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
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 Portal. Välj sedan Loggar under Övervakning.
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
Gå tillbaka till din fråga som skapades tidigare.
Klicka på knappen + Ny aviseringsregel för att starta flödet för att skapa aviseringar.
I följande fråga 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 konfigurerar loggar för mer än ett Automation-konto eller en prenumeration kan du gruppera dina aviseringar efter prenumeration och Automation-konto. Härled Automation-kontonamnet från
Resource
egenskapen i loggsökningsresultatet förDscNodeStatusData
.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 fel 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:
|
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 samlades 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. AUTOMATISERING. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | En korrelationsidentifierare 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. AUTOMATISERING. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Ett korrelations-ID för efterlevnadsrapporten. |
Nästa steg
- En översikt finns i Översikt över Azure Automation State Configuration.
- Kom igång genom att läsa Kom igång med Azure Automation State Configuration.
- Mer information om hur du kompilerar DSC-konfigurationer så att du kan tilldela dem till målnoder finns i Kompilera DSC-konfigurationer i Azure Automation State Configuration.
- En PowerShell-cmdlet-referens finns i Az.Automation.
- Prisinformation finns i Prissättning för Azure Automation State Configuration.
- Ett exempel på hur du använder Azure Automation State Configuration i en pipeline för kontinuerlig distribution finns i Konfigurera kontinuerlig distribution med Chocolatey.
- Mer information om hur du skapar olika sökfrågor och granskar Automation State Configuration-loggar med Azure Monitor-loggar finns i Loggsökningar i Azure Monitor-loggar.
- Mer information om Azure Monitor-loggar och datainsamlingskällor finns i Samla in Azure Storage-data i Översikt över Azure Monitor-loggar.