Donutwork Docs
Monitoraggio directory

Directory Monitor & Automazione Eventi

Monitora le attività sul filesystem, consulta i log eventi e attiva workflow su WriteFinished con ingest sicuro.

Directory Monitor

Il Directory Monitor di Donutwork è un modulo nativo di sicurezza + automazione che traccia le attività sui file nelle cartelle osservate e trasforma questi eventi in azioni automatiche.

È pensato per team che hanno bisogno di:

  1. Raccolta affidabile degli eventi filesystem
  2. Visibilità centralizzata degli eventi
  3. Trigger deterministici dei workflow

Architettura del Sistema

Il modulo è composto da quattro livelli connessi:

  1. Agente Locale (Rust): osserva le directory ed emette eventi normalizzati (Create, Delete, WriteFinished).
  2. API di Ingress Sicura: riceve i payload del monitor, valida l'autenticazione e deduplica tramite eventId.
  3. Event Store: persiste gli eventi con indici per ricerca operativa e forense.
  4. Workflow Dispatcher: pubblica trigger sia generici sia tipizzati per eseguire i workflow compatibili.

Compatibilità Retroattiva

I trigger generici restano supportati: DirectoryMonitor.{projectId}.notify. Puoi adottare gradualmente i trigger tipizzati come DirectoryMonitor.{projectId}.WriteFinished.notify.


Pipeline Eventi

Quando un file cambia, accade quanto segue:

  1. Il monitor invia un payload con metadati evento (filename, event, filesize, opzionali sha256, uid, pid, timestampUtc, eventId).
  2. L'ingress valida:
    • API key (Authorization: Bearer ...)
    • Token di progetto (X-Directory-Monitor-Token)
  3. L'evento viene salvato nella collection eventi del monitor.
  4. Vengono pubblicate due notifiche:
    • Generica: DirectoryMonitor.{projectId}.notify
    • Tipizzata: DirectoryMonitor.{projectId}.{event}.notify
  5. I workflow corrispondenti vengono messi in coda ed eseguiti tramite la pipeline async esistente.

Log e Osservabilità

Il Directory Monitor include una vista Log dedicata per progetto con:

  1. Filtri per:
    • Tipo evento
    • Path contiene
    • Stato
    • Intervallo date
  2. Lista paginata con:
    • Timestamp
    • Tipo evento
    • Percorso file
    • Dimensione file
    • Badge stato workflow (queued, workflow_triggered, workflow_failed)
  3. Link diretti alle trace dei workflow correlati.

Retention

Gli eventi sono salvati con indice TTL (default 90 giorni).


Modello di Trigger Workflow

Per automazioni ad alta precisione, usa i trigger tipizzati:

TriggerScopoEsempio
DirectoryMonitor.{projectId}.WriteFinished.notifyEsegue solo dopo la stabilizzazione della scritturaAvvio scansione malware a upload completato
DirectoryMonitor.{projectId}.Create.notifyReagisce alla creazione di oggettiTag/classificazione automatica di nuovi file
DirectoryMonitor.{projectId}.Delete.notifyRileva cancellazioniAlert su rimozioni inattese
DirectoryMonitor.{projectId}.notifyTrigger generico legacyCompatibilità con workflow esistenti

Controlli di Sicurezza

L'ingress del monitor è protetto da controlli a più livelli:

  1. Autenticazione API key aziendale
  2. Validazione token segreto a livello progetto
  3. Validazione payload sui campi obbligatori
  4. Deduplica idempotente tramite eventId univoco

Questo approccio garantisce isolamento tra progetti mantenendo il comportamento attuale del gateway API.


Pattern di Automazione Reali

Controlli di Compliance File

Su WriteFinished esegui workflow di validazione (policy hash, naming convention, controlli estensione).

Risposta di Sicurezza

Attiva scansione, quarantena e alert quando compaiono file sospetti nelle cartelle monitorate.

Automazione Business

Lancia pipeline di ingestione, enrichment e webhook automatici a partire da eventi filesystem.


Panoramica Funzionalità

Monitoraggio Ricorsivo

Osserva interi alberi directory e cattura comportamenti di create, modify e delete.

Gestione Stabilità Scrittura

`WriteFinished` viene emesso dopo la finestra di stabilizzazione per evitare file parziali.

Heartbeat e Startup

I monitor inviano segnali di avvio e attività, utili per visibilità operativa per progetto.

Metadata Evento Ricchi

Allega `sha256`, `uid` e `pid` (quando disponibili) per audit e investigazioni più solide.

Workflow Event-Driven

Collega direttamente gli eventi filesystem al motore workflow già presente in Donutwork.

On this page