Cómo instalar Syslog/Rsyslog en Docker - Servidor de logs centralizado en Docker en Raspberry Pi
Syslog/Rsyslog: Servidor de logs centralizado en Docker en Raspberry Pi
Recopila logs de múltiples dispositivos en un único servidor. Routers, servidores, contenedores. Protocolo syslog estándar. UDP/TCP en puerto 514. Ligero. Perfecto para Raspberry Pi.
¿Qué es Syslog/Rsyslog?
Syslog es un protocolo estándar para recopilar y gestionar logs (registros) del sistema desde múltiples dispositivos en un servidor central. Rsyslog es la implementación moderna de syslog. Imagina: tienes routers, servidores, computadoras, NAS, y contenedores Docker dispersos en tu red. Sin syslog, debes SSH en cada máquina para revisar logs. Con syslog centralizado, todos los logs llegan a un único servidor (tu Raspberry Pi).
¿Por qué en Raspberry Pi? Rsyslog es ultra-ligero. Consume mínimos recursos. Tu Raspberry Pi puede actuar como colector central de logs para toda tu red sin problema. Es perfecto para homelabs, pequeñas empresas, o cualquier ambiente con múltiples máquinas.
Características: Protocolo UDP/TCP en puerto 514. Organiza logs por IP del dispositivo. Soporte para diferentes dispositivos sin cambiar configuración. Plantillas rsyslog customizables. Filtrado por severity level. Rotación de logs automática. Gratuito, open source.
Características principales
Servidor central
Recopila logs de múltiples dispositivos en un único lugar.
UDP/TCP
Protocolo syslog estándar en puerto 514. Amplio soporte.
Organización por IP
Logs organizados automáticamente por IP del dispositivo origen.
Filtrado por severity
Separa logs críticos de información. Prioriza lo importante.
Plantillas customizables
Rsyslog permite lógica compleja para procesar/enrutar logs.
Rotación automática
Archiva logs antiguos. Evita llenar el disco.
ARM compatible
Funciona en Raspberry Pi. Imagen Docker Alpine optimizada.
Lightweight
Consume mínimos recursos. Perfecto para Raspberry Pi.
Requisitos del sistema
- Raspberry Pi (cualquier modelo: Pi 3, 4, 5, Zero, etc)
- Docker instalado en Raspberry Pi
- 256 MB - 512 MB RAM (muy ligero)
- 1-5 GB espacio disco (depende de volumen logs)
- Puerto 514 (UDP/TCP)
- Docker Compose (opcional pero recomendado)
Instalación en Raspberry Pi
Paso 1: Crear estructura de carpetas
Paso 2: Crear archivo rsyslog.conf
Paso 3: Crear Dockerfile para ARM
Paso 4: Crear docker-compose.yml
Paso 5: Iniciar servidor syslog
Configurar dispositivos clientes para enviar logs
Opción 1: Contenedor Docker
En tu docker-compose.yml de otros contenedores:
Opción 2: Linux/Raspberry Pi (en otro Pi)
Edita /etc/rsyslog.conf:
Luego reinicia rsyslog:
Opción 3: Router/Dispositivo de red
Depende del dispositivo. Generalmente en Settings → System Logs → Syslog Server:
Primeros pasos y verificación
1. Verificar que el servidor escucha
2. Enviar un mensaje de prueba
3. Revisar logs recibidos
4. Monitorear logs en vivo
5. Configurar rotación de logs
Crea archivo logrotate en Raspberry Pi:
Casos de uso
- Homlab: Centraliza logs de 10+ contenedores Docker en tu Raspberry Pi.
- Pequeña empresa: Recopila logs de servidores, routers, equipos de oficina.
- NAS + Raspberry Pi: Envía logs del NAS a syslog central en Pi.
- Network devices: Router, switch, AP WiFi envían logs al servidor central.
- Troubleshooting: Centraliza logs para debugging cuando algo falla en red.
- Auditoría: Guarda histórico de todos los eventos de todos los dispositivos.
Gestión y mantenimiento
Ver logs del servidor syslog
Reiniciar servidor
Actualizar configuración sin restart
Backup de logs
Limpiar logs antiguos (30 días)
Ver estadísticas de consumo
Troubleshooting común
Los logs no llegan al servidor
- Verifica puerto 514 está abierto:
netstat -ultn | grep 514 - Verifica firewall en Raspberry Pi:
sudo ufw allow 514 - Verifica cliente intenta conectar:
logger -n 192.168.1.X -P 514 "test" - Revisa logs del container:
docker logs rsyslog-server
Disk lleno por logs
- Reduce tiempo de rotación en logrotate (diario → horario)
- Filtra logs verbosos en rsyslog.conf (ej: ignorar ciertas apps)
- Aumenta compresión de logs antiguos
Container no inicia
Permisos denegados en /var/log
Comparativa con alternativas
vs Loki (Grafana)
Syslog gana: Más simple, estándar, bajo overhead. Loki gana: UI gráfico, integración Grafana.
vs ELK (Elasticsearch)
Syslog gana: Ultra-ligero, Raspberry Pi lo soporta. ELK gana: Más potente, búsqueda avanzada.
vs Semalog
Syslog gana: Open source, sin dependencias. Semalog gana: Más features modernas.
Comentarios
Publicar un comentario
Comenta...