Bonjour,
J'ai mis en place un serveur Syslog dans mon entreprise afin de centraliser tous les logs d'une 12aine équipements réseaux (pare-feux, commutateurs, sans-fil...).
Pour ce faire, j'utilise Syslog-ng qui est déjà intégré aux NAS Synology et une base de données MySQL pour l'archivage. Si ça en intéresse certains, je pourrais faire un tuto sur les modifications à apporter à syslog-ng.conf. C'est vraiment simple et il n'y a pas besoin d'avoir "bootstrapé" son NAS .
En utilisant des expressions régulières pour filtrer les messages, je me suis rendu compte que Syslog-ng n'accepte pas les parenthèses non-capturantes"(?:regexp)", ni les références arrières, ni tout ce qui commence par "(?". Il me retourne un message d'erreur "Invalid preceding regular expression". Cette erreur vient du fait que le moteur regexp utilisé par Syslog-ng est POSIX ERE.
Il est possible cependant de forcer le type de moteur regexp à utiliser dans un filtre : type("PCRE"), mais l'application de cette dernière échoue au démarrage avec le message "Unsupported matcher type, falling back to POSIX regexp". Un coup de /sbin/syslog-ng -V indique que l'option PCRE n'a pas été activée lors de la compilation de Syslog-ng.
Comment faire en sorte que Syslog-ng utilise PCRE ?
Dois-je recompiler Syslog-ng ? Y a-t-il une autre solution ?
Merci d'avance