Cómo instalar Netdata en Docker - Monitoreo real-time autohospedado en Docker
Netdata: Monitoreo real-time per-segundo autohospedado en Docker con cero configuración (alternativa Prometheus+Grafana)
Monitoreo real-time per-segundo. Auto-detección cero config. Detección ML anomalías. 400+ alertas pre-configuradas. Docker containers auto-descubiertos. 1-3% CPU, 100-300MB RAM ultra-ligero. eBPF, systemd-journal, funciones navegador. Netdata Cloud opcional. AGPL-3.0 open source.
¿Qué es Netdata?
Netdata es una plataforma de monitoreo real-time de infraestructura diseñada para capturar miles de métricas por segundo con auto-detección total y cero configuración, reemplazando completamente pilas como Prometheus+Grafana+Alertmanager por un único agente inteligente. Es la opción definitiva para homelabs que quieren visibilidad total sin engineering overhead.
Propuesta clave: Métricas per-segundo (no 15-60 segundos como otros). Auto-detección total (servicios, containers, aplicaciones). Cero configuración (install y listo). 400+ alertas pre-configuradas. ML anomaly detection (18 k-means models por métrica). Dashboard automático interactivo. Browser-based troubleshooting (reemplaza SSH). Integración container auto (labels, Docker socket). eBPF para network tracing. Systemd-journal y logs sin centralizados. Time-series database dbengine (comprime weeks en GB). Escalable multi-host (parent/child streaming). Netdata Cloud opcional (observabilidad centralizada). API REST completa. Exporters (Prometheus, JSON, etc). 1-3% CPU, 100-300MB RAM ultra-ligero.
Características principales: Métricas per-segundo (1000+ por segundo). Auto-detección (servicios, containers, apps, logs, APIs, synthetic checks). Zero-config (install y funciona). Pre-built dashboards (sin Grafana). 400+ alertas (Slack, PagerDuty, Teams, email, webhooks). ML anomaly detection (no config, 99% false positive reduction). Per-container metrics (CPU/RAM/network/disk). Per-process monitoring (top replacement). Browser-based functions (shell, netstat, logs, sin SSH). Systemd-journal integration (log correlation). eBPF collectors (network, syscall tracing). Custom metrics (StatsD, OpenMetrics). Parent/child streaming architecture (multi-host). Netdata Cloud integration (optional). Metrics exporting (Prometheus, JSON, etc). Custom alerts (Bash scripts). dbengine tiered storage (3 tiers: second/minute/hour). Health checks auto. Reverse proxy support (Caddy). API v1 + v2 (REST). Multiarch (amd64, armv7, arm64, Raspberry Pi). AGPL-3.0 open source. 80K+ GitHub stars.
Características principales
Métricas per-segundo real-time
1000+ metrics/seg. Vs 15-60 seg otros tools. Granularidad máxima.
Auto-detección total cero config
Servicios, containers, apps. Install y funciona. Listo.
400+ alertas pre-configuradas
CPU, RAM, disk, network. Thresholds inteligentes. Listas usar.
ML anomaly detection
18 k-means models por métrica. 99% false positive reduction.
Auto-generated dashboards
Gráficos interactivos automáticos. Sin Grafana. Scroll, zoom.
Browser-based troubleshooting
Shell, netstat, systemd, container logs. Reemplaza SSH.
Per-container monitoring
Auto-descubre todos containers. CPU, RAM, network, disk. Instant.
eBPF collectors
Network tracing, syscall, file I/O. Profundidad kernel.
Systemd-journal integration
Logs correlacionados con métricas. Sin pipelines centralizadas.
Multi-host streaming
Parent/child architecture. Agregación centralizada. Escalable.
Netdata Cloud (opcional)
Observabilidad centralizada SaaS. Zero data egress. Metadata only.
Ultra-ligero 1-3% CPU
100-300MB RAM. Comprime weeks en GB. dbengine. Eficiente.
Requisitos del sistema
- Docker & Docker Socket (/var/run/docker.sock accesible)
- 200 MB - 500 MB RAM mínimo (típicamente 100-300MB)
- 1-5 GB espacio disco (depende retention policy, default 14 días per-second)
- Puerto 19999 (configurable)
- Capacidades Linux (SYS_PTRACE, SYS_ADMIN para eBPF)
- Host filesystem mounts (para monitoreo sistema: /proc, /sys, /etc, /var/log)
- Volúmenes persistentes (/etc/netdata, /var/lib/netdata, /var/cache/netdata)
- Navegador moderno (Chrome, Firefox, Safari, Edge)
- Opcional: Netdata Cloud account (para multi-host centralizado)
Instalación con Docker Compose
Opción 1: Docker Compose básico (recomendado)
Opción 2: Con Netdata Cloud (centralizado)
Acceder (inicio)
http://localhost:19999 - Dashboard Netdata (métricas real-time)
Primer setup (30 segundos)
- Abre
http://localhost:19999 - ¡Listo! Dashboard aparece con métricas en vivo
- Scroll hacia abajo para ver: CPU, RAM, Disk, Network, Containers, Processes
- Cada métrica actualiza cada segundo
- Cero configuración necesaria
Primeros pasos
1. Explorar dashboard principal
- Abre
http://localhost:19999 - Verás: System Overview (CPU, RAM, Load, Uptime)
- Scroll abajo: CPU cores, interrupts, RAM usage, Disk, Network
- Cada chart actualiza cada segundo
2. Ver Docker containers monitoreados
- Dashboard → "Containers" sección
- Todos tus containers aparecen listados
- Per-container: CPU, RAM, network bytes, disk I/O
- Auto-detecta cualquier container nuevo en 1 segundo
3. Monitoreo procesos (reemplaza 'top')
- Dashboard → "Processes" sección
- Procesos orderados por CPU/RAM
- Click proceso → detalles (tiempo syscall, network connections)
- Histórico completo disponible
4. Alertas pre-configuradas
- Settings → Alerts (engranaje)
- 400+ alertas pre-configuradas (CPU >80%, RAM >80%, Disk full, etc)
- Cada alerta: threshold, duration, severity
- Integraciones: Slack, PagerDuty, Teams, email, webhooks
5. Anomaly Advisor (IA detección)
- Dashboard → "Anomalies" tab (si habilitado)
- ML correlaciona miles de métricas
- Identifica root cause automático
- Sin config, sin training data manual
6. Browser-based troubleshooting (reemplaza SSH)
- Dashboard → "Functions" (herramientas)
- Disponible: shell interactivo, netstat, systemd journal, container logs
- Ejecuta comandos sin SSH (seguro, auditado)
- Con histórico y ML anomaly detection
7. Ver container logs correlacionados
- Dashboard → Container específico → "Logs"
- Systemd-journal automático
- Correlaciona con spikes métricas (click spike → logs ese momento)
8. Cambiar tiempo de retención (storage)
- Docker exec bash en Netdata container
- Edit /etc/netdata/netdata.conf → [db] section
- storage tiers = 3 (second, minute, hour)
- dbengine multihost disk space MB = 1024 (etc)
9. Integrar con Netdata Cloud (multi-host)
- Crea cuenta app.netdata.cloud (free tier)
- Obtén claim token + room ID
- En docker-compose.yml: NETDATA_CLAIM_TOKEN + NETDATA_CLAIM_URL
- docker compose up -d
- Netdata aparece en Cloud dashboard centralizado
10. Exportar métricas (Prometheus, etc)
11. Listar todos charts/métricas
12. Cambiar frecuencia recolección (si quieres reducir CPU)
Casos de uso
- Homelabs: Monitoreo completo sin engineering overhead. Una herramienta reemplaza stack entero.
- DevOps/SREs: Real-time troubleshooting. Browser-based debugging sin SSH. Root cause analysis automático.
- Multi-host infrastructure: Netdata Cloud centraliza múltiples agentes. Parent/child streaming. Escalable.
- Container orchestration: Kubernetes, Docker Swarm. Per-pod/per-container métrics. Auto-discovery.
- Reemplazo Prometheus+Grafana: Zero-config. Alertas pre-built. No PromQL. ML anomaly detection. Costo 90% menor.
- Monitoring edge/IoT: Raspberry Pi compatible. Lightweight. Log inference sin indexing central.
HTTPS con Caddy (producción)
Caddyfile
Acceso remoto seguro
https://monitor.tudominio.com con HTTPS automático
IMPORTANTE: Proteger acceso
Netdata no incluye auth por defecto. Para exposición remota: usar Caddy basic_auth o reverse proxy con autenticación.
Gestión y mantenimiento
Ver logs
Backup de config
Restore config
Reiniciar container
Actualizar a versión más reciente
Monitorear consumo Netdata
Ver tamaño database (metrics)
Configurar alertas Slack (ejemplo)
Comparativa con alternativas
vs Prometheus + Grafana + Alertmanager
Netdata gana: Cero configuración, alertas pre-built, ML integrado, 99% menos complejidad. Prometheus gana: Query language potente (PromQL), más flexible para cases complejos.
vs Telegraf + InfluxDB + Grafana
Netdata gana: Todo integrado, 1-3% CPU, cero setup. Stack gana: Altamente customizable, separación componentes.
vs DataDog / New Relic (SaaS)
Netdata gana: Self-hosted, datos en tu infraestructura, costo 90% menor, zero data egress. SaaS gana: Support, enterprise features.
vs Zabbix
Netdata gana: Cero config, ML, modern UI, real-time. Zabbix gana: Enterprise maturity, más extensible.
Comentarios
Publicar un comentario