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:
Überprüfen Sie sorgfältig die Voraussetzungen.
Vergewissern Sie sich, dass die Erweiterung erfolgreich installiert und bereitgestellt wurde. Dadurch werden die Agent-Binärdateien auf Ihrem Computer installiert:
- Ö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“.
- 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
- 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.
- Überprüfen Sie, ob Erweiterungsprotokolle auf Ihrem Computer (unter
/var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/
) Fehler enthalten.
Überprüfen Sie, ob der Agent ausgeführt wird:
- Ü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
- Überprüfen Sie, ob der Agent-Dienst ausgeführt wird:
systemctl status azuremonitoragent
- Überprüfen Sie, ob Kernprotokolle des Agents auf Ihrem Computer (unter
/var/opt/microsoft/azuremonitoragent/log/mdsd.*
) Fehler enthalten.
- Ü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:
Stellen Sie sicher, dass der DCR vorhanden und dem virtuellen Computer zugeordnet ist:
- 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.
- Ö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.
- Falls nicht, klicken Sie auf „Hinzufügen“, und wählen Sie den virtuellen Computer über die Ressourcenauswahl aus. Wiederholen Sie alle DCRs.
Vergewissern Sie sich, dass der Agent die zugeordneten Datensammlungsregeln aus dem AMCS-Dienst herunterladen konnte:
- Überprüfen Sie, ob der neueste DCR an diesem Speicherort heruntergeladen wird
/etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/
- Überprüfen Sie, ob der neueste DCR an diesem Speicherort heruntergeladen wird
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
Ü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.
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.- Ist dies der Fall, fahren Sie mit Schritt 3 fort. Falls nicht, befindet sich das Problem im Konfigurationsworkflow.
- Untersuchen Sie die Dateien
mdsd.err
,mdsd.warn
undmdsd.info
unter/var/opt/microsoft/azuremonitoragent/log
auf mögliche Konfigurationsfehler.
Überprüfen Sie das Layout des Syslog-Sammlungsworkflows, um sicherzustellen, dass alle erforderlichen Komponenten vorhanden und zugänglich sind:
- Stellen Sie für
rsyslog
-Benutzer sicher, dass die Datei/etc/rsyslog.d/10-azuremonitoragent.conf
vorhanden, nicht leer und für denrsyslog
-Daemon (Syslog-Benutzer) zugänglich ist.- Ü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 wieinput(type="imtcp" port="514"
ruleset="myruleset"
)
konfiguriert ist, nicht weitergeleitet.
- Überprüfen Sie Ihre Rsyslog-Konfiguration in
- Stellen Sie für
syslog-ng
-Benutzer sicher, dass die Datei/etc/syslog-ng/conf.d/azuremonitoragent.conf
vorhanden, nicht leer und für densyslog-ng
-Daemon (Syslog-Benutzer) zugänglich ist. - Stellen Sie sicher, dass die Datei
/run/azuremonitoragent/default_syslog.socket
vorhanden und fürrsyslog
bzw.syslog-ng
zugänglich ist. - 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.
- Stellen Sie für
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"
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.