
🌐 También en: English · Deutsch · Français
dicen la verdad. Son ruidosos, a veces feos, pero absolutamente imprescindibles cuando algo sale mal.Hoy he instalado Graylog y Fluent Bit en mi servidor. No solo
porque trabajo con estas herramientas profesionalmente, sino también porque las voy a usar cada vez más, ya que mi homelab está pensado para
experimentar, aprender y mantener el cerebro ocupado.
Por qué importan los logs
El registro de logs es uno de los pilares más básicos de un sistema fiable. Las métricas te dicen
que algo va mal; los logs te dicen por qué. Centralizar los logs se vuelve crucial
en cuanto gestionas más de una sola máquina.
Fluent Bit, Graylog & Sidecar
Fluent Bit actúa como componente cliente en el servidor. Su trabajo es sencillo:
recoger los logs localmente y enviarlos a Graylog.
Graylog aporta la interfaz gráfica y el backend donde los logs se almacenan, procesan, buscan
y usan para las alertas. Puede recoger sin problemas mensajes de log de varios miles de
servidores y analizarlos de forma centralizada.
Sidecar es un servicio adicional que permite configurar de forma centralizada el
agente Fluent Bit directamente desde Graylog, lo que hace los despliegues y los cambios mucho más cómodos.
Ajuste de memoria y primeras lecciones aprendidas
A nivel funcional todo fue bastante bien, pero tuve que reducir considerablemente los requisitos
de RAM. Curiosamente, Graylog se lanzó de inmediato a por el swap, aunque el servidor
tiene un total de 32 GB de RAM disponibles.
Estos temas de memoria propios de Java todavía son nuevos para mí, así que tendré que profundizar
más en ellos. Para empezar, tener un dashboard de Grafana fue tremendamente
útil para vigilar en detalle el uso de CPU y RAM.
Para limitar el uso del heap, añadí la siguiente entrada en
/etc/graylog/datanode/datanode.conf:
opensearch_heap = 2gEjemplo de configuración de Fluent Bit
Esta es la configuración actual de Fluent Bit que corre en mi sistema Ubuntu/Debian. Recoge logs de varias fuentes locales (journal de systemd, syslog, logs de autenticación y logs del kernel) y lo reenvía todo a Graylog mediante la salida GELF por TCP.
Esta configuración funciona bien en un homelab y, aun así, se parece bastante a lo que usarías en producción.
############################################
# Fluent Bit – Ubuntu / Debian
############################################
[SERVICE]
Flush 30
Daemon Off
Log_Level info
storage.type memory
###################################################################
# INPUTS
###################################################################
# Systemd Journal (primary input source)
[INPUT]
Name systemd
Tag journal.*
Read_From_Tail On
# /var/log/syslog
[INPUT]
Name tail
Path /var/log/syslog
Tag syslog.*
DB /var/log/fluent-bit/db_syslog.db
Mem_Buf_Limit 5MB
Skip_Long_Lines On
# Authentication Logs
[INPUT]
Name tail
Path /var/log/auth.log
Tag auth.*
# Kernel Log
[INPUT]
Name tail
Path /var/log/kern.log
Tag kernel.*
###################################################################
# OUTPUT
###################################################################
[OUTPUT]
Name gelf
Match *
Host 192.168.10.x
Port 12201
Mode udp
Gelf_Short_Message_Key log
Gelf_Host_Key host
Con esta configuración, Fluent Bit envía de forma fiable todos los logs del sistema relevantes a Graylog,
donde se pueden indexar, buscar y usar para las alertas.
Reflexiones finales
El registro centralizado de logs es una herramienta potente, incluso (o sobre todo) en un homelab. Ayuda a desarrollar
intuición sobre los sistemas de producción y hace que buscar fallos sea mucho menos doloroso cuando, tarde o temprano,
algo se rompe.












