Freigeben über


Leitfaden zur Problembehandlung für den Azure Monitor-Agent auf virtuellen Linux-Computern sowie für Skalierungsgruppen

Übersicht für den Azure Monitor-Agent

Bevor Sie weiterlesen, müssen Sie mit Azure Monitor-Agent und Datensammlungsregeln vertraut sein.

Begriff

Name Akronym BESCHREIBUNG
Azure Monitor-Agent AMA Der neue Azure Monitor-Agent
Datensammlungsregeln DCR Regeln zum Konfigurieren der Datenerfassung durch den Agent (was gesammelt werden soll, wohin es gesendet werden soll usw.)
Azure Monitor-Konfigurationsdienst AMCS Der in Azure gehostete regionale Dienst steuert die Datensammlung für diesen Agent und andere Teile von Azure Monitor. Der Agent ruft diesen Dienst auf, um Datensammlungsregeln abzurufen.
Protokollendpunkt -- Endpunkt zum Senden von Daten an Log Analytics-Arbeitsbereiche
Metrikendpunkt -- Endpunkt zum Senden von Daten an Azure Monitor-Metrikdatenbanken.
Instance Metadata Service und Hybrid Instance Metadata Service IMDS und HIMDS In Azure gehostete Dienste, die Informationen zu derzeit ausgeführten virtuellen Computern, zu Skalierungsgruppen (über IMDS) und zu Servern mit Arc-Unterstützung (über HIMDS) bereitstellen
Log Analytics-Arbeitsbereich LAW Das Ziel in Azure Monitor, an das Sie vom Agent gesammelte Protokolle senden können
Benutzerdefinierte Metriken -- Das Ziel in Azure Monitor, an das Sie vom Agent gesammelte Gastmetriken senden können

Grundlegende Schritte zur Problembehandlung

Führen Sie die folgenden Schritte aus, um Probleme mit der neuesten Version des Azure Monitor-Agents zu beheben, die auf Ihrem virtuellen Linux-Computer ausgeführt wird:

  1. Überprüfen Sie sorgfältig die Voraussetzungen.

  2. Vergewissern Sie sich, dass die Erweiterung erfolgreich installiert und bereitgestellt wurde. Dadurch werden die Agent-Binärdateien auf Ihrem Computer installiert:

    1. Öffnen Sie das Azure-Portal > wählen Sie Ihren virtuellen Computer > öffnen Sie Einstellungen : Erweiterungen + Anwendungen im linken Bereich > AzureMonitorLinuxAgent sollte mit diesem Status angezeigt werden: „Bereitstellung erfolgreich“.
    2. Sollte die Erweiterung nicht aufgeführt sein, überprüfen Sie, ob Azure für den Computer erreichbar ist, und suchen Sie mithilfe des folgenden Befehls nach der zu installierenden Erweiterung:
      az vm extension image list-versions --location <machine-region> --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor
      
    3. Warten Sie zehn bis 15 Minuten, da sich die Erweiterung möglicherweise in einem Übergangsstatus befindet. Sollte sie weiterhin nicht wie oben gezeigt angezeigt werden, deinstallieren Sie die Erweiterung, und installieren Sie sie erneut.
    4. Überprüfen Sie, ob Erweiterungsprotokolle auf Ihrem Computer (unter /var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/) Fehler enthalten.
  3. Überprüfen Sie, ob der Agent ausgeführt wird:

    1. Überprüfen Sie mithilfe der folgenden Abfrage, ob der Agent Heartbeatprotokolle an den Log Analytics-Arbeitsbereich sendet. Überspringen Sie diese Überprüfung, wenn „Benutzerdefinierte Metriken“ das einzige Ziel in der Datensammlungsregel ist:
      Heartbeat | where Category == "Azure Monitor Agent" and Computer == "<computer-name>" | take 10
      
    2. Überprüfen Sie, ob der Agent-Dienst ausgeführt wird:
      systemctl status azuremonitoragent
      
    3. Überprüfen Sie, ob Kernprotokolle des Agents auf Ihrem Computer (unter /var/opt/microsoft/azuremonitoragent/log/mdsd.*) Fehler enthalten.
  4. Stellen Sie sicher, dass der DCR vorhanden und dem virtuellen Computer zugeordnet ist:

    1. Wenn Sie den Log Analytics-Arbeitsbereich als Ziel verwenden, vergewissern Sie sich, dass die Datensammlungsregel in der gleichen physischen Region vorhanden ist wie der Log Analytics-Arbeitsbereich.
    2. Öffnen Sie das Azure-Portal > wählen Sie Ihre Datensammlungsregel aus > öffnen Sie Konfiguration : Ressourcen im linken Bereich. Hier sollte der virtuelle Computer aufgeführt sein.
    3. Falls nicht, klicken Sie auf „Hinzufügen“, und wählen Sie den virtuellen Computer über die Ressourcenauswahl aus. Wiederholen Sie alle DCRs.
  5. Vergewissern Sie sich, dass der Agent die zugeordneten Datensammlungsregeln aus dem AMCS-Dienst herunterladen konnte:

    1. Überprüfen Sie, ob der neueste DCR an diesem Speicherort heruntergeladen wird /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/

