Installer et configurer rsyslog sur Gentoo / Calculate Linux
Table des matières
Rsyslog permet de transférr les messages des journaux d'événements sur un réseau IP. il implémente le protocole basique syslog - qui centralise les journaux d'événements, permettant de repérer plus rapidement et efficacement les défaillances d'ordinateurs présents sur un réseau. Il présente la particularité d'en étendre les fonctionnalités en permettant, notamment la rotation automatique des fichiers.
La sortie produite est de ce style :
Pas besoin de stocker en base mysql et les FLAGS par défaut nous conviennent. On valide l'installationen répondant Yes
On active les journaux système au boot du serveur :
Et on lance le service :
On vérifie que le fichiers /var/log/messages se remplisse bien:
La configuration plus fine se fait dan le fichier /etc/rsyslog.conf.
C'est dans ce fichier qu'on va pouvoir personnaliser les niveaux de logs l'emplacement des fichiers de logs à créer en fonction de la nature des informations.
Pour chaque fichier journal, logrotate réalise 2 opération simultanées :
Comme d'habitude, on lance l'installation avec la question avant validation :
La sortie produite est la suivante :
Pas d'erreur, les FLAG par défaut nous conviennent, on lance l'installation en répondant Yes.
Le fichier de configuration principal est /etc/logrotate.conf, les autres fichiers de configurations sont dans le répertoire /etc/logrotate.d/.
Voici un extrait de mon fichier /etc/logrotate.conf :
Introduction
Rsyslog permet de transférr les messages des journaux d'événements sur un réseau IP. il implémente le protocole basique syslog - qui centralise les journaux d'événements, permettant de repérer plus rapidement et efficacement les défaillances d'ordinateurs présents sur un réseau. Il présente la particularité d'en étendre les fonctionnalités en permettant, notamment la rotation automatique des fichiers.
Installation
Code BASH :
emerge -avq rsyslog
La sortie produite est de ce style :
Code BASH :
[ebuild N ] dev-libs/libestr-0.1.9 USE="-debug -static-libs" [ebuild N ] dev-libs/json-c-0.11-r1 USE="-doc -static-libs" ABI_X86="(64) -32 (-x32)" [binary N ] net-dns/libidn-1.30 USE="nls (-doc) -emacs -java -mono -static-libs" ABI_X86="(64) -32 (-x32)" [binary N ] dev-libs/nettle-3.1.1 USE="gmp -doc (-neon) -static-libs {-test}" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="-aes" [binary N ] dev-scheme/guile-1.8.8-r1 USE="deprecated nls regex threads -debug -debug-freelist -debug-malloc -discouraged -emacs -networking" [ebuild N ] dev-libs/liblogging-1.0.4 USE="stdlog -rfc3195 -static-libs (-systemd)" [binary N ] sys-devel/autogen-5.18.1 USE="-libopts -static-libs" [binary N ] dev-libs/libtasn1-4.5 USE="-doc -static-libs" ABI_X86="(64) -32 (-x32)" [binary N ] net-libs/gnutls-3.3.17.1 USE="crywrap cxx nls openssl zlib -dane -doc -examples -guile -pkcs11 -static-libs {-test}" ABI_X86="(64) -32 (-x32)" LINGUAS="cs de en fi fr it nl pl sv uk -ms -vi -zh_CN" [ebuild N ] app-admin/rsyslog-8.13.0 USE="gcrypt ssl -dbi -debug -doc -elasticsearch -jemalloc -kerberos (-libressl) -mongodb -mysql -normalize -omudpspoof -postgres -rabbitmq -redis -relp -rfc3195 -rfc5424hmac -snmp (-systemd) {-test} -usertools -zeromq" Would you like to merge these packages? [Yes/No]
Pas besoin de stocker en base mysql et les FLAGS par défaut nous conviennent. On valide l'installationen répondant Yes
Configuration
Configuration de base
On active les journaux système au boot du serveur :
Code BASH :
rc-update add rsyslog default
Et on lance le service :
Code BASH :
/etc/init.d/rsyslog start
On vérifie que le fichiers /var/log/messages se remplisse bien:
Code BASH :
tailf /var/log/messages 2013-03-29T22:23:56.500621+01:00 oxygen kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready 2013-03-29T22:23:56.500625+01:00 oxygen kernel: usb 4-1: USB disconnect, device number 2 2013-03-29T22:23:56.500639+01:00 oxygen kernel: device-mapper: ioctl: 4.23.1-ioctl (2012-12-18) initialised: dm-devel@redhat.com 2013-03-29T22:23:56.500645+01:00 oxygen kernel: ip_tables: (C) 2000-2006 Netfilter Core Team 2013-03-29T22:23:56.500648+01:00 oxygen kernel: i2c /dev entries driver 2013-03-29T22:23:56.500652+01:00 oxygen kernel: NET: Registered protocol family 17
Configuration avancée
La configuration plus fine se fait dan le fichier /etc/rsyslog.conf.
C'est dans ce fichier qu'on va pouvoir personnaliser les niveaux de logs l'emplacement des fichiers de logs à créer en fonction de la nature des informations.
logrotate : limiter la taille des fichiers journaux
Pour chaque fichier journal, logrotate réalise 2 opération simultanées :
- la rotation : il archive le fichier journal sous un autre nom et supprime la plus ancienne archive
- la compression : il compresse éventuellement le fichier journal avant de l'archiver
Installer logrotate
Comme d'habitude, on lance l'installation avec la question avant validation :
Code BASH :
emerge -avq logrotate
La sortie produite est la suivante :
Code BASH :
[ebuild N ] app-admin/logrotate-3.9.1-r1 USE="acl cron (-selinux)" Would you like to merge these packages? [Yes/No]
Pas d'erreur, les FLAG par défaut nous conviennent, on lance l'installation en répondant Yes.
Configurer logrotate
Le fichier de configuration principal est /etc/logrotate.conf, les autres fichiers de configurations sont dans le répertoire /etc/logrotate.d/.
Voici un extrait de mon fichier /etc/logrotate.conf :
Code BASH :
grep -v -E "(#|^$)" /etc/logrotate.conf weekly rotate 52 create dateext compress include /etc/logrotate.d notifempty nomail noolddir /var/log/wtmp { monthly create 0664 root utmp rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 }
- weekly : indique une rotation toutes les semaines
- rotate : indique le nombre de rotations après lesquelles les logs compressés sont supprimés
- compress : indique que les anciens logs sont compressés (avec gzip)
- notifempty : ne fait pas tourner les logs vides
- nomail : n'envoie pas de mails pour les vieux logs à supprimer
- noolddir: stocke les vieux log dans le même dossier que les logs.