¿Tus servidores IBM Power sufren por archivos de registro desbordados? La rotación de registros con rsyslog es la solución para mantener el rendimiento y evitar caídas por falta de espacio. En este artículo, te explicamos cómo implementarla para hosts específicos.
¿Por qué usar rsyslog para gestión de registros?
rsyslog es un sistema de registro flexible que permite enrutar, filtrar y almacenar mensajes de manera eficiente. En IBM Power Systems, su capacidad para separar registros por host evita la acumulación caótica de logs, facilitando el monitoreo y el análisis de errores.
Paso 1: Configuración básica de rsyslog
El archivo principal de configuración es /etc/rsyslog.conf
. Aquí definiremos:
- Módulos de entrada (UDP/TCP): Para recibir registros desde clientes remotos.
- Módulos de salida (omfile): Para almacenar logs en archivos específicos.
# Habilitar protocolos UDP y TCP $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 5514
Paso 2: Filtrado de registros por Host
Usa condicionales para redirigir logs a archivos dedicados. Ejemplo para un host llamado “hostA”:
if $msg contains "hostA" then { action(type="omfile" file="/var/log/hostA.log") $outchannel log_rotation,/var/log/hostA.log,15360,/.hostA_log_rotate *.* :omfile:/var/log/hostA.log stop }
Este bloque:
- Crea un archivo
hostA.log
para registros del host. - Define un
$outchannel
para rotar el archivo cuando alcance 15 KB. - Ejecuta el script
/.hostA_log_rotate
para renombrar el archivo antiguo.
Paso 3: Script de rotación de registros
Crea un script simple para mover el archivo de registro lleno:
#!/bin/sh mv -f /var/log/hostA.log /var/log/hostA.log.$(date +%Y%m%d)
Asegúrate de dar permisos de ejecución:
chmod +x /.hostA_log_rotate
Paso 4: Consideraciones clave para IBM Power
- Permisos: El script de rotación debe ser accesible por el usuario bajo el que corre rsyslog (generalmente
root
). - Rutas de Archivos: Verifica las convenciones de IBM AIX para ubicaciones de logs (ej:
/var/adm/ras/
). - Reinicio del Servicio: Aplica cambios con:
refresh -s rsyslogd
Consejos #ATopeDePower
Para múltiples hosts, replica el bloque condicional con nombres únicos:
if $msg contains "hostB" then { action(type="omfile" file="/var/log/hostB.log") $outchannel log_rotation,/var/log/hostB.log,15360,/.hostB_log_rotate *.* :omfile:/var/log/hostB.log stop }
Problemas comunes
- Archivos no se Rotan: Verifica que la línea
*.* :omfile:/var/log/hostA.log
exista después de$outchannel
. Sin ella, rsyslog no recrea el archivo. - Versiones de rsyslog: La directiva
$outchannel
puede variar en versiones posteriores a 8.22.12.0. Consulta la documentación oficial si actualizas.
Conclusión
Configurar rsyslog para hosts específicos en IBM Power Systems no solo optimiza el almacenamiento, sino que también simplifica la auditoría y resolución de problemas. Con esta guía, podrás mantener tus registros organizados y tu sistema funcionando sin interrupciones.