Outils pour utilisateurs

Outils du site


sysadmin:linux:rsyslog

Ceci est une ancienne révision du document !


Rsyslog

Rsyslog collecte les messages provenant de différentes sources et les traite en les enregistrant/redirigeant.

Principe

Les message sont envoyés au daemon rsyslogd par différents canaux (UDP, fichier exécutable, commande). Pour pouvoir écouter ces canaux les modules doivent être chargés. Les modules sont chargés dans le fichier /etc/rsyslog.conf via les directives suivantes:



Les messages ont des attributs particuliers que la documentation rsyslog désigne sous le nom de properties notamment:

  • une catégorie (nommée facility ou sous-ensemble dans la documentation)
  • une priorité

Les catégories (facilities) existantes pour les messages sont:

auth authentification
authpriv droits d'accès
cron tâches planifiées
daemon daemons
ftp service FTP
kern noyau
lpr système d'impression.
mail système de mail.
news système Usenet
syslog daemon rsyslog
user utilisateur
uucp système UUCP Unix to Unix Copy Program
local0 à local7 sous catégories non précisées pour utilisations locales personnalisées

Les priorité sont classés info < notice < err < emerg

Le détail des properties associées aux messages est présenté dans le wiki attributs des messages syslog

Les templates

rsyslog utilise des templates pour:

  • Décrire les flux entrants
  • Formater les sorties (fichiers, base de données, messages utilisateur)
  • La génération dynamique des noms de fichiers log

La déclaration d'un template se base sur la syntaxe suivante:

template(parametres)

Avec les paramètres:

  • name le nom du template, il doit être unique.
  • type les types de template offre différentes manières de décrire le contenu sans affecter l'output le manipule.

Noms de fichiers dynamiques

Un template peut également être utilisé au sein d'une action pour générer dynamiquement un nom de fichier.

template (name="DynFile" type="string"
          string="/var/log/systemp-%HOSTNAME%.log")

Noms de templates réservés

Pour que le comportement de rsyslogd reste prévisible les noms de templates doivent être uniques. Il existe des templates définis dans le système, leur noms sont réservés, ils sont préfixés par RSYSLOG_*, on pourra citer pour exemple:

  • RSYSLOG_TraditionnalFileFormat
  • RSYSLOG_FileFormat
  • RSYSLOG_ForwardFormat

Personnaliser les logs

Pour les applications utilisateur les facilities local0 à local7 peuvent être utilisées librement. Si l'on souhaite journaliser des activités de sauvegardes locales par exemple, modifier le fichier la configuration de rsyslog en créant le fichier /etc/rsyslogd/60-backup.conf avec le contenu suivant:

# Enregistrer tous les niveaux de priorités de local0
# dans le fichier /var/log/backup.log
local0.*        -/var/log/backup.log

Tester la configuration et si la syntaxe est correcte, redémarrer le service:

$ sudo rsyslogd -N1
$ sudo service rsyslog restart

Pour tester le bon fonctionnement du paramétrage

$ logger -p local0.info "test"

Références

sysadmin/linux/rsyslog.1495037316.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)