Utiliser Gentoo et Calculate Linux

Installer et configurer rsyslog sur Gentoo / Calculate Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières



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 -p rsyslog
[ebuild  N     ] app-admin/rsyslog-5.8.11  USE="ssl zlib -dbi -debug -doc -extras -kerberos -mysql -oracle -postgres -relp -snmp -static-libs -zeromq"
 


Pas besoin de stocker en base mysql => FLAGS par défaut OK

Code BASH :
emerge rsyslog



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 liste un coup les paquets avant d'installer :

Code BASH :
emerge -p logrotate
[ebuild  N     ] app-admin/logrotate-3.8.3  USE="acl (-selinux)"


Et on installe:

Code BASH :
emerge logrotate



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.