Les modèles modifient et formatent la sortie générée par rsyslog. Ils permettent de spécifier n'importe quel format qu'un utilisateur pourrait souhaiter. Ils sont également utilisés pour la génération dynamique de noms de fichiers. Voici la syntaxe pour créer un modèle :
$template TEMPLATE_NAME,"text %PROPERTY% text", [OPTION]
Les champs sont décrits comme suit :
Champ | Objectif |
---|---|
$modèle | Directive qui définit un modèle |
TEMPLATE_NAME | Nom du modèle |
"texte" | Texte réel du modèle entouré de guillemets |
%PROPERTY% | Contenu du message spécifique entouré de signes de pourcentage |
OPTION | Spécifie les options qui modifient la fonctionnalité du modèle |
Les modèles peuvent être utilisés pour générer des noms de fichiers dynamiques. Spécifiez une propriété dans le cadre du chemin d'accès au fichier pour créer un nouveau fichier pour chaque propriété unique. Par exemple, utilisez le timegenerated propriété pour générer un nom de fichier unique pour chaque message rsyslog :
$template DynamicFile,“/var/log/%timegenerated%-test.log”
Spécifiez le nom du modèle dans une règle pour modifier la sortie rsyslog. Les fichiers dynamiques sont représentés par un modèle et un préfixe de point d'interrogation (?). Exemple :
*.* ?DynamicFile
Propriétés
Vous pouvez utiliser des propriétés à l'intérieur d'un modèle pour référencer le contenu spécifique d'un message rsyslog. Utilisez la syntaxe suivante pour définir une propriété dans un modèle :
%PROPERTY_NAME[:FROM_CHAR:TO_CHAR:OPTION]%
Les champs sont décrits comme suit :
Champ | Objectif |
---|---|
PROPERTY_NAME | Nom d'une propriété |
FROM_CHAR et TO_CHAR | Plage de caractères sur laquelle agit la propriété spécifiée |
OPTION | Options de propriété |
Une liste des propriétés et des descriptions disponibles est disponible à l'adresse http://www.rsyslog.com/doc/property_replacer.html.
1. La propriété suivante représente l'intégralité du texte d'un message rsyslog :
%msg%
2. L'exemple suivant représente les deux premiers caractères du texte du message :
%msg:1:2%
3. La propriété suivante représente le nom d'hôte dans un message rsyslog :
%hostname%
4. La propriété suivante représente l'installation du message sous forme de texte :
%syslogfacility-text%
Modèle :exemple
L'exemple suivant définit un modèle nommé class qui formate un message rsyslog pour afficher l'horodatage du message, l'installation sous forme de texte, la priorité sous forme de texte, le nom d'hôte et le texte du message, et se termine par une nouvelle ligne :
$template class, "Time: %timestamp%, Facility: %syslogfacilitytext%, Priority: %syslogpriority-text%, Hostname: %hostname%, Message: %msg%\n"
Pour utiliser le modèle pour les messages /var/log/logfile, incluez le nom du modèle comme suit :
*.* /var/log/logfile;classCentOS / RedHat :Guide du débutant pour l'administration des fichiers journaux
Comprendre les actions de rsyslog
Comprendre les options de filtrage de rsyslog