Teilen über


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:

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.

  1. 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>"
    
  2. Geben Sie einen geeigneten Wert für die Variable automationAccount mit dem tatsächlichen Namen Ihres Automation-Kontos und für workspaceName mit dem tatsächlichen Namen Ihres Log Analytics-Arbeitsbereichs an. Führen Sie das Skript dann aus.

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

Protokolle

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

  1. Kehren Sie zu Ihrer zuvor erstellten Abfrage zurück.

  2. Wählen Sie die Schaltfläche + Neue Warnungsregel aus, um mit der Warnungserstellung zu beginnen.

  3. 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 der DscNodeStatusData ab.

  4. 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:
  • ApplyOnly: DSC wendet die Konfiguration an und führt nichts weiter aus. Nach der ersten Anwendung einer neuen Konfiguration führt DSC keine Überprüfung auf Abweichungen von einem zuvor konfigurierten Zustand durch. DSC versucht, die Konfiguration anzuwenden, bis der Vorgang erfolgreich abgeschlossen wurde und bevor der Wert ApplyOnly in Kraft tritt.
  • ApplyAndMonitor: Dies ist der Standardwert. Der LCM wendet alle neuen Konfigurationen an. Nach der ersten Anwendung einer neuen Konfiguration meldet DSC Abweichungen in Protokollen, wenn der Zielknoten vom gewünschten Zustand abweicht. DSC versucht, die Konfiguration anzuwenden, bis der Vorgang erfolgreich abgeschlossen wurde und bevor der Wert ApplyAndMonitor in Kraft tritt.
  • ApplyAndAutoCorrect: DSC wendet neue Konfigurationen an. Nach der ersten Anwendung einer neuen Konfiguration meldet DSC Abweichungen in Protokollen, wenn der Zielknoten vom gewünschten Zustand abweicht, und wendet dann die aktuelle Konfiguration erneut an.
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