Rsyslog too many open files

Bonjour à tous, aujourd’hui je voulais vous partager une erreur que j’ai rencontrée récemment avec une infra Splunk, plus exactement avec la couche de collecte Rsyslog (vous savez celle que je recommande dans mon podcast sur les 10 commandements du SIEM). Cette erreur qu’on a fini par identifier dans les journaux avec le message suivant « rsyslog too many open files » et plus précisément la ligne suivante :

May 06 05:47:13 myserver rsyslogd[6896]: file '/splunk-inputs/PROXY/myproxyhost/2022-05-06T03+02-PROD-PROXY.log': open error: Too many open files [v8.24.0-41.el7_7.2 try http://www.rsyslog.com/e/2433 ]

Le log d’erreur arrive dans /var/log/message à priori. Néanmoins, de mon côté on ne l’a vu que depuis la commande journalctl, quelques exemples qui m’ont permis de la mettre en avant :

journalctl --no-pager | tail -f
journalctl -u rsyslog
journalctl --no-pager > /tmp/rsyslogtmp.log

Par défaut, la limite pour rsyslog était à 1024 fichiers ouverts simultanément sur notre système. Pas bien clair sur le pourquoi car les limites systèmes (cf. fichier /etc/security/limits.conf) été bien à 64000 :

ulimit -Sn
64000

Pour autant notre processus rsyslog plafonné à 1024 fichiers. Ce qui causait une erreur bien zarb où on perdait 15min de log au début de chaque heure. Du coup, avec l’aide … Lire la suite

Rsyslog en duplication de log (sur Redhat)

Rsyslog en duplication de log

Bonjour à tous, aujourd’hui je vais vous montrer comment configurer un serveur Rsyslog en duplication de log, c’est une configuration qui est très très utile quand on bosse sur un SIEM. En effet, parfois les solutions (au hasard Broadcom SEP…) qui émettent du syslog ne permettent pas toujours d’envoyer les logs à plusieurs destinations. C’est gênant car en cas d’étude ou tout simplement changement de SIEM, on ne peut pas dupliquer les logs vers le nouveau système. Si c’est mal géré cela peut obliger à des bascules en mode big bang dans ce genre de situation, ce qui n’est pas pas idéal pour des reprises en douceur.

Mais ce problème peut être simplement adressé avec un petit serveur rsyslog devant le SIEM. En effet ce service possède nativement la fonctionnalité de reforwardé des logs. Du coup, un petit passage dans la doc de rsyslog et un nouveau serveur plus tard et pouf on a la procédure suivante :

Installer et configurer Rsyslog en duplication de log

yum install rsyslog

Puis configurer en éditant le fichier /etc/rsyslog.conf. Notez que vous avez un générateur de configuration automatique fourni directement sur le site du projet. Il faut admettre que la syntaxe n’est … Lire la suite