Teilen über


Behandeln von Leistungsproblemen für Microsoft Defender for Endpoint unter Linux

Gilt für:

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 AV

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:

  1. 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.

  2. 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 und InsiderFast 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 ist true. 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örige Scanaktivität an.

  3. 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
    
  4. Geben Sie als Nächstes 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.

  5. Konfigurieren Sie Microsoft Defender for Endpoint unter Linux mit Ausschlüssen für die Prozesse oder Datenträgerspeicherorte, die zu den Leistungsproblemen beitragen, und aktivieren Sie den Echtzeitschutz erneut.

    Weitere Informationen finden Sie unter Konfigurieren und Überprüfen von Ausschlüssen für Microsoft Defender für Endpunkt unter Linux.

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.

Hinweis

Falls das Leistungsproblem nach dem Ausführen der oben genannten Schritte weiterhin besteht, wenden Sie sich an den Kundensupport, 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:

  • Hoher CPU-Ressourcenverbrauch durch mdatp_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.

Hinweis

Als bewährte Methode empfehlen wir, AuditD-Protokolle so zu konfigurieren, dass sie rotiert werden, wenn die maximale Dateigrößengrenze erreicht ist.

Dadurch wird 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 festlegen, der in der Datei auditd.confgedreht werden soll.

Dies kann der Fall sein, wenn mehrere Consumer für AuditD vorhanden sind, oder wenn zu viele Regeln mit der Kombination aus Microsoft Defender for Endpoint und Consumern von Drittanbietern oder eine hohe Workload vorhanden sind, die viele Ereignisse generiert.

Um solche Probleme zu beheben, sammeln Sie zunächst MDEClientAnalyzer-Protokolle auf dem betroffenen Beispielserver.

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 Folgendes an:

  • Welche Prozesse werden als AuditD-Consumer registriert.

  • Auditctl -s-Ausgabe mit enabled=2

    • Schlägt vor, dass sich auditd im unveränderlichen Modus befindet (erfordert einen Neustart, damit konfigurationsänderungen wirksam werden).
  • Auditctl -l-Ausgabe

    • Zeigt an, welche Regeln derzeit in den Kernel geladen werden (was sich möglicherweise von dem unterscheidet, was auf dem Datenträger in "/etc/auditd/rules.d/mdatp.rules" vorhanden ist).

    • Zeigt 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=mdatpgekennzeichnet).

  • 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:

Syntax, die zum Hinzufügen von AuditD-Ausschlusskonfigurationsregeln verwendet werden kann

Nach Initiator

  • -e/ -exe full binary path > Removes all events by this initiator

Nach Pfad

  • -d / -dir vollständiger Pfad zu einem Verzeichnis > Entfernt Dateisystemereignisse für dieses Verzeichnis

Beispiele:

Wenn "/opt/app/bin/app" in "/opt/app/cfg/logs/1234.log" schreibt, 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.

Aktivieren: ./mde_support_tool.sh ratelimit -e true

Deaktivieren: ./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.