Probleme beim Sammeln von Syslog

Weitere Informationen zur Behandlung von Syslog-Problemen mit dem Azure Monitor-Agent finden Sie hier.

  • Die QoS-Datei /var/opt/microsoft/azuremonitoragent/log/mdsd.qos (Quality of Service) enthält 15-minütige, CSV-formatierte Aggregationen der verarbeiteten Ereignisse sowie Informationen zur Menge der verarbeiteten Syslog-Ereignisse im angegebenen Zeitrahmen. Diese Datei ist hilfreich, um Rückgänge bei der Erfassung von Syslog-Ereignissen nachzuverfolgen.

    Das folgende Fragment zeigt beispielsweise, dass der Agent in den 15 Minuten vor 2022-02-28T19:55:23.5432920Z 77 Syslog-Ereignisse mit Informationen zum Einrichtungs-Daemon und zur Stufe erhalten und 77 dieser Ereignisse an die Uploadaufgabe gesendet hat. Darüber hinaus hat die Agent-Uploadaufgabe 77 Nachrichten vom Typ „daemon.info“ empfangen und alle 77 erfolgreich hochgeladen.

    #Time: 2022-02-28T19:55:23.5432920Z
    #Fields: Operation,Object,TotalCount,SuccessCount,Retries,AverageDuration,AverageSize,AverageDelay,TotalSize,TotalRowsRead,TotalRowsSent
    ...
    MaRunTaskLocal,daemon.debug,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.info,15,15,0,60000,46.2,0,693,77,77
    MaRunTaskLocal,daemon.notice,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.warning,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.error,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.critical,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.alert,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.emergency,15,15,0,60000,0,0,0,0,0
    ...
    MaODSRequest,https://e73fd5e3-ea2b-4637-8da0-5c8144b670c8_LogManagement,15,15,0,455067,476.467,0,7147,77,77
    

