Integrieren von Azure Automation State Configuration in Azure Monitor-Protokolle
Hinweis
Azure Automation State Configuration wird am 30. September 2027 eingestellt. Wechseln Sie bis zu diesem Datum zu Azure Machine Configuration. Weitere Informationen finden Sie in der Ankündigung im Blogbeitrag. Der Azure-Computerkonfigurationsdienst kombiniert Features der DSC-Erweiterung und von Azure Automation State Configuration mit den am häufigsten angeforderten Features aus Kundenfeedback. Die Azure-Computerkonfiguration umfasst auch die Unterstützung von Hybridcomputern über Arc-fähige Server.
Achtung
Azure Automation DSC für Linux wurde am 30. September 2023 eingestellt. Weitere Informationen finden Sie in der Ankündigung.
Azure Automation State Configuration behält den Knotenstatus 30 Tage lang bei. Sie können Knotenstatusdaten an Azure Monitor-Protokolle senden, wenn Sie diese Daten für einen längeren Zeitraum aufbewahren möchten. Der Konformitätsstatus kann im Azure-Portal oder mit PowerShell angezeigt werden, und zwar für Knoten und einzelne DSC-Ressourcen in Knotenkonfigurationen.
Azure Monitor-Protokolle bietet eine höhere operative Transparenz für Ihre Automation State Configuration-Daten, sodass schneller auf Incidents reagiert werden kann. Mit Azure Monitor-Protokolle können Sie:
- Complianceinformationen für verwaltete Knoten und einzelne Ressourcen abrufen
- Eine E-Mail oder Warnung basierend auf dem Compliancestatus auslösen
- Erweiterte Abfragen für Ihre verwalteten Knoten schreiben
- Den Compliancestatus über Automation-Konten korrelieren
- Benutzerdefinierte Ansichten und Suchabfragen zum Visualisieren von Runbookergebnissen, Runbookauftragsstatus und anderer wichtiger Schlüsselindikatoren oder Metriken verwenden
Hinweis
Dieser Artikel wurde kürzlich aktualisiert, um den Begriff Azure Monitor-Protokolle anstelle von Log Analytics aufzunehmen. Protokolldaten werden immer noch in einem Log Analytics-Arbeitsbereich gespeichert und weiterhin mit dem gleichen Log Analytics-Dienst erfasst und analysiert. Die Terminologie hat sich geändert, um der Rolle von Protokollen in Azure Monitor besser Rechnung zu tragen. Weitere Informationen finden Sie unter Terminologieänderungen bei Azure Monitor.
Voraussetzungen
Zum Senden von Automation State Configuration-Berichten an Azure Monitor-Protokolle benötigen Sie Folgendes:
- Das Module für das Az PowerShell-Modul. Stellen Sie sicher, dass Sie über die aktuelle Version verfügen. Führen Sie gegebenenfalls
Update-Module -Name Az
aus. - Ein Azure Automation-Konto. Weitere Informationen finden Sie unter Einführung in Azure Automation.
- Einen Log Analytics-Arbeitsbereich Weitere Informationen finden Sie unter Azure Monitor-Protokolle: Übersicht.
- Mindestens einen Azure Automation DSC-Knoten. Weitere Informationen finden Sie unter Onboarding von Computern zur Verwaltung durch Azure Automation DSC.
- Modul xDscDiagnostics, Version 2.7.0.0 oder höher. Installationsschritte finden Sie unter Problembehandlung der Desired State Configuration in Azure Automation.
Einrichten der Integration in Azure Monitor-Protokolle
Führen Sie zum Importieren von Daten aus Azure Automation State Configuration in Azure Monitor-Protokolle die folgenden Schritte aus. Informationen zu den Schritten unter Verwendung des Portals finden Sie unter Weiterleiten von Azure Automation-Auftragsdaten an Azure Monitor-Protokolle.
Melden Sie sich von Ihrem Computer aus mit dem PowerShell-Cmdlet Connect-AzAccount bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.
# 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>"
Geben Sie einen geeigneten Wert für die Variable
automationAccount
mit dem tatsächlichen Namen Ihres Automation-Kontos und fürworkspaceName
mit dem tatsächlichen Namen Ihres Log Analytics-Arbeitsbereichs an. Führen Sie das Skript dann aus.$automationAccount = "automationAccount" $law = "workspaceName"
Rufen Sie die Ressourcen-ID Ihres Automation-Kontos mit den folgenden PowerShell-Befehlen ab.
# Find the ResourceId for the Automation account $AutomationResourceId = (Get-AzResource -ResourceType 'Microsoft.Automation/automationAccounts' | Where-Object {$_.Name -eq $automationAccount}).ResourceId
Rufen Sie die Ressourcen-ID Ihres Log Analytics-Arbeitsbereichs mit den folgenden PowerShell-Befehlen ab.
# Find the ResourceId for the Log Analytics workspace $WorkspaceResourceId = (Get-AzResource ` -ResourceType 'Microsoft.OperationalInsights/workspaces' | WHERE {$_.Name -eq $law}).ResourceId
Zum Konfigurieren von Diagnoseeinstellungen für das Automation-Konto zum Weiterleiten von DSC-Knotenstatus-Protokolldaten an Azure Monitor-Protokolle erstellt das folgende PowerShell-Cmdlet eine Diagnoseeinstellung mit diesem Ziel.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $true Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
Wenn Sie die Weiterleitung von Protokolldaten von Azure Automation State Configuration an Azure Monitor-Protokolle beenden möchten, führen Sie das folgende PowerShell-Cmdlet aus.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $false Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
Anzeigen der DSC-Protokolle
Sie können die State Configuration-Protokolle nach DSC-Vorgängen durchsuchen, indem Sie die Azure Monitor Protokolle durchsuchen. Nachdem Sie die Integration in den Azure Monitor-Protokollen für Ihre Automation State Configuration-Daten eingerichtet haben, navigieren Sie im Azure-Portal zu Ihrem Automation-Konto. Wählen Sie dann unter Überwachung die Option Protokolle aus.
Schließen Sie das Dialogfeld Abfragen. Der Bereich „Protokollsuche“ wird mit einem Abfragebereich geöffnet, der auf Ihre Automation-Kontoressource bezogen ist. Die Datensätze für DSC-Vorgänge werden in der Tabelle AzureDiagnostics
gespeichert. Um nicht kompatible Knoten zu suchen, geben Sie die folgende Abfrage ein.
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"
Filterdetails:
- Filtern Sie nach
DscNodeStatusData
, um für jeden State Configuration-Knoten Vorgänge zurückzugeben. - Filtern Sie nach
DscResourceStatusData
, um für jede DSC-Ressource Vorgänge zurückzugeben, die in der auf diese Ressource angewandten Knotenkonfiguration aufgerufen wurden. - Filtern Sie nach
DscResourceStatusData
, um Fehlerinformationen zu fehlerhaften DSC-Ressourcen zu erhalten.
Weitere Informationen zum Erstellen von Protokollabfragen, um Daten zu finden, finden Sie unter Übersicht über Protokollabfragen in Azure Monitor.
Senden einer E-Mail bei einer fehlgeschlagenen DSC-Konformitätsprüfung
Kehren Sie zu Ihrer zuvor erstellten Abfrage zurück.
Wählen Sie die Schaltfläche + Neue Warnungsregel aus, um mit der Warnungserstellung zu beginnen.
Ersetzen Sie in der folgenden Abfrage
NODENAME
durch den tatsächlichen Namen des verwalteten Knotens, und fügen Sie dann die überarbeitete Abfrage in das Textfeld Suchabfrage ein:AzureDiagnostics | where Category == "DscNodeStatus" | where NodeName_s == "NODENAME" | where OperationName == "DscNodeStatusData" | where ResultType == "Failed"
Wenn Sie Protokolle für mehrere Automatisierungskonten oder Abonnements konfigurieren, können Sie Ihre Benachrichtigungen nach Abonnement und Automatisierungskonto gruppieren. Leiten Sie den Namen des Automation-Kontos von der
Resource
-Eigenschaft in den Protokollsuchergebnissen derDscNodeStatusData
ab.Lesen Sie Erstellen, Anzeigen und Verwalten von Metrikwarnungen mit Azure Monitor, um die verbleibenden Schritte durchzuführen.
Suchen von Fehlern bei DSC-Ressourcen in allen Knoten
Ein Vorteil der Verwendung von Azure Monitor-Protokolle ist, dass Sie nach Fehlern bei der Überprüfung der Knoten suchen können. Verwenden Sie die folgende Abfrage, um alle Instanzen von Fehlern zu finden:
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"
Anzeigen von Verlaufsdaten zum DSC-Knotenstatus
Mit dieser Abfrage können Sie den Statusverlauf Ihres DSC-Knotens visualisieren:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType
Mit dieser Abfrage wird ein Diagramm mit dem Knotenstatus über einen Zeitraum angezeigt.
Datensätze in Azure Monitor-Protokollen
Die Diagnose von Azure Automation erstellt zwei Kategorien von Datensätzen in Azure Monitor-Protokollen:
- Daten zum Knotenstatus (
DscNodeStatusData
) - Daten zum Ressourcenstatus (
DscResourceStatusData
)
DscNodeStatusData
Eigenschaft | BESCHREIBUNG |
---|---|
TimeGenerated | Datum und Uhrzeit der Durchführung der Konformitätsprüfung. |
Vorgangsname | DscNodeStatusData . |
ResultType | Ein Wert, der angibt, ob der Knoten konform ist. |
NodeName_s | Der Name des verwalteten Knotens. |
NodeComplianceStatus_s | Statuswert, der angibt, ob der Knoten konform ist. |
DscReportStatus | Statuswert, der angibt, ob die Complianceüberprüfung erfolgreich ausgeführt wurde. |
ConfigurationMode | Der Modus, der zum Anwenden der Konfiguration auf den Knoten verwendet wird. Mögliche Werte sind:
|
HostName_s | Der Name des verwalteten Knotens. |
IP-Adresse | Die IPv4-Adresse des verwalteten Knotens. |
Kategorie | DscNodeStatus . |
Ressource | Der Name des Azure Automation-Kontos. |
Tenant_g | Die GUID, die den Mandanten für den Aufrufer identifiziert. |
NodeId_g | Eindeutiger Bezeichner (GUID), der den verwalteten Knoten identifiziert. |
DscReportId_g | Eindeutiger Bezeichner (GUID), der den Bericht identifiziert. |
LastSeenTime_t | Datum und Uhrzeit der letzten Anzeige des Berichts. |
ReportStartTime_t | Datum und Uhrzeit des Berichtsstarts. |
ReportEndTime_t | Datum und Uhrzeit des Berichtsabschlusses. |
NumberOfResources_d | Die Anzahl der DSC-Ressourcen, die bei der Anwendung der Konfiguration auf den Knoten abgerufen wurden. |
SourceSystem | Das Quellsystem, das angibt, wie die Daten in Azure Monitor-Protokollen gesammelt wurden. Immer Azure für Azure-Diagnose. |
ResourceId | Der Ressourcenbezeichner des Azure Automation-Kontos. |
ResultDescription | Die Ressourcenbeschreibung für diesen Vorgang. |
SubscriptionId | Die Azure-Abonnement-ID (GUID) für das Automation-Konto. |
ResourceGroup | Der Name der Ressourcengruppe für das Automation-Konto. |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Ein Korrelationsbezeichner des Complianceberichts. |
DscResourceStatusData
Eigenschaft | BESCHREIBUNG |
---|---|
TimeGenerated | Datum und Uhrzeit der Durchführung der Konformitätsprüfung. |
Vorgangsname | DscResourceStatusData . |
ResultType | Gibt an, ob die Ressource konform ist. |
NodeName_s | Der Name des verwalteten Knotens. |
Kategorie | DscNodeStatus. |
Ressource | Der Name des Azure Automation-Kontos. |
Tenant_g | Die GUID, die den Mandanten für den Aufrufer identifiziert. |
NodeId_g | Eindeutiger Bezeichner (GUID), der den verwalteten Knoten identifiziert. |
DscReportId_g | Eindeutiger Bezeichner (GUID), der den Bericht identifiziert. |
DscResourceId_s | Der Name der DSC-Ressourceninstanz. |
DscResourceName_s | Der Name der DSC-Ressource. |
DscResourceStatus_s | Gibt an, ob die DSC-Ressource konform ist. |
DscModuleName_s | Der Name des PowerShell-Moduls, das die DSC-Ressource enthält. |
DscModuleVersion_s | Die Version des PowerShell-Moduls, das die DSC-Ressource enthält. |
DscConfigurationName_s | Der Name der Konfiguration, die auf den Knoten angewendet wird. |
ErrorCode_s | Der Fehlercode, wenn die Ressource fehlerhaft ist. |
ErrorMessage_s | Die Fehlermeldung, wenn die Ressource fehlerhaft ist. |
DscResourceDuration_d | Die Zeit in Sekunden, für die die DSC-Ressource ausgeführt wurde. |
SourceSystem | So erfassen Azure Monitor-Protokolle die Daten. Immer Azure für Azure-Diagnose. |
ResourceId | Der Bezeichner des Azure Automation-Kontos. |
ResultDescription | Die Beschreibung für diesen Vorgang. |
SubscriptionId | Die Azure-Abonnement-ID (GUID) für das Automation-Konto. |
ResourceGroup | Der Name der Ressourcengruppe für das Automation-Konto. |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Eine Korrelations-ID des Complianceberichts. |
Nächste Schritte
- Eine Übersicht finden Sie unter Übersicht über Azure Automation State Configuration.
- Eine Einführung finden Sie unter Erste Schritte mit Azure Automation State Configuration.
- Wie Sie DSC-Konfigurationen kompilieren und sie anschließend Zielknoten zuweisen, erfahren Sie unter Kompilieren von DSC-Konfigurationen in Azure Automation State Configuration.
- Eine Referenz zu den PowerShell-Cmdlets finden Sie unter Az.Automation.
- Eine Preisübersicht finden Sie unter Automation – Preise.
- Ein Anwendungsbeispiel für Azure Automation State Configuration in einer Continuous Deployment-Pipeline finden Sie unter Einrichten von Continuous Deployment mit Chocolatey.
- Weitere Informationen zum Erstellen verschiedener Suchabfragen und zur Überprüfung der Automation State Configuration-Protokolle mit Azure Monitor-Protokolle finden Sie unter Protokollsuchen in Azure Monitor-Protokollen.
- Weitere Informationen zu Azure Monitor-Protokolle und Datensammlungsquellen finden Sie unter Sammeln von Azure Storage-Daten in Azure Monitor-Protokolle – Übersicht.