Filtra eventi watchdog con USN journal
This commit is contained in:
@@ -320,9 +320,11 @@ unchanged_checks_required: 2
|
||||
Quando si monitora una directory molto ampia, ad esempio un'intera unita' `D:\`, la semplice navigazione con Explorer o altri programmi puo' generare eventi `modified` non rilevanti. Per ridurre questi falsi positivi senza costruire una baseline completa del disco, il servizio deve applicare una strategia pigra:
|
||||
|
||||
- non deve scansionare all'avvio tutti i file gia' presenti;
|
||||
- un evento `modified` viene registrato solo se il timestamp di modifica del file e' recente rispetto all'evento;
|
||||
- se esiste gia' uno snapshot locale per quel file, l'evento viene registrato solo se dimensione o timestamp risultano diversi dallo snapshot conosciuto;
|
||||
- i file gia' presenti nel disco entrano quindi in coda solo quando vengono realmente salvati/modificati, non quando vengono solo navigati.
|
||||
- watchdog intercetta gli eventi file ma non li considera automaticamente validi;
|
||||
- per eventi `created`, `modified` e `moved`, il servizio consulta il journal USN NTFS;
|
||||
- entrano in coda solo eventi con reason USN di contenuto reale o creazione/rinomina utile, ad esempio `DATA_OVERWRITE`, `DATA_EXTEND`, `DATA_TRUNCATION`, `FILE_CREATE`, `RENAME_NEW_NAME`;
|
||||
- eventi di soli metadati, chiusura handle, indicizzazione, security o basic info devono essere ignorati;
|
||||
- se USN non e' disponibile su un volume, il servizio deve fare fallback conservativo e registrare un warning nei log.
|
||||
|
||||
## Configurazione
|
||||
|
||||
|
||||
Reference in New Issue
Block a user