Dozzle: Il Visualizzatore di Log Docker in Tempo Reale Leggero e Potente
Dozzle è uno strumento open-source utilizzato per monitorare i log dei container Docker in modo semplice ed intuitivo tramite un’interfaccia web.
Quando si gestiscono container Docker su un server, dover usare docker compose logs -f per ogni container può essere un processo lungo, specialmente quando ne avete tanti in esecuzione.
Dozzle risolve questo problema offrendo un dashboard realtime, leggero (l’immagine Docker è solo circa 7 MB compressi) e sicuro, che permette di visualizzare i log di tutti i container in un unico posto.
Dozzle è self-hosted, quindi i vostri log rimangono privati sulla vostra infrastruttura.
Principali Caratteristiche di Dozzle Link to heading
- Streaming in tempo reale: i log dei container vengono visualizzati live senza necessità di refresh manuali.
- Ricerca e filtri avanzati: supporta ricerche full-text per identificare rapidamente errori, warning o stringhe specifiche.
- Visualizzazione multi-container: possibilità di monitorare log di più container contemporaneamente in modalità split-screen.
- Accesso shell opzionale: permette di collegarsi alla shell di un container direttamente dal browser.
- Azioni sui container: start, stop e restart dei container dall’interfaccia.
- Supporto multi-host: monitoraggio sicuro di host remoti tramite agenti dedicati.
- Analisi SQL: query SQL sui log direttamente nel browser grazie a DuckDB in WebAssembly.
- Sicurezza: supporto per autenticazione tramite reverse proxy (basic auth, OAuth) e agenti sicuri per connessioni remote.
Installazione e Configurazione Passo per Passo Link to heading
La procedura di installazione e utilizzo su un ambiente Docker locale è illustrata qui. Il metodo di deployment più semplice è Docker Compose. Ecco un file di esempio docker-compose.yml:
services:
dozzle:
container_name: dozzle
image: amir20/dozzle:v8
ports:
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Avviare con:
docker compose up -d
Dozzle diventa accessibile all’indirizzo http://localhost:8080.
Se lo si installa su un server, è consigliato proteggere l’accesso con un reverse proxy (come Nginx o Traefik) e autenticazione.
Ho pubblicato un esempio completo su un mio repository GitHub dove ho configurato Dozzle con la sua autenticazione nativa, tutti i comandi abilitati e un container applicativo per testarne il funzionamento.
I Prossimi Passi Link to heading
Dozzle si integra facilmente in stack Docker più complessi per un monitoraggio avanzato.
- Protezione con Reverse Proxy: utilizzare Traefik o Nginx per esporre Dozzle su un dominio con HTTPS (Let’s Encrypt) e aggiungere autenticazione (basic auth, OAuth2 con Authelia o Authentik).
- Monitoraggio Multi-Host: deploy di agenti Dozzle su host remoti per un dashboard centralizzato che aggrega log da più server Docker.
- Integrazione in Stack Esistenti: aggiungere Dozzle a composizioni con Portainer, Watchtower o Homarr per un pannello di controllo completo.
- Ambienti Cluster: deployment nativo in Docker Swarm o Kubernetes per scalabilità.
Queste integrazioni rendono Dozzle parte di un ecosistema di gestione container robusto e sicuro.
Conclusioni Link to heading
Dozzle trova utilizzo principale nel monitoraggio locale e remoto di log Docker, nel debugging rapido di applicazioni containerizzate e nell’analisi realtime in ambienti di sviluppo e produzione leggera.
Benefici principali:
- Leggerezza e prestazioni elevate.
- Interfaccia intuitiva con funzionalità avanzate come ricerca e split-view.
- Privacy totale essendo self-hosted.
- Compatibilità ampia con Docker, Swarm, Kubernetes e Podman.
Limitazioni:
- Non ideale per log su scala enterprise molto elevata (mancano feature di retention lunga o alerting avanzato).
- Dipendenza dal socket Docker per accesso locale, o agenti per remoto.
- Funzionalità opzionali (shell, azioni) richiedono configurazione attenta per sicurezza.