Rack PowerFlex : Problèmes d’espace /var/log lorsque la fonction de transfert syslog est activée
Summary: Cet article explique le problème dans l’espace /var/log dû au fait que la rotation des logs ne se produit pas assez fréquemment.
Symptoms
La configuration logrotate actuelle alterne le fichier de messages une fois par semaine, mais dans les cas où le transfert syslog est activé dans VxFlex Manager, il peut ne pas être assez rapide.
Informations :
- La fonctionnalité de transfert syslog est activée dans VxFlex Manager.
- La partition /var/log se remplit rapidement.
- Cela peut varier considérablement d’un système à l’autre
- Le journal syslog distant est activé sur les appareils du système de rack ou d’appliance intégré VxFlex et configuré pour envoyer des événements syslog à VxFlex Manager
Cause
L’inventaire des ressources échoue pour toutes les ressources lorsque le système de fichiers /var/log est à 100 %.
Remarque : Les avertissements ou les alertes critiques répertoriés ci-dessous peuvent ne pas fonctionner si l’espace est trop occupé pour effectuer ces vérifications ou s’il se remplit trop rapidement.
- L’interface utilisateur de VxFlex Manager affiche un avertissement dans >75 % des conditions suivantes :
L’interface utilisateur de VxFlex Manager affiche une valeur critique dans > 95 % des cas suivants :
Le df -h indique que /var/log a une capacité utilisée très élevée et qu’il augmente rapidement.
Resolution
Pour corriger la rotation des logs sur les appliances VxFlex Manager avec le transfert syslog activé, vous pouvez configurer logrotate, compresser les logs existants, modifier les paramètres rsyslog et abaisser les niveaux de log de débogage en procédant comme suit :
Étape 1 : Connectez-vous à VxFlex Manager via SSH et devenez l’utilisateur root : sudo su -
Étape 2 : Modifiez (éditeur vi) les règles de rotation des journaux syslog en vous assurant que le texte suivant existe dans /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 }
Étape 3 : Saisissez la commande suivante pour vérifier si la nouvelle configuration est correctement enregistrée :
cat /etc/logrotate.d/syslog
Étape 4 : En fonction de la vitesse à laquelle l’espace /var/log se remplit, choisissez l’une des options suivantes :
Pour les environnements qui ne remplissent pas /var/log tous les jours, mais qui ont besoin d’une rotation plus rapide qu’une fois par semaine, modifiez logrotate de hebdomadaire à quotidien à l’aide de la commande suivante :
cp /etc/cron.weekly/logrotate /etc/cron.daily/
Pour les environnements qui remplissent /var/log plus rapidement que la rotation quotidienne ne peut le supporter, modifiez logrotate de quotidien à horaire à l’aide de la commande suivante :
cp /etc/cron.daily/logrotate /etc/cron.hourly/
Étape 5 : Compressez les fichiers existants et libérez de l’espace en exécutant la commande suivante :
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Remarque : Si le fichier /var/log/messages est si plein que vous ne pouvez pas le compresser, utilisez la commande suivante pour l’effacer :
cat /dev/null > /var/log/messages
Étape 6 : Pour vérifier si la configuration logrotate fonctionne correctement, exécutez la commande suivante :
logrotate -f /etc/logrotate.d/syslog
Étape 7 : Pour arrêter la consignation des événements syslog transférés dans le fichier /var/log/messages sur l’appliance VxFlex Manager, procédez comme suit :
- Créez le fichier conf sous /etc/rsyslog.d/ à l’aide de cette commande :
vi 21-stop-remote-host-syslog-logging.conf - Ajoutez la ligne suivante au fichier nouvellement créé ci-dessus :
if $fromhost-ip != '127.0.0.1' then ~ - Enregistrez le fichier en saisissant la commande suivante :
:wq! - Redémarrez le service rsyslog :
systemctl restart rsyslog.service
Remarque : 21 est le numéro de priorité utilisé pour rsyslog. Après le redémarrage, rsyslog n’enregistre pas les journaux syslog distants entrants dans /var/log/messages. Les syslogs locaux de VxFlex Manager seront toujours enregistrés dans /var/log/messages.
Remarque : Même si le transfert syslog n’est pas activé sur VxFlex Manager, les hôtes peuvent être dirigés vers VxFlex Manager, qui peut spammer le fichier /var/log/messages. Configurez l’étape 7 si le fichier de messages est submergé, que le syslog VxFlex Manager soit activé ou non.
Étape 8 : Modifiez le niveau de consignation de débogage de logstash dans l’appliance VxFlex Manager en procédant comme suit :
- Modifiez le niveau de consignation à l’aide de la commande suivante :
vi /etc/logstash/logstash.yml - Recherchez les paramètres de débogage dans le fichier
- Modifiez le niveau de journalisation d’info (par défaut) à error

- Modifiez le fichier suivant : vi /etc/logstash/log4j2.properties
- Dans la configuration par défaut, il y a une ligne qui commence par rootLogger.appenderRef.console, commentez cette ligne en utilisant # comme ci-dessous :
-
Redémarrez le service logstash en exécutant la commande suivante : systemctl restart logstash
Étape 8 : Redémarrez l’appliance VxFlex Manager si le système de fichiers /var/log était plein à 100 %. Cela garantit que tous les services démarrent correctement la sauvegarde.
Note: Envoyez une alerte de test pour vous assurer que le connecteur d’alerte fonctionne correctement après la résolution des problèmes d’espace et le redémarrage de l’appliance.
Additional Information
- Un correctif permettant d’arrêter la journalisation des messages syslog dans /var/log/messages est en cours d’application dans une prochaine version de VxFlex Manager.
- Cela s’applique à toutes les versions de VxFlex Manager disposant de la fonctionnalité de transfert syslog jusqu’à la version 3.4.0.4271 incluse.