Felsöka prestandaproblem för Microsoft Defender för Endpoint i Linux
Gäller för:
- Microsoft Defender för Endpoint Server
- Microsoft Defender för servrar
Vill du uppleva Microsoft Defender för Endpoint? Registrera dig för en kostnadsfri utvärderingsversion.
Det här dokumentet innehåller instruktioner om hur du begränsar prestandaproblem som rör Defender för Endpoint i Linux med hjälp av tillgängliga diagnostikverktyg för att kunna förstå och minska den befintliga resursbristen och de processer som gör systemet till sådana situationer. Prestandaproblem orsakas främst av flaskhalsar i ett eller flera maskinvaruundersystem, beroende på profilen för resursutnyttjande i systemet. Ibland är program känsliga för disk-I/O-resurser och kan behöva mer processorkapacitet, och ibland är vissa konfigurationer inte hållbara, och kan utlösa för många nya processer och öppna för många filbeskrivningar.
Beroende på vilka program du kör och enhetens egenskaper kan det uppstå icke-optimala prestanda när du kör Defender för Endpoint på Linux. I synnerhet kan program eller systemprocesser som har åtkomst till många resurser, till exempel cpu, disk och minne under en kort tidsintervall, leda till prestandaproblem i Defender för Endpoint i Linux.
Varning
Kontrollera att andra säkerhetsprodukter inte körs på enheten innan du börjar. Flera säkerhetsprodukter kan vara i konflikt med och påverka värdprestandan.
Felsöka prestandaproblem med hjälp av realtidsskyddsstatistik
Gäller för:
- Endast prestandaproblem som rör antivirusprogram
Realtidsskydd (RTP) är en funktion i Defender för Endpoint i Linux som kontinuerligt övervakar och skyddar din enhet mot hot. Den består av fil- och processövervakning och andra heuristiker.
Följande steg kan användas för att felsöka och åtgärda dessa problem:
Inaktivera realtidsskydd med någon av följande metoder och se om prestandan förbättras. Den här metoden hjälper till att begränsa om Defender för Endpoint i Linux bidrar till prestandaproblemen. Om enheten inte hanteras av din organisation kan realtidsskydd inaktiveras från kommandoraden:
mdatp config real-time-protection --value disabled
Configuration property updated
Om enheten hanteras av din organisation kan realtidsskydd inaktiveras av administratören med hjälp av anvisningarna i Ange inställningar för Defender för Endpoint på Linux.
Obs!
Om prestandaproblemet kvarstår när realtidsskyddet är inaktiverat kan problemets ursprung vara komponenten för slutpunktsidentifiering och svar (EDR). I det här fallet följer du stegen i avsnittet Felsöka prestandaproblem med hjälp av Microsoft Defender för Endpoint Client Analyzer i den här artikeln.
Om du vill hitta de program som utlöser flest genomsökningar kan du använda realtidsstatistik som samlats in av Defender för Endpoint i Linux.
Obs!
Den här funktionen är tillgänglig i version 100.90.70 eller senare.
Den här funktionen är aktiverad som standard på kanalerna
Dogfood
ochInsiderFast
. Om du använder en annan uppdateringskanal kan den här funktionen aktiveras från kommandoraden:mdatp config real-time-protection-statistics --value enabled
Den här funktionen kräver att realtidsskydd aktiveras. Kör följande kommando för att kontrollera statusen för realtidsskydd:
mdatp health --field real_time_protection_enabled
Kontrollera att posten
real_time_protection_enabled
ärtrue
. Annars kör du följande kommando för att aktivera det:mdatp config real-time-protection --value enabled
Configuration property updated
Om du vill samla in aktuell statistik kör du:
mdatp diagnostic real-time-protection-statistics --output json
Obs!
Genom att använda
--output json
(observera dubbelstreck) ser du till att utdataformatet är redo för parsning.Utdata från det här kommandot visar alla processer och deras associerade genomsökningsaktivitet.
I Ditt Linux-system laddar du ned Python-exempelparsern high_cpu_parser.py med kommandot :
wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
Utdata för det här kommandot bör likna följande:
--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
Skriv följande kommandon:
mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
Utdata från ovanstående är en lista över de främsta bidragsgivarna till prestandaproblem. Den första kolumnen är processidentifieraren (PID), den andra kolumnen är processnamnet och den sista kolumnen är antalet skannade filer, sorterade efter påverkan. Kommandots utdata ser till exempel ut ungefär så här:
... > 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
Om du vill förbättra prestandan för Defender för Endpoint i Linux letar du upp den med det högsta talet under
Total files scanned
raden och lägger till ett undantag för den. Mer information finns i Konfigurera och validera undantag för Defender för Endpoint i Linux.Obs!
Programmet lagrar statistik i minnet och håller bara reda på filaktiviteten sedan den startades och realtidsskyddet aktiverades. Processer som startades före eller under perioder då realtidsskydd var inaktiverat räknas inte. Dessutom räknas endast händelser som utlöste genomsökningar.
Felsöka prestandaproblem med Microsoft Defender för Endpoint Client Analyzer
Gäller för:
- Prestandaproblem för alla tillgängliga Defender för Endpoint-komponenter som AV och EDR
Microsoft Defender för Endpoint Client Analyzer (MDECA) kan samla in spårningar, loggar och diagnostikinformation för att felsöka prestandaproblem på registrerade enheter i Linux.
Obs!
- Verktyget Microsoft Defender för Endpoint Client Analyzer används regelbundet av Microsoft Customer Support Services (CSS) för att samla in information som (men inte begränsat till) IP-adresser, datornamn som hjälper dig att felsöka problem som kan uppstå med Microsoft Defender för Endpoint. Mer information om vår sekretesspolicy finns i Microsofts sekretesspolicy.
- Som en allmän metod rekommenderar vi att du uppdaterar Microsoft Defender för Endpoint agenten till den senaste tillgängliga versionen och bekräftar att problemet kvarstår innan du undersöker vidare.
Information om hur du kör klientanalys för felsökning av prestandaproblem finns i Köra klientanalys på macOS och Linux.
Konfigurera globala undantag för bättre prestanda
Konfigurera Microsoft Defender för Endpoint på Linux med undantag för processer eller diskplatser som bidrar till prestandaproblemen. Mer information finns i Konfigurera och validera undantag för Microsoft Defender för Endpoint på Linux. Om du fortfarande har prestandaproblem kontaktar du supporten för ytterligare instruktioner och åtgärder.
Felsöka prestandaproblem med AuditD
Bakgrund:
Microsoft Defender för Endpoint på Linux OS-distributioner använder AuditD-ramverket för att samla in vissa typer av telemetrihändelser.
Systemhändelser som samlas in av regler som läggs till
/etc/audit/rules.d/
lägger till i audit.log och kan påverka värdgranskning och uppströmsinsamling.Händelser som läggs till av Microsoft Defender för Endpoint i Linux kommer att taggas med
mdatp
nyckeln.Om AuditD-tjänsten är felkonfigurerad eller offline kan vissa händelser saknas. Information om hur du felsöker ett sådant problem finns i: Felsöka saknade händelser eller aviseringsproblem för Microsoft Defender för Endpoint i Linux.
I vissa serverarbetsbelastningar kan två problem observeras:
High CPU
resursförbrukning frånmdatp_audisp_plugin
process./var/log/audit/audit.log
blir stor eller roterar ofta.
Dessa problem kan uppstå på servrar med många händelser som översvämmar AuditD. Sådana problem kan uppstå om det finns flera användare för AuditD, eller för många regler med kombinationen av Microsoft Defender för Endpoint och tredjepartskonsumenter, eller hög arbetsbelastning som genererar många händelser. Om du vill felsöka sådana problem börjar du med att samla in MDEClientAnalyzer-loggar på den berörda exempelservern.
Vi rekommenderar att du konfigurerar AuditD-loggar så att de roteras när den maximala filstorleksgränsen nås. Den här konfigurationen förhindrar att AuditD-loggar ackumuleras i en enda fil, och de roterade loggfilerna kan flyttas ut för att spara diskutrymme. För att uppnå detta kan du ange värdet för max_log_file_action
till rotate
i filen auditd.conf .
Obs!
Som en allmän metod rekommenderar vi att du uppdaterar Microsoft Defender för Endpoint agenten till den senaste tillgängliga versionen och bekräftar att problemet kvarstår innan du undersöker vidare. Att det finns ytterligare konfigurationer som kan påverka AuditD-undersystemets CPU-belastning. Mer specifikt kan värdet för i auditd.conf anges till lossy
för disp_qos
att minska den höga CPU-förbrukningen. Detta innebär dock att vissa händelser kan tas bort under den högsta CPU-förbrukningen.
XMDEClientAnalyzer
När du använder XMDEClientAnalyzer visar följande filer utdata som ger insikter som hjälper dig att felsöka problem.
auditd_info.txt
auditd_log_analysis.txt
auditd_info.txt
Innehåller allmän AuditD-konfiguration och visar följande information:
Vilka processer registreras som AuditD-konsumenter.
Auditctl -s
utdata medenabled=2
(föreslår att granskning är i oföränderligt läge (kräver omstart för att eventuella konfigurationsändringar ska börja gälla.)Auditctl -l
output (Visar vilka regler som för närvarande läses in i kerneln, vilket kan skilja sig från vad som finns på disken i/etc/auditd/rules.d/mdatp.rules
. Visar även vilka regler som är relaterade till Microsoft Defender för Endpoint.)
auditd_log_analysis.txt
Innehåller viktig aggregerad information som är användbar när du undersöker prestandaproblem med AuditD.
Vilken komponent som äger de mest rapporterade händelserna (Microsoft Defender för Endpoint händelser kommer att taggas med
key=mdatp
).De främsta rapportinitierarna.
De vanligaste systemanropen (nätverks- eller filsystemhändelser och andra).
Vilka filsystemsökvägar är de mest skadliga.
Du kan åtgärda de flesta prestandaproblem med AuditD genom att implementera AuditD-undantag. Om de angivna undantagen inte förbättrar prestandan kan vi använda alternativet hastighetsbegränsning. Detta minskar antalet händelser som genereras av AuditD helt och hållet.
Obs!
Undantag bör endast göras för initierare eller sökvägar med lågt hot och hög brus. Exkludera till exempel inte /bin/bash, vilket riskerar att skapa en stor blind fläck. Vanliga misstag att undvika när du definierar undantag.
Undantagstyper
XMDEClientAnalyzer-supportverktyget innehåller syntax som kan användas för att lägga till AuditD-undantagskonfigurationsregler.
AuditD-undantag – hjälp med syntax för supportverktyg:
Efter initierare
-
-e/ -exe
fullständig binär sökväg > Tar bort alla händelser av den här initieraren
Efter sökväg
-
-d / -dir
fullständig sökväg till en katalog > Tar bort filsystemhändelser för den här katalogen
Exempel:
Om /opt/app/bin/app
skriver till /opt/app/cfg/logs/1234.log
kan du använda supportverktyget för att exkludera med olika alternativ:
-e /opt/app/bin/app
-d /opt/app/cfg
-x /usr/bin/python /etc/usercfg
-d /usr/app/bin/
Fler exempel:
./mde_support_tool.sh exclude -p <process id>
./mde_support_tool.sh exclude -e <process name>
Om du vill exkludera fler än ett objekt sammanfogar du undantagen till en rad:
./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>
Flaggan -x används för att exkludera åtkomst till underkataloger av specifika initierare, till exempel:
./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp
Ovanstående utesluter övervakning av undermappen /tmp när den används av mv-processen.
Hastighetsbegränsning
XMDEClientAnalyzer-supportverktyget innehåller syntax som kan användas för att begränsa antalet händelser som rapporteras av auditD-plugin-programmet. Det här alternativet anger hastighetsbegränsningen globalt för AuditD, vilket orsakar en minskning av alla granskningshändelser.
Obs!
Den här funktionen bör användas noggrant eftersom begränsar antalet händelser som rapporteras av det granskade undersystemet som helhet. Detta kan också minska antalet händelser för andra prenumeranter.
Alternativet ratelimit kan användas för att aktivera/inaktivera den här hastighetsgränsen.
Möjliggöra: ./mde_support_tool.sh ratelimit -e true
Inaktivera: ./mde_support_tool.sh ratelimit -e false
När ratelimit är aktiverat läggs en regel till i AuditD för att hantera 2 500 händelser per sekund.
Obs!
Kontakta Microsofts support om du behöver hjälp med att analysera och minimera AuditD-relaterade prestandaproblem eller distribuera AuditD-undantag i stor skala.
Se även
Tips
Vill du veta mer? Engage med Microsofts säkerhetscommunity i vår Tech Community: Microsoft Defender för Endpoint Tech Community.