Risolvere i problemi di prestazioni per Microsoft Defender per endpoint in Linux
Si applica a:
- Server di Microsoft Defender per endpoint.
- Microsoft Defender per server
Si desidera provare Microsoft Defender per endpoint? iscriversi a una versione di valutazione gratuita.
Questo articolo descrive come limitare i problemi di prestazioni correlati a Defender per endpoint in Linux. Sono disponibili strumenti di diagnostica che consentono di comprendere e attenuare le carenze di risorse e i processi esistenti che influiscono sulle prestazioni. Questi strumenti di diagnostica possono essere usati anche per migliorare la visibilità all'interno del portale di Microsoft Defender. I colli di bottiglia in uno o più sottosistemi hardware causano principalmente problemi di prestazioni, a seconda del profilo di utilizzo delle risorse nel sistema. A volte le applicazioni sono sensibili alle risorse di I/O su disco e possono richiedere una maggiore capacità della CPU, a volte alcune configurazioni non sono sostenibili e possono attivare troppi nuovi processi e aprire troppi descrittori di file.
A seconda delle applicazioni in esecuzione e delle caratteristiche del dispositivo, è possibile che si verifichino prestazioni non ottimali durante l'esecuzione di Defender per endpoint in Linux. In particolare, le applicazioni o i processi di sistema che accedono a molte risorse, ad esempio CPU, disco e memoria in un breve intervallo di tempo, possono causare problemi di prestazioni in Defender per endpoint in Linux.
Avviso
Prima di iniziare, assicurarsi che altri prodotti di sicurezza non siano attualmente in esecuzione nel dispositivo. Più prodotti di sicurezza possono essere in conflitto e influire sulle prestazioni dell'host.
Esistono tre modi diversi per risolvere i problemi relativi a processi e directory rumorosi usando gli strumenti di diagnostica di Microsoft Defender per endpoint in Linux:
- Uso delle statistiche di protezione in tempo reale
- Uso di origini eventi ad accesso frequente
- Uso delle statistiche eBPF
Risolvere i problemi di prestazioni usando statistiche di protezione in tempo reale
Si applica a:
- Solo problemi di prestazioni correlati all'antivirus
La protezione in tempo reale (RTP) è una funzionalità di Defender per endpoint in Linux che monitora e protegge continuamente il dispositivo dalle minacce. È costituito dal monitoraggio di file e processi e da altre euristiche.
I passaggi seguenti possono essere usati per risolvere e attenuare questi problemi:
Disabilitare la protezione in tempo reale usando uno dei metodi seguenti e osservare se le prestazioni migliorano. Questo approccio consente di limitare se Defender per endpoint in Linux contribuisce ai problemi di prestazioni. Se il dispositivo non è gestito dall'organizzazione, la protezione in tempo reale può essere disabilitata dalla riga di comando:
mdatp config real-time-protection --value disabled
Configuration property updated
Se l'organizzazione gestisce il dispositivo, l'amministratore può disabilitare la protezione in tempo reale usando le istruzioni in Impostare le preferenze per Defender per endpoint in Linux.
Nota
Se il problema di prestazioni persiste mentre la protezione in tempo reale è disattivata, l'origine del problema potrebbe essere anche il componente edr (endpoint detection and response). In questo caso, è necessario aggiungere esclusioni globali da Antivirus ed EDR. In questo caso, seguire la procedura descritta nella sezione Risolvere i problemi di prestazioni usando origini eventi ad accesso frequente.
Per trovare le applicazioni che attivano il maggior numero di analisi, è possibile usare le statistiche in tempo reale raccolte da Defender per endpoint in Linux.
Nota
Questa funzionalità è disponibile nella versione 100.90.70 o successiva.
Questa funzionalità è abilitata per impostazione predefinita nei
Dogfood
canali eInsiderFast
. Se si usa un canale di aggiornamento diverso, questa funzionalità può essere abilitata dalla riga di comando:mdatp config real-time-protection-statistics --value enabled
Questa funzionalità richiede l'abilitazione della protezione in tempo reale. Per controllare lo stato della protezione in tempo reale, eseguire il comando seguente:
mdatp health --field real_time_protection_enabled
Verificare che la
real_time_protection_enabled
voce siatrue
. In caso contrario, eseguire il comando seguente per abilitarlo:mdatp config real-time-protection --value enabled
Configuration property updated
Per raccogliere le statistiche correnti, eseguire:
mdatp diagnostic real-time-protection-statistics --output json
Nota
L'uso
--output json
di (si noti il doppio trattino) garantisce che il formato di output sia pronto per l'analisi.L'output di questo comando mostra tutti i processi e l'attività di analisi associata.
Digitare i comandi seguenti:
mdatp diagnostic real-time-protection-statistics --sort --top 4
L'output è un elenco dei primi quattro collaboratori ai problemi di prestazioni. Ad esempio, l'output del comando è simile al seguente:
===================================== Process id: 560 Name: NetworkManager Path: "/usr/sbin/NetworkManager" Total files scanned: 261 Scan time (ns): "3070788919" Status: Active ===================================== Process id: 1709561 Name: snapd Path: "/snap/snapd/23545/usr/lib/snapd/snapd" Total files scanned: 247 Scan time (ns): "19926516003" Status: Active ===================================== Process id: 596 Name: systemd-logind Path: "/usr/lib/systemd/systemd-logind" Total files scanned: 29 Scan time (ns): "716836547" Status: Active ===================================== Process id: 1977683 Name: cupsd Path: "/usr/sbin/cupsd" Total files scanned: 20 Scan time (ns): "985110892" Status: Active =====================================
Per migliorare le prestazioni di Defender per endpoint in Linux, individuare quello con il numero più alto sotto la
Total files scanned
riga e aggiungervi un'esclusione antivirus (valutare attentamente se è sicuro escludere). Per altre informazioni, vedere Configurare e convalidare le esclusioni per Defender per endpoint in Linux.Nota
L'applicazione archivia le statistiche in memoria e tiene traccia solo dell'attività dei file dall'avvio e la protezione in tempo reale è stata abilitata. I processi avviati prima o durante i periodi in cui la protezione in tempo reale era disattivata non vengono conteggiati. Vengono inoltre conteggiati solo gli eventi che hanno attivato le analisi.
Risolvere i problemi di prestazioni usando origini eventi ad accesso frequente
Si applica a:
- Problemi di prestazioni nei file e nei file eseguibili che utilizzano la maggior parte dei cicli della CPU nell'intero file system.
Le origini eventi ad accesso frequente sono una funzionalità che consente ai clienti di identificare il processo o la directory responsabile dell'utilizzo elevato delle risorse. Per analizzare il processo o l'eseguibile che genera più rumore, seguire questa procedura.
Nota
Questi comandi richiedono autorizzazioni radice. Assicurarsi che sudo possa essere usato.
Prima di tutto, controllare il livello di log nel computer.
mdatp health --field log_level
Se non è in corso il "debug", è necessario modificarlo per un report dettagliato relativo a file/eseguibili ad accesso frequente.
sudo mdatp log level set --level debug
Log level configured successfully
Per raccogliere le statistiche correnti (per i file),
sudo mdatp diagnostic hot-event-sources files
L'output è simile al seguente nella console (si tratta solo di un frammento di codice dell'intero output). In questo caso, la prima riga mostra il conteggio (frequenza di occorrenza) e la seconda mostra il percorso del file.
Total Events: 11179 Time: 12s. Throughput: 75.3333 events/sec.
=========== Top 684 Hot Event Sources ===========
count file path
2832 /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5
632 /mnt/RamDisk/postgres_data/base/635594/2601
619 /mnt/RamDisk/postgres_data/base/635597/2601
618 /mnt/RamDisk/postgres_data/base/635596/2601
618 /mnt/RamDisk/postgres_data/base/635595/2601
616 /mnt/RamDisk/postgres_data/base/635597/635610
615 /mnt/RamDisk/postgres_data/base/635596/635602
614 /mnt/RamDisk/postgres_data/base/635595/635606
514 /mnt/RamDisk/postgres_data/base/635594/635598_fsm
496 /mnt/RamDisk/postgres_data/base/635597/635610_fsm
Questo comando genera un report origine eventi hot salvato nella cartella locale che può essere ulteriormente analizzato. L'output è simile al seguente nel file json;
{
"startTime": "1729535104539160",
"endTime": "1729535117570766",
"totalEvent": "11373",
"eventSource": [
{
"authCount": "2832",
"csId": "",
"notifyCount": "0",
"path": "/mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5",
"pidCount": "1",
"teamId": ""
},
{
"authCount": "632",
"csId": "",
"notifyCount": "0",
"path": "/mnt/RamDisk/postgres_data/base/635594/2601",
"pidCount": "1",
"teamId": ""
}
]
}
Nell'esempio è possibile notare che il file /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5 genera la maggior parte delle attività. Inoltre, analogamente per i file eseguibili,
sudo mdatp diagnostic hot-event-sources executables
L'output è simile al seguente nella console.
Total Events: 47382 Time: 18s. Throughput: 157 events/sec.
=========== Top 23 Hot Event Sources ===========
count executable path
8216 /usr/lib/postgresql/12/bin/psql
5721 /usr/lib/postgresql/12/bin/postgres (deleted)
3557 /usr/bin/bash
378 /usr/bin/clamscan
88 /usr/bin/sudo
70 /usr/bin/dash
30 /usr/sbin/zabbix_agent2
10 /usr/bin/grep
8 /usr/bin/gawk
6 /opt/microsoft/mdatp/sbin/wdavdaemonclient
4 /usr/bin/sleep
Si tratta dell'output salvato nel report dell'origine eventi ad accesso frequente in json;
{
"startTime": "1729534260988396",
"endTime": "1729534280026883",
"totalEvent": "48165",
"eventSource": [
{
"authCount": "8126",
"csId": "",
"notifyCount": "0",
"path": "/usr/lib/postgresql/12/bin/psql",
"pidCount": "2487",
"teamId": ""
},
{
"authCount": "5127",
"csId": "",
"notifyCount": "0",
"path": "/usr/lib/postgresql/12/bin/postgres",
"pidCount": "2144",
"teamId": ""
}
]
}
In questo esempio, dopo 18s il comando mostra che i file eseguibili; /usr/lib/postgresql/12/bin/psql e /usr/lib/postgresql/12/bin/postgres generano la maggior parte dell'attività.
Dopo aver completato l'indagine, è possibile ripristinare il livello di log in "info".
sudo mdatp log level set --level info
Log level configured successfully
Per migliorare le prestazioni di Defender per endpoint in Linux, individuare il percorso con il numero più alto nella riga count e aggiungere un'esclusione di processo globale (se si tratta di un eseguibile) o un'esclusione globale di file/cartelle (se si tratta di un file) (valutare attentamente se è sicuro escludere). Per altre informazioni, vedere Configurare e convalidare le esclusioni per Defender per endpoint in Linux.
Risolvere i problemi di prestazioni usando le statistiche eBPF
Si applica a:
- Tutti gli eventi di elaborazione/file, inclusi i problemi di prestazioni basati sulle chiamate di sistema.
Il comando delle statistiche eBPF (filtro di pacchetti Berkeley esteso) fornisce informazioni dettagliate sull'evento/processo principale che genera la maggior parte degli eventi file, insieme ai relativi ID syscall. Quando vengono effettuate chiamate di sistema dal sistema, nel sistema viene generata una quantità elevata di carico di lavoro. Le statistiche eBPF possono essere usate per identificare tali problemi.
Per raccogliere le statistiche correnti usando le statistiche eBPF, eseguire:
mdatp diagnostic ebpf-statistics
L'output viene visualizzato direttamente nella console e sarà simile al seguente (si tratta solo di un frammento dell'intero output):
Top initiator paths:
/usr/lib/postgresql/12/bin/psql : 902
/usr/bin/clamscan : 349
/usr/sbin/zabbix_agent2 : 27
/usr/lib/postgresql/12/bin/postgres : 10
Top syscall ids:
80 : 9034
57 : 8932
60 : 8929
59 : 4942
112 : 4898
90 : 179
87 : 170
119 : 32
288 : 19
41 : 15
Questo comando monitora il sistema per 20 secondi e mostra i risultati. Qui il percorso dell'iniziatore superiore (postgresql/12/bin/psql) mostra il percorso del processo che ha generato la maggior parte delle chiamate di sistema.
Per migliorare le prestazioni di Defender per endpoint in Linux, individuare quello con il più alto count
nella Top initiator path
riga e aggiungervi un'esclusione del processo globale (valutare attentamente se è sicuro escluderlo). Per altre informazioni, vedere Configurare e convalidare le esclusioni per Defender per endpoint in Linux.
Configurare le esclusioni globali per migliorare le prestazioni
Configurare Microsoft Defender per endpoint in Linux con esclusioni per i processi o i percorsi del disco che contribuiscono ai problemi di prestazioni. Per ulteriori informazioni, vedere Configurare e convalidare le esclusioni per Microsoft Defender per endpoint su Linux. Se si verificano ancora problemi di prestazioni, contattare il supporto tecnico per ulteriori istruzioni e mitigazione.
Vedere anche
Consiglio
Per saperne di più, Engage con la community Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.