Outils pour utilisateurs

Outils du site


sysadmin:linux:rsyslog:templates_et_regex

Rsyslog: Définir un template exploitant les regex

Le système de template proposé par rsyslog permet de reformater les messages. A l'aide des regex on peut sélectionner des parties très précises au sein des properties (attributs) du message et ainsi complètement reformater l'entrée avant de la journaliser localement ou de la transférer (à une base elasticsearch par exemple).

On accède aux properties depuis le template

  1. Construire et déboguer la regex
  2. Utiliser https://www.rsyslog.com/regex/ pour vérifier son exécution correcte par rsyslog
  3. Intégrer la regex au template

Ci dessous un exemple de template de type liste:



Remarque au sujet des motifs

  • L'utilisation de '\d' dans un motif ne retournait aucune correspondance. Le motif [0-9]+ a été utilisé à la place.
  • L'utilisation de '\K' dans le motif ne retournait aucune correspondance. Les groupes '()' et le property statement regex.submatch ont été utilisés à la place.

Ci dessous un exemple de log que l'on souhaite reformatter:

juin 21 14:50:52 node-7c87 kernel: [UFW BLOCK] IN= OUT=br-9dd270203435 SRC=172.21.0.1 DST=172.21.0.5 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=13470 DF PROTO=TCP SPT=46542 DPT=9200 WINDOW=64240 RES=0x00 SYN URGP=0

Références

sysadmin/linux/rsyslog/templates_et_regex.txt · Dernière modification : 2021/06/21 13:20 de 92.154.112.189