Behandeln von Leistungsproblemen für Microsoft Defender for Endpoint unter Linux
Gilt für:
- Microsoft Defender for Endpoint-Server
- Microsoft Defender für Server
Möchten Sie Defender für Endpunkt erfahren? Registrieren Sie sich für eine kostenlose Testversion
Dieses Dokument enthält Anweisungen zum Eingrenzen von Leistungsproblemen im Zusammenhang mit Defender für Endpunkt unter Linux mithilfe der verfügbaren Diagnosetools, um die vorhandenen Ressourcenengpässe und die Prozesse zu verstehen und zu beheben, die das System in solche Situationen bringen. Leistungsprobleme werden hauptsächlich durch Engpässe in einem oder mehreren Hardwaresubsystemen verursacht, abhängig vom Profil der Ressourcennutzung auf dem System. Manchmal sind Anwendungen empfindlich auf Datenträger-E/A-Ressourcen und benötigen möglicherweise mehr CPU-Kapazität, und manchmal sind einige Konfigurationen nicht nachhaltig, lösen zu viele neue Prozesse aus und öffnen zu viele Dateideskriptoren.
Abhängig von den Anwendungen, die Sie ausführen, und den Merkmalen Ihres Geräts kann es zu einer suboptimalen Leistung kommen, wenn Sie Defender für Endpunkt unter Linux ausführen. Insbesondere Anwendungen oder Systemprozesse, die über einen kurzen Zeitraum auf viele Ressourcen wie CPU, Datenträger und Arbeitsspeicher zugreifen, können in Defender für Endpunkt unter Linux zu Leistungsproblemen führen.
Warnung
Bevor Sie beginnen, stellen Sie sicher, dass andere Sicherheitsprodukte derzeit nicht auf dem Gerät ausgeführt werden. Mehrere Sicherheitsprodukte können in Konflikt geraten und die Hostleistung beeinträchtigen.
Behandeln von Leistungsproblemen mithilfe von Echtzeitschutzstatistiken
Gilt für:
- Nur Leistungsprobleme im Zusammenhang mit Antivirensoftware
Echtzeitschutz (Real-Time Protection, RTP) ist ein Feature von Defender für Endpunkt unter Linux, das Ihr Gerät kontinuierlich überwacht und vor Bedrohungen schützt. Es besteht aus Datei- und Prozessüberwachung und anderen Heuristiken.
Die folgenden Schritte können verwendet werden, um diese Probleme zu beheben und zu beheben:
Deaktivieren Sie den Echtzeitschutz mit einer der folgenden Methoden, und beobachten Sie, ob sich die Leistung verbessert. Dieser Ansatz hilft dabei einzugrenzen, ob Defender für Endpunkt unter Linux zu den Leistungsproblemen beiträgt. Wenn Ihr Gerät nicht von Ihrem organization verwaltet wird, kann der Echtzeitschutz über die Befehlszeile deaktiviert werden:
mdatp config real-time-protection --value disabled
Configuration property updated
Wenn Ihr Gerät von Ihrem organization verwaltet wird, kann der Echtzeitschutz von Ihrem Administrator mithilfe der Anweisungen unter Festlegen von Einstellungen für Defender für Endpunkt unter Linux deaktiviert werden.
Hinweis
Wenn das Leistungsproblem weiterhin besteht, während der Echtzeitschutz deaktiviert ist, kann der Ursprung des Problems die EDR-Komponente (Endpoint Detection and Response) sein. Führen Sie in diesem Fall die Schritte aus dem Abschnitt Behandeln von Leistungsproblemen mit Microsoft Defender for Endpoint Client Analyzer dieses Artikels aus.
Um die Anwendungen zu finden, die die meisten Überprüfungen auslösen, können Sie Echtzeitstatistiken verwenden, die von Defender für Endpunkt für Linux gesammelt werden.
Hinweis
Dieses Feature ist in Version 100.90.70 oder höher verfügbar.
Dieses Feature ist standardmäßig für die
Dogfood
Kanäle undInsiderFast
aktiviert. Wenn Sie einen anderen Updatekanal verwenden, kann dieses Feature über die Befehlszeile aktiviert werden:mdatp config real-time-protection-statistics --value enabled
Für dieses Feature muss der Echtzeitschutz aktiviert sein. Führen Sie den folgenden Befehl aus, um die status des Echtzeitschutzes zu überprüfen:
mdatp health --field real_time_protection_enabled
Vergewissern Sie sich, dass der
real_time_protection_enabled
Eintrag isttrue
. Führen Sie andernfalls den folgenden Befehl aus, um ihn zu aktivieren:mdatp config real-time-protection --value enabled
Configuration property updated
Um aktuelle Statistiken zu erfassen, führen Sie Folgendes aus:
mdatp diagnostic real-time-protection-statistics --output json
Hinweis
Die Verwendung von
--output json
(beachten Sie den doppelten Bindestrich) stellt sicher, dass das Ausgabeformat für die Analyse bereit ist.Die Ausgabe dieses Befehls zeigt alle Prozesse und die zugehörigen Scanaktivitäten an.
Laden Sie auf Ihrem Linux-System die Python-Beispielparser-high_cpu_parser.py mit dem Befehl herunter:
wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
Die Ausgabe dieses Befehls sollte in etwa wie folgt aussehen:
--2020-11-14 11:27:27-- https://raw.githubusercontent.com/microsoft.mdatp-xplat/master/linus/diagnostic/high_cpu_parser.py Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.xxx.xxx Connecting to raw.githubusercontent.com (raw.githubusercontent.com)| 151.101.xxx.xxx| :443... connected. HTTP request sent, awaiting response... 200 OK Length: 1020 [text/plain] Saving to: 'high_cpu_parser.py' 100%[===========================================>] 1,020 --.-K/s in 0s
Geben Sie die folgenden Befehle ein:
mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
Die Ausgabe des obigen ist eine Liste der wichtigsten Mitwirkenden an Leistungsproblemen. Die erste Spalte ist der Prozessbezeichner (Process Identifier, PID), die zweite Spalte der Prozessname, und die letzte Spalte ist die Anzahl der gescannten Dateien, sortiert nach Auswirkung. Die Ausgabe des Befehls ist z. B. in etwa wie folgt:
... > mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py | head 27432 None 76703 73467 actool 1249 73914 xcodebuild 1081 73873 bash 1050 27475 None 836 1 launchd 407 73468 ibtool 344 549 telemetryd_v1 325 4764 None 228 125 CrashPlanService 164
Um die Leistung von Defender für Endpunkt unter Linux zu verbessern, suchen Sie das Objekt mit der höchsten Zahl unter der
Total files scanned
Zeile, und fügen Sie einen Ausschluss dafür hinzu. Weitere Informationen finden Sie unter Konfigurieren und Überprüfen von Ausschlüssen für Defender für Endpunkt unter Linux.Hinweis
Die Anwendung speichert Statistiken im Arbeitsspeicher und verfolgt nur die Dateiaktivität nach, seit sie gestartet und der Echtzeitschutz aktiviert wurde. Prozesse, die vor oder zu Zeiten gestartet wurden, in denen der Echtzeitschutz deaktiviert war, werden nicht gezählt. Darüber hinaus werden nur Ereignisse gezählt, die Überprüfungen ausgelöst haben.
Behandeln von Leistungsproblemen mit Microsoft Defender for Endpoint Client Analyzer
Gilt für:
- Leistungsprobleme aller verfügbaren Defender für Endpunkt-Komponenten wie AV und EDR
Die Microsoft Defender for Endpoint Client Analyzer (MDECA) kann Ablaufverfolgungen, Protokolle und Diagnoseinformationen sammeln, um Leistungsprobleme auf integrierten Geräten unter Linux zu beheben.
Hinweis
- Das Microsoft Defender for Endpoint Client Analyzer-Tool wird regelmäßig von Microsoft Customer Support Services (CSS) verwendet, um Informationen wie (aber nicht beschränkt auf) IP-Adressen und PC-Namen zu sammeln, die bei der Behandlung von Problemen helfen, die möglicherweise mit Microsoft Defender for Endpoint auftreten. Weitere Informationen zu unseren Datenschutzbestimmungen finden Sie in den Datenschutzbestimmungen von Microsoft.
- Als allgemeine bewährte Methode wird empfohlen, den Microsoft Defender for Endpoint-Agent auf die neueste verfügbare Version zu aktualisieren und zu bestätigen, dass das Problem weiterhin besteht, bevor die Untersuchung weiter ausgeführt wird.
Informationen zum Ausführen der Clientanalyse zur Behandlung von Leistungsproblemen finden Sie unter Ausführen der Clientanalyse unter macOS und Linux.
Konfigurieren von globalen Ausschlüssen für eine bessere Leistung
Konfigurieren Sie Microsoft Defender for Endpoint unter Linux mit Ausschlüssen für die Prozesse oder Datenträgerspeicherorte, die zu den Leistungsproblemen beitragen. Weitere Informationen finden Sie unter Konfigurieren und Überprüfen von Ausschlüssen für Microsoft Defender für Endpunkt unter Linux. Wenn weiterhin Leistungsprobleme auftreten, wenden Sie sich an den Support, um weitere Anweisungen und Abhilfemaßnahmen zu erhalten.
Beheben von Problemen mit der AuditD-Leistung
Hintergrund:
Microsoft Defender for Endpoint unter Linux-Betriebssystemverteilungen verwendet das AuditD-Framework, um bestimmte Arten von Telemetrieereignissen zu erfassen.
Systemereignisse, die von den zu hinzugefügten
/etc/audit/rules.d/
Regeln erfasst werden, werden zu audit.log hinzugefügt und können sich auf die Hostüberwachung und Upstream Sammlung auswirken.Ereignisse, die von Microsoft Defender for Endpoint unter Linux hinzugefügt werden, werden mit
mdatp
dem Schlüssel gekennzeichnet.Wenn der AuditD-Dienst falsch konfiguriert oder offline ist, fehlen möglicherweise einige Ereignisse. Informationen zur Behandlung eines solchen Problems finden Sie unter Behandeln fehlender Ereignisse oder Warnungsprobleme für Microsoft Defender for Endpoint unter Linux.
Bei bestimmten Serverworkloads können zwei Probleme auftreten:
High CPU
Ressourcenverbrauch aus demmdatp_audisp_plugin
Prozess./var/log/audit/audit.log
wird groß oder dreht sich häufig.
Diese Probleme können auf Servern mit vielen Ereignissen auftreten, die AuditD überfluten. Solche Probleme können auftreten, wenn es mehrere Consumer für AuditD oder zu viele Regeln mit der Kombination aus Microsoft Defender for Endpoint und Drittanbieterconsumern oder eine hohe Workload gibt, die viele Ereignisse generiert. Um solche Probleme zu beheben, sammeln Sie zunächst MDEClientAnalyzer-Protokolle auf dem betroffenen Beispielserver.
Als bewährte Methode empfehlen wir, AuditD-Protokolle so zu konfigurieren, dass sie rotiert werden, wenn die maximale Dateigrößengrenze erreicht ist. Diese Konfiguration verhindert, dass sich AuditD-Protokolle in einer einzelnen Datei ansammeln, und die rotierten Protokolldateien können verschoben werden, um Speicherplatz zu sparen. Um dies zu erreichen, können Sie den Wert für max_log_file_action
rotate
in der Datei auditd.conf auf festlegen.
Hinweis
Als allgemeine bewährte Methode wird empfohlen, den Microsoft Defender for Endpoint-Agent auf die neueste verfügbare Version zu aktualisieren und zu bestätigen, dass das Problem weiterhin besteht, bevor die Untersuchung weiter ausgeführt wird. Dass zusätzliche Konfigurationen vorhanden sind, die sich auf die CPU-Auslastung des AuditD-Subsystems auswirken können. Insbesondere kann in auditd.conf der Wert für disp_qos
auf lossy
festgelegt werden, um den hohen CPU-Verbrauch zu reduzieren. Dies bedeutet jedoch, dass einige Ereignisse während der CPU-Spitzenauslastung gelöscht werden können.
XMDEClientAnalyzer
Wenn Sie XMDEClientAnalyzer verwenden, wird in den folgenden Dateien eine Ausgabe angezeigt, die Erkenntnisse liefert, die Ihnen bei der Problembehandlung helfen.
auditd_info.txt
auditd_log_analysis.txt
auditd_info.txt
Enthält die allgemeine AuditD-Konfiguration und zeigt die folgenden Informationen an:
Welche Prozesse werden als AuditD-Consumer registriert.
Auditctl -s
Ausgabe mitenabled=2
(Schlägt vor, dass sich die Überwachung im unveränderlichen Modus befindet (erfordert einen Neustart, damit Konfigurationsänderungen wirksam werden.)Auditctl -l
output (Zeigt an, welche Regeln derzeit in den Kernel geladen werden, die sich von den auf dem Datenträger in/etc/auditd/rules.d/mdatp.rules
vorhandenen Regeln unterscheiden können. Zeigt auch an, welche Regeln sich auf Microsoft Defender for Endpoint beziehen.)
auditd_log_analysis.txt
Enthält wichtige aggregierte Informationen, die bei der Untersuchung von AuditD-Leistungsproblemen nützlich sind.
Welche Komponente besitzt die am häufigsten gemeldeten Ereignisse (Microsoft Defender for Endpoint Ereignisse werden mit
key=mdatp
gekennzeichnet).Die wichtigsten Initiatoren der Berichterstellung.
Die häufigsten Systemaufrufe (Netzwerk- oder Dateisystemereignisse und andere).
Welche Dateisystempfade sind die am meisten noisesten.
Um die meisten AuditD-Leistungsprobleme zu beheben, können Sie den AuditD-Ausschluss implementieren. Wenn die angegebenen Ausschlüsse die Leistung nicht verbessern, können wir die Option für die Ratenbegrenzung verwenden. Dadurch wird die Anzahl der ereignisse reduziert, die von AuditD generiert werden.
Hinweis
Ausschlüsse sollten nur für Initiatoren oder Pfade mit geringer Bedrohung und hohem Rauschen vorgenommen werden. Schließen Sie beispielsweise /bin/bash nicht aus, was zu einem großen blinden Fleck führen kann. Häufige Fehler, die beim Definieren von Ausschlüssen vermieden werden sollten.
Ausschlusstypen
Das XMDEClientAnalyzer-Unterstützungstool enthält Syntax, die zum Hinzufügen von AuditD-Ausschlusskonfigurationsregeln verwendet werden kann.
AuditD-Ausschluss – Unterstützung der Toolsyntax:
Nach Initiator
-
-e/ -exe
Vollständiger binärer Pfad > Entfernt alle Ereignisse dieses Initiators.
Nach Pfad
-
-d / -dir
Vollständiger Pfad zu einem Verzeichnis > Entfernt Dateisystemereignisse für dieses Verzeichnis
Beispiele:
Wenn /opt/app/bin/app
in geschrieben wird /opt/app/cfg/logs/1234.log
, können Sie das Supporttool mit verschiedenen Optionen ausschließen:
-e /opt/app/bin/app
-d /opt/app/cfg
-x /usr/bin/python /etc/usercfg
-d /usr/app/bin/
Weitere Beispiele:
./mde_support_tool.sh exclude -p <process id>
./mde_support_tool.sh exclude -e <process name>
Um mehrere Elemente auszuschließen, verketten Sie die Ausschlüsse in einer Zeile:
./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>
Das Flag -x wird verwendet, um den Zugriff auf Unterverzeichnisse durch bestimmte Initiatoren auszuschließen, z. B.:
./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp
Die oben genannten Schritte schließen die Überwachung des /tmp-Unterordners aus, wenn der mv-Prozess darauf zugreift.
Ratenbegrenzung
Das XMDEClientAnalyzer-Unterstützungstool enthält Syntax, die verwendet werden kann, um die Anzahl der ereignisse zu begrenzen, die vom auditD-Plug-In gemeldet werden. Mit dieser Option wird das Ratenlimit global für AuditD festgelegt, was zu einem Rückgang aller Überwachungsereignisse führt.
Hinweis
Diese Funktionalität sollte sorgfältig verwendet werden, da die Anzahl der Ereignisse begrenzt wird, die vom überwachten Subsystem als Ganzes gemeldet werden. Dies könnte auch die Anzahl der Ereignisse für andere Abonnenten reduzieren.
Die Option ratelimit kann verwendet werden, um dieses Ratenlimit zu aktivieren/zu deaktivieren.
Ermöglichen: ./mde_support_tool.sh ratelimit -e true
Abschalten: ./mde_support_tool.sh ratelimit -e false
Wenn das Ratelimit aktiviert ist, wird in AuditD eine Regel hinzugefügt, um 2500 Ereignisse/Sekunde zu behandeln.
Hinweis
Wenden Sie sich an den Microsoft-Support, wenn Sie Unterstützung beim Analysieren und Beheben von Leistungsproblemen im Zusammenhang mit AuditD oder bei der Bereitstellung von AuditD-Ausschlüssen im großen Stil benötigen.
Siehe auch
Tipp
Möchten Sie mehr erfahren? Engage mit der Microsoft-Sicherheitscommunity in unserer Tech Community: Microsoft Defender for Endpoint Tech Community.