CSF - SYSLOG Check Failed Imprimer

  • 0

Si vous recevez les messages suivants de votre serveur cPanel, un bogue rsyslog en cours a mis à jour la configuration de telle manière qu'il a désactivé la journalisation locale:

  lfd sur host.domain.tld: échec de la vérification SYSLOG

  Time:  Sun Nov  1 03:25:28 2020 +0100
Error: Failed to detect code [9UfpULpI9n6kZOKhWLmJqRZDk7] in SYSLOG_LOG [/var/log/messages]

SYSLOG may not be running correctly on host.domain.tld

Tout d'abord, vous devez aller de l'avant et vérifier le journal actuel et les journaux tournés pour voir si le journal a peut-être tourné en même temps que la vérification:

  grep $code /var/log/messages
  zgrep $code /var/log/messages-*

L'exemple suivant montre que le code n'a pas du tout été enregistré:

  [root@host ~]# grep 9UfpULpI9n6kZOKhWLmJqRZDk7 /var/log/messages
  [root@host ~]# grep 9UfpULpI9n6kZOKhWLmJqRZDk7 /var/log/messages-20201
  messages-20201101  messages-20201031 
  [root@host ~]# grep 9UfpULpI9n6kZOKhWLmJqRZDk7 /var/log/messages-2020*
  [root@host ~]# 

Si le code avait été enregistré, vous voudriez vérifier l'iowait et le charger sur le serveur pour déterminer si le serveur fonctionne trop lentement pour avoir terminé la vérification dans les 5 minutes.

Ensuite, nous devons vérifier que le service rsyslog est en cours d'exécution car il n'écrit pas dans le fichier:

  [root@host ~]# /scripts/restartsrv_rsyslogd --check 
  The 'rsyslog' service passed the check: 
    rsyslog (/usr/sbin/rsyslogd -n) is running as root with PID 594 (systemd+/proc check method).
  [root@host ~]# ps auxf | grep rsyslog
  root     31446  0.0  0.0   9040   820 pts/0    S+   04:35   0:00          \_ grep --color=auto rsyslog
  root       594  0.0  0.0 356936  2464 ?        Ssl  Jun11   0:05 /usr/sbin/rsyslogd -n
  [root@host ~]# 

Il fonctionne selon les vérifications effectuées. Ensuite, nous devons vérifier si le PID du processus en cours correspond réellement au PID dans le fichier PID (cela se produit parfois lorsque cela est la cause de tels échecs, par exemple lorsque deux instances du même service sont en cours d'exécution):

  [root@host ~]# cat /var/run/syslogd.pid 
  594[root@host ~]# 

Le PID correspond. Maintenant, vérifions si nous pouvons forcer rsyslog à enregistrer un message pour nous:

  [root@host ~]# logger -p auth.notice "test123"
  [root@host ~]# grep "test123" /var/log/messages
  [root@host ~]# 

Il n'a pas réussi à écrire le message dans le journal pour nous. Vous devriez voir ceci à la place:

  [root@host support]# logger -p auth.notice "test123"
  [root@host support]# grep "test123" /var/log/messages
  Nov 01 10:40:30 host root: test123

Cela semble être le bogue qui provoque la désactivation / la mauvaise configuration de la journalisation locale. Vérifions la configuration pour confirmer:

  [root@host ~]# grep -i "OmitLocalLogging\|ModLoad imjournal\|IMJournalStateFile" /etc/rsyslog.conf
  $ModLoad imjournal # provides access to the systemd journal
  $OmitLocalLogging on
  $IMJournalStateFile imjournal.state
  [root@host ~]# 

La sortie le confirme. Maintenant, nous allons faire une sauvegarde du fichier de configuration, corriger les fichiers de configuration, puis redémarrer le service pour corriger ce problème:

  [root@host ~]# cp /etc/rsyslog.conf /etc/rsyslog.conf.bak 
  [root@host ~]# sed -i 's/OmitLocalLogging on/OmitLocalLogging off/' /etc/rsyslog.conf
  [root@host ~]# sed -i 's/$IMJournalStateFile imjournal.state/#$IMJournalStateFile imjournal.state/' 
    /etc/rsyslog.conf
  [root@host ~]# sed -i 's/$ModLoad imjournal/#$ModLoad imjournal/' /etc/rsyslog.conf
  [root@host ~]# /scripts/restartsrv_rsyslog
  Waiting for “rsyslog” to restart ………waiting for “rsyslog” to initialize ………finished.

  Service Status
	rsyslog (/usr/sbin/rsyslogd -n) is running as root with PID 31621 (systemd+/proc check method).

  Startup Log
	Nov 01 10:40:30 host systemd[1]: Starting System Logging Service...
	Nov 01 10:40:30 host rsyslogd[31621]:  
          [origin software="rsyslogd" swVersion="8.24.0-52.el7_8.2" x-pid="32183" x- 
 info="http://www.rsyslog.com"] start
	Nov 01 10:40:30 host systemd[1]: Started System Logging Service.

  rsyslog restarted successfully.
  [root@host ~]# systemctl restart systemd-journald
  [root@host ~]# 

Maintenant, recommencez le test. Vous devriez maintenant voir votre message de journalisation de test:

  [root@host ~]# logger -p auth.notice "testing123" && grep testing /var/log/messages
  Nov 01 10:40:30 host root: testing123
  [root@host ~]# 

Vous pouvez voir maintenant que le code a bien été détecté correctement. :)


Cette réponse était-elle pertinente?

« Retour