Outils pour utilisateurs

Outils du site


sysadmin:linux:rsyslog:messages-properties

Les attributs des messages

Les attributs (properties) sont insensibles à la casse depuis les versions supérieures à la 3.17.0

Les properties peuvent être utilisées par:

  • Les templates
  • Les déclaration conditionnelles

Pour une liste exhaustive, confère la documentation en ligne.

msg La partie message du flux entrant fournit par le module input
rawmsg Le message brut fournit par le module d'entrée, utile pour le debug.
hostname Nom d’hôte de la machine émettant le message.
fromhost Nom de la machine transmettant le message.
fromhost-ip IP de la machine transmettant le message.
syslogtag TAG du message
programname partie statique du TAG syslog BSD
pri partie priorité du message non décodée
pri-text partie priorité du message en présentantion textuelle
iut InfoUnitType utile pour les backend de type LogAnalyzer
syslogfacility la catégorie du message sous forme numérique
syslogfacility-text catégorie sous forme textuelle
syslogseverity niveau de criticité du mesage sous forme numérique
syslogseverity-text criticité sous forme textuelle
timegenerated date de réception du message
timereported date indiquée par le message
inputname nom du module d'entrée ayant généré le message.

Le replacer

Le property replacer est au centre du système de template de rsyslog. Les messages syslog ont un ensemble de champs (properties) bien définis. Chacun de ces champs peut être accédé et manipulé par le property replacer.

Accéder à une propriété

Les propriété sont utilisées par les templates, on accède à leur valeur en plaçant leur nom entre les caractères %, la syntaxe globale est la suivante:

  %property:fromChar:toChar:options%

Avec:

  • property: le nom de la propriété a récupérer.
  • fromChartoChar motifs de sélection d'une sous-chaîne au sein de la propriété. * options options de traitements sur la selection. === Sélection d'une sous-chaine avec fromChar/toChar === Dans l'exemple ci-dessus les sections fromChar et toChar permettent de sélectionner une sous chaîne dans la valeur de la propriété. Pour accéder aux 4 premiers caractères du message on procédera ainsi: <file> %msg:1:4% </file> Pour sélectionner une sous chaîne commençant au 5ieme caractère jusqu’à la fin du message: <file> %msg:5:$% </file> les expressions rationnelles sont également supportées. La section fromChar doit comporter le caractère R pour spécifier que les expression rationnelles sont utilisées. L'expression rationnelle est placée dans la section toChar et doit se terminée par -end. <file> %msg:R:.*Sev:.\(.*\)\[.*-end% </file> Dans la section fromChar il est possible de spécifier des paramètres: <file> R,<regex-type>,<submatch>,<nomatch>,match-number> </file> ^ <regex-type> | BRE pour les expressions POSIX ou EPE pour les expressions étendues. | ^ <submatch> | chiffre: 0 pour toute la chaîne, de 1 à 9 si plusieurs correspondances ont été trouvées. | ^ <nomatch> | Permet de spécifier un comportement en cas de non correspondance. Peut prendre les valeurs DFLT (retourne la chaine “**NO MATCH**”, BLANK, ZERO ou FIELD pour retourner la totalité du champ. | Exemple syntaxique <file> %msg:R,ERE,1,FIELD:for (vlan[0-9]\*):–end% </file> Le concept de field (champ) peut également être utilisé pour l'extraction. Pour cela placer l'indicateur F dans la section fromChar. Les champs sont séparés par des délimiteurs (par défaut le caractère tabulation). Pour spécifier le délimiteur placer immédiatement après le caractère F une virgule suivie du code décimal du caractère US-ASCII. Le numéro du champs a extraire est a placer dans la section toChar L'exemple ci-dessous fournit la syntaxe pour extraire le troisième champ du message avec comme séparateur le point-virgule: <file> %msg:F,59:3% </file> Chaque séparateur introduit un champ différent, si l'on souhaite que plusieurs séparateurs consécutifs n'augmentent qu'une fois le numéros de champ, ajouter un caractère + après le code du délimiteur: <file> %msg:F,59+:3% </file> === Les options === Les options sur les propriétés sont insensibles à la casse, elles peuvent être cumulées séparées par des virgules. Ci-dessous quelques options disponibles: ^ uppercase | Convertir en majuscule | ^ lowercase | Convertir en minuscule | ^ csv | Convertir les champs résultat en cvs | ^ drop-last-lf | Supprime le dernier retour à la ligne | ^ date-mysql | Formater comme une date MySQL | ^ date-rfc3164 | Formater comme une date RFC3164 | ^ date-rfc3339 | Formater comme une date RFC3339 | ^ escape-cc | Redéfinir les caractères de contrôle/d'échappement | ^ space-cc | Remplace les caractères de contrôle par des espaces | ^ drop-cc | Supprimer les caractères de contrôle | ^ secpath-drop | Suppresion des caractère / dans le champ (sécurise dynafiles) | ^ secpath-replace** | Remplace les caractère / dans le champ (sécurise dynafiles) |

Références

sysadmin/linux/rsyslog/messages-properties.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1