137 lines
4.4 KiB
Markdown
137 lines
4.4 KiB
Markdown
---
|
|
categories: sysadmin
|
|
title: Howto Rsyslog
|
|
...
|
|
|
|
* Documentation : <http://www.rsyslog.com/doc/v8-stable/>
|
|
|
|
[Rsyslog](http://www.rsyslog.com/) est le démon **syslog** par défaut sous Debian. Le protocole _syslog_ permet de gérer la journalisation : les messages sont envoyés par diverses applications (messages kernel, user, daemon, mail, etc.) triés par une _facility_ (LOG_KERN, LOG_CRON, LOG_DAEMON, LOG_MAIL, LOG_AUTH, etc.) et un certain niveau de _severity_ (LOG_EMERG, LOG_ALERT, LOG_ERR, LOG_WARNING, etc.) ; ils sont reçus par un démon qui les répartit dans différents fichiers situés dans le répertoire `/var/log/` ou par d'autres façons (serveur syslog distant, terminal, etc.)
|
|
|
|
## Installation
|
|
|
|
En général le paquet **rsyslog** est installé et le service tourne déjà :
|
|
|
|
~~~
|
|
# systemctl status rsyslog
|
|
● rsyslog.service - System Logging Service
|
|
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
|
|
Docs: man:rsyslogd(8)
|
|
http://www.rsyslog.com/doc/
|
|
Main PID: 2815 (rsyslogd)
|
|
Tasks: 4
|
|
Memory: 2.9M
|
|
CPU: 1.604s
|
|
CGroup: /system.slice/rsyslog.service
|
|
└─2815 /usr/sbin/rsyslogd -n
|
|
|
|
# rsyslogd -v
|
|
rsyslogd 8.16.0, compiled with:
|
|
PLATFORM: x86_64-pc-linux-gnu
|
|
PLATFORM (lsb_release -d):
|
|
FEATURE_REGEXP: Yes
|
|
GSSAPI Kerberos 5 support: Yes
|
|
FEATURE_DEBUG (debug build, slow code): No
|
|
32bit Atomic operations supported: Yes
|
|
64bit Atomic operations supported: Yes
|
|
memory allocator: system default
|
|
Runtime Instrumentation (slow code): No
|
|
uuid support: Yes
|
|
Number of Bits in RainerScript integers: 64
|
|
~~~
|
|
|
|
## Configuration
|
|
|
|
Le fichier de configuration principal est `/etc/rsyslog.conf` :
|
|
|
|
~~~
|
|
module(load="imuxsock")
|
|
module(load="imklog")
|
|
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
|
|
$FileOwner root
|
|
$FileGroup adm
|
|
$FileCreateMode 0640
|
|
$DirCreateMode 0755
|
|
$Umask 0022
|
|
$WorkDirectory /var/spool/rsyslog
|
|
$IncludeConfig /etc/rsyslog.d/*.conf
|
|
|
|
auth,authpriv.* /var/log/auth.log
|
|
*.*;auth,authpriv.none -/var/log/syslog
|
|
#cron.* /var/log/cron.log
|
|
daemon.* -/var/log/daemon.log
|
|
kern.* -/var/log/kern.log
|
|
lpr.* -/var/log/lpr.log
|
|
mail.* -/var/log/mail.log
|
|
user.* -/var/log/user.log
|
|
|
|
mail.info -/var/log/mail.info
|
|
mail.warn -/var/log/mail.warn
|
|
mail.err /var/log/mail.err
|
|
|
|
*.=debug;\
|
|
auth,authpriv.none;\
|
|
news.none;mail.none -/var/log/debug
|
|
*.=info;*.=notice;*.=warn;\
|
|
auth,authpriv.none;\
|
|
cron,daemon.none;\
|
|
mail,news.none -/var/log/messages
|
|
*.emerg :omusrmsg:*
|
|
~~~
|
|
|
|
Journaux principaux :
|
|
|
|
* auth.log : authentification système (login, su, getty)
|
|
* daemon.log : relatif aux daemons
|
|
* mail.* : relatifs aux mails
|
|
* kern.log : générés par le noyau
|
|
* user.log : générés par des programmes utilisateur
|
|
* debug : messages de debug
|
|
* messages : messages d'infos
|
|
* syslog : tous les messages (sauf exceptions définies)
|
|
|
|
Nous conseillons :
|
|
|
|
* d'activer cron.log
|
|
* de supprimer mail.info, mail.warn et mail.err
|
|
* de réduire les infos en double envoyées à /var/log/syslog
|
|
* de créer des entrées pour les services standard
|
|
|
|
~~~
|
|
*.*;auth,authpriv.none;cron,mail,local4,local5,local7.none -/var/log/syslog
|
|
cron.* /var/log/cron.log
|
|
#mail.info -/var/log/mail.info
|
|
#mail.warn -/var/log/mail.warn
|
|
#mail.err /var/log/mail.err
|
|
local0.* /var/log/postgresql.log
|
|
local1.* /var/log/sympa.log
|
|
local4.* -/var/log/openldap.log
|
|
local5.* -/var/log/haproxy.log
|
|
local7.* -/var/log/dhcp.log
|
|
~~~
|
|
|
|
**Rsyslog** supporte une configuration plus avancée, notamment avec des notions d'input, filtre et output. Cela passe notamment par utiliser le nouveau format RainerScript pour la configuration.
|
|
|
|
|
|
## Administration
|
|
|
|
### Rotation dynamique des logs
|
|
|
|
Cela permet d'écrire automatiquement dans un fichier dont le nom est fonction de la date par exemple.
|
|
Du coup il n'est plus utile de gérer sa rotation (uniquement la compression).
|
|
|
|
~~~
|
|
$template DailyPerHostLogs,"/var/log/local2-%$YEAR%-%$MONTH%-%$DAY%.log"
|
|
local2.* -?DailyPerHostLogs
|
|
~~~
|
|
|
|
### Activation en réseau
|
|
|
|
Pour que Rsyslog écoute en UDP sur réseau (port 514 par défaut) :
|
|
|
|
~~~
|
|
# provides UDP syslog reception
|
|
$ModLoad imudp
|
|
$UDPServerRun 514
|
|
~~~
|
|
|