Rack PowerFlex: /var/log tiene problemas de espacio cuando la función de reenvío del registro del sistema está habilitada
Summary: En este artículo, se explica el problema en el espacio /var/log debido a que la rotación de registros no ocurre con la frecuencia suficiente.
Symptoms
La configuración actual de logrotate rota el archivo de mensajes una vez por semana, pero en los casos en que el reenvío del registro del sistema está habilitado en VxFlex Manager, es posible que no gire lo suficientemente rápido.
Hechos:
- La función de reenvío del registro del sistema está habilitada en VxFlex Manager.
- La partición /var/log se está llenando rápidamente.
- Esto puede variar considerablemente de un sistema a otro
- El registro del sistema remoto está habilitado en los dispositivos del sistema del rack o dispositivo integrado VxFlex y configurado para enviar eventos de registro del sistema a VxFlex Manager
Cause
El inventario de recursos falla para todos los recursos cuando el sistema de archivos /var/log está al 100 %.
Nota: Es posible que las advertencias o alertas críticas que se enumeran a continuación no funcionen si el espacio está demasiado lleno para realizar esas comprobaciones o si se está llenando demasiado rápido.
- La interfaz de usuario de VxFlex Manager muestra una advertencia si >el 75 %:
En la interfaz de usuario de VxFlex Manager, se muestra un error crítico si > el 95 %:
df -h muestra que /var/log tiene una capacidad utilizada muy alta y está creciendo rápidamente.
Resolution
Para corregir la rotación de registros en los dispositivos VxFlex Manager con el reenvío del registro del sistema habilitado, puede configurar logrotate, comprimir los registros existentes, cambiar los ajustes de rsyslog y reducir los niveles de registro de depuración mediante los siguientes pasos:
Paso 1: Acceda mediante SSH a VxFlex Manager y conviértase en usuario raíz: sudo su -
Paso 2: Edite las reglas de registro de rotación del registro del sistema (editor vi) asegurándose de que el siguiente texto exista en /etc/logrotate.d/syslog
/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { size 100M nodateext rotate 5 compress missingok copytruncate postrotate /bin/killall -s SIGHUP -r rsyslog endscript }
Paso 3: Ingrese el siguiente comando para verificar si la nueva configuración se guardó correctamente:
cat /etc/logrotate.d/syslog
Paso 4: Según la rapidez con la que se llena el espacio /var/log, elija una de las siguientes opciones:
Para los entornos que no llenan /var/log diariamente, pero necesitan una rotación más rápida que la semanal, cambie logrotate de weekly a daily mediante el siguiente comando:
cp /etc/cron.weekly/logrotate /etc/cron.daily/
Para los entornos que se llenan de /var/log más rápido de lo que puede admitir la rotación diaria, cambie logrotate de diario a por hora mediante el siguiente comando:
cp /etc/cron.daily/logrotate /etc/cron.hourly/
Paso 5: Comprima los archivos existentes y libere espacio mediante la ejecución del siguiente comando:
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Nota: Si el archivo /var/log/messages está tan lleno que no puede comprimirlo, utilice el siguiente comando para borrarlo:
cat /dev/null > /var/log/messages
Paso 6: Para verificar si la configuración de logrotate funciona correctamente, ejecute el siguiente comando:
logrotate -f /etc/logrotate.d/syslog
Paso 7: Para dejar de registrar eventos de syslog reenviados en el archivo /var/log/messages en el dispositivo VxFlex Manager, realice lo siguiente:
- Cree el archivo conf en /etc/rsyslog.d/ mediante este comando:
vi 21-stop-remote-host-syslog-logging.conf - Agregue la siguiente línea al archivo creado anteriormente:
if $fromhost-ip != '127.0.0.1' then ~ - Para guardar el archivo, escriba lo siguiente:
:wq! - Reinicie el servicio rsyslog:
systemctl restart rsyslog.service
Nota: 21 es el número de prioridad utilizado para rsyslog. Después de reiniciar, rsyslog no guardará los syslogs remotos entrantes en /var/log/messages. Los registros del sistema locales de VxFlex Manager aún se guardarán en /var/log/messages.
Nota: Incluso si el reenvío del registro del sistema no está habilitado en VxFlex Manager, los hosts pueden apuntar a VxFlex Manager, que puede enviar spam al archivo /var/log/messages. Configure el paso 7 si el archivo de mensajes se inunda, independientemente de si el registro del sistema de VxFlex Manager está activado o no.
Paso 8: Cambie el nivel de registro de depuración de logstash en el dispositivo VxFlex Manager mediante los siguientes pasos:
- Edite el nivel de registro mediante el siguiente comando:
vi /etc/logstash/logstash.yml - Busque Debugging Settings en el archivo
- Cambie el nivel de registro de info (predeterminado) a error

- Edite el siguiente archivo: vi /etc/logstash/log4j2.properties
- En la configuración predeterminada, hay una línea que comienza con rootLogger.appenderRef.console, comenta esta línea usando # como se muestra a continuación:
-
Reinicie el servicio logstash mediante la ejecución de lo siguiente: systemctl restart logstash
Paso 8: Reinicie el dispositivo VxFlex Manager si el sistema de archivos /var/log estaba completamente lleno. Esto garantiza que todos los servicios inicien el respaldo correctamente.
Nota: Envíe una alerta de prueba para asegurarse de que el conector de alertas funcione correctamente después de resolver los problemas de espacio y reiniciar el dispositivo.
Additional Information
- Se está trabajando en una corrección para detener el registro de mensajes de syslog en /var/log/messages para una versión futura de VxFlex Manager.
- Esto es relevante para cualquier versión de VxFlex Manager que tenga la función de reenvío del registro del sistema hasta la versión 3.4.0.4271 inclusive.