Schritte zur Problembehandlung

  1. Überprüfen Sie zuerst die allgemeinen Schritte zur Problembehandlung für den AMA unter Linux. Wenn der Agent Heartbeats sendet, fahren Sie mit Schritt 2 fort.

  2. Die analysierte Konfiguration wird unter /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/ gespeichert. Vergewissern Sie sich, dass die Syslog-Sammlung definiert ist und die Protokollziele den Protokollzielen entsprechen, die über die Benutzeroberfläche bzw. per JSON-Code für die Datensammlungsregeln erstellt wurden.

    1. Ist dies der Fall, fahren Sie mit Schritt 3 fort. Falls nicht, befindet sich das Problem im Konfigurationsworkflow.
    2. Untersuchen Sie die Dateien mdsd.err, mdsd.warn und mdsd.info unter /var/opt/microsoft/azuremonitoragent/log auf mögliche Konfigurationsfehler.
  3. Überprüfen Sie das Layout des Syslog-Sammlungsworkflows, um sicherzustellen, dass alle erforderlichen Komponenten vorhanden und zugänglich sind:

    1. Stellen Sie für rsyslog-Benutzer sicher, dass die Datei /etc/rsyslog.d/10-azuremonitoragent.conf vorhanden, nicht leer und für den rsyslog-Daemon (Syslog-Benutzer) zugänglich ist.
      1. Überprüfen Sie Ihre Rsyslog-Konfiguration in /etc/rsyslog.conf und /etc/rsyslog.d/*, um festzustellen, ob Eingaben an ein nicht standardmäßiges Regelset gebunden sind, da Nachrichten von diesen Eingaben nicht an den Azure Monitor-Agent weitergeleitet werden. Beispielsweise werden Nachrichten von einer Eingabe, die mit einem nicht standardmäßigen Regelset wie input(type="imtcp" port="514" ruleset="myruleset") konfiguriert ist, nicht weitergeleitet.
    2. Stellen Sie für syslog-ng-Benutzer sicher, dass die Datei /etc/syslog-ng/conf.d/azuremonitoragent.conf vorhanden, nicht leer und für den syslog-ng-Daemon (Syslog-Benutzer) zugänglich ist.
    3. Stellen Sie sicher, dass die Datei /run/azuremonitoragent/default_syslog.socket vorhanden und für rsyslog bzw. syslog-ng zugänglich ist.
    4. Vergewissern Sie sich, dass die Warteschlange des Syslog-Daemons nicht überläuft, was dazu führt, dass der Upload nicht erfolgreich ist. Eine entsprechende Anleitung finden Sie hier: rsyslog-Daten werden nicht hochgeladen, da für den AMA unter Linux nicht genügend Speicherplatz verfügbar ist.
  4. Zum weiteren Debuggen der Syslog-Ereigniserfassung können Sie in der Datei /etc/default/azuremonitoragent das Ablaufverfolgungsflag -T 0x2002 am Ende von MDSD_OPTIONS anfügen und den Agent neu starten:

    export MDSD_OPTIONS="-A -c /etc/opt/microsoft/azuremonitoragent/mdsd.xml -d -r $MDSD_ROLE_PREFIX -S $MDSD_SPOOL_DIRECTORY/eh -L $MDSD_SPOOL_DIRECTORY/events -e $MDSD_LOG_DIR/mdsd.err -w $MDSD_LOG_DIR/mdsd.warn -o $MDSD_LOG_DIR/mdsd.info -T 0x2002"
    
  5. Nachdem das Problem bei aktiviertem Ablaufverfolgungsflag reproduziert wurde, finden Sie in /var/opt/microsoft/azuremonitoragent/log/mdsd.info weitere Debuginformationen. Suchen Sie in der Datei nach der möglichen Ursache für das Syslog-Sammlungsproblem (beispielsweise Analyse-, Verarbeitungs-, Konfigurations- oder Uploadfehler).

    Warnung

    Denken Sie daran, das Ablaufverfolgungsflag -T 0x2002 nach der Debugsitzung wieder zu entfernen, da das Flag zahlreiche Überwachungsanweisungen generiert, die den Datenträger schneller füllen oder die visuelle Analyse der Protokolldatei erschweren können.

Behandeln von Problemen auf einem Arc-fähigen Server

Wenn der Azure Monitor-Agent der Ausführung der grundlegende Schritte bei der Problembehandlung keine Protokolle ausgibt oder der Fehler „Fehler beim Abrufen des MSI-Tokens vom IMDS-Endpunkt“ in der /var/opt/microsoft/azuremonitoragent/log/mdsd.err-Protokolldatei angezeigt wird, ist der Benutzer „syslog“ wahrscheinlich kein Mitglied der Gruppe „himds“. Fügen Sie den Benutzer „syslog“ zur Benutzergruppe „himds“ hinzu, wenn der Benutzer kein Mitglied dieser Gruppe ist. Erstellen Sie bei Bedarf den Benutzer „syslog“ und die Gruppe „syslog“, und stellen Sie sicher, dass sich der Benutzer in dieser Gruppe befindet. Weitere Informationen zu Azure Arc-fähigen Serverauthentifizierungsanforderungen finden Sie hier.