Projet

Général

Profil

Gestion logs » Historique » Version 30

Benjamin Bohard, 09/04/2013 11:47

1 13 Daniel Dehennin
{{toc}}
2 13 Daniel Dehennin
3 1 Benjamin Bohard
h1. Gestion des journaux
4 1 Benjamin Bohard
5 1 Benjamin Bohard
Les objectifs fondamentaux de la journalisation sont les suivants :
6 1 Benjamin Bohard
7 1 Benjamin Bohard
* conserver l'information en vue d'établir des diagnostics de panne,
8 1 Benjamin Bohard
* conserver l'information en vue de statistiques d'utilisation,
9 1 Benjamin Bohard
* conserver l'information par contrainte légale.
10 1 Benjamin Bohard
11 1 Benjamin Bohard
Les écueils à éviter sont les suivants :
12 1 Benjamin Bohard
13 1 Benjamin Bohard
* saturation de la partition stockant les journaux,
14 1 Benjamin Bohard
* compromission des informations des journaux par application de droits d'accès inadaptés.
15 1 Benjamin Bohard
16 9 Daniel Dehennin
Ces objectifs et écueils guident la politique de journalisation à mettre en œuvre. Les contraintes les plus fortes sont l'obligation légale de conserver l'information et le risque de saturation du support de stockage. Les journaux, ou partie de journaux, concernés par l'obligation légale doivent être traités prioritairement. Les autres doivent s’accommoder de la contrainte d'espace de stockage.
17 1 Benjamin Bohard
18 1 Benjamin Bohard
h2. Contextes de journalisation
19 1 Benjamin Bohard
20 1 Benjamin Bohard
La gestion des journaux d'une distribution EOLE est guidée par différents contextes d'utilisation. Un contexte d'utilisation est une topologie réseau particulière de machines, virtuelles ou physiques, à laquelle s'applique une politique de journalisation commune. Les rôles possibles dans un réseau sont :
21 1 Benjamin Bohard
* une machine émettrice : transmission des journaux à une machine réceptrice ;
22 1 Benjamin Bohard
* une machine réceptrice : conservation des journaux locaux, réception des journaux de machines émettrices.
23 1 Benjamin Bohard
24 9 Daniel Dehennin
Les machines émettrices se déclinent en matériel réseau, machines physiques et conteneurs LXC. Cette distinction introduit une distinction entre les machines réceptrices qui ne gèrent que les conteneurs qu'elles hébergent et celles qui centralisent les journaux de matériels physiques distants. Certains modules de la distribution EOLE se prêtent plus à l'exécution d'un rôle particulier. ZéphirLog, notamment a été créé pour assumer le rôle de machine réceptrice vis-à-vis des autres modules. Cependant, la modularité permet à un autre module de jouer ce rôle. L'utilisation du mode conteneur ou non est plus contraignant sur les rôles par contre.
25 1 Benjamin Bohard
26 1 Benjamin Bohard
h3. Solution EOLE en mode non conteneur
27 1 Benjamin Bohard
28 1 Benjamin Bohard
Une machine en mode non conteneur est le cas le plus simple :
29 1 Benjamin Bohard
30 1 Benjamin Bohard
* un seul environnement d'exécution ;
31 1 Benjamin Bohard
* la machine peut jouer les rôles de machine émettrice et transmettre ses journaux et de machine réceptrice et recevoir des journaux.
32 1 Benjamin Bohard
33 1 Benjamin Bohard
h3. Solution EOLE en mode conteneur
34 1 Benjamin Bohard
35 1 Benjamin Bohard
Une machine en mode conteneur amène un autre niveau :
36 1 Benjamin Bohard
37 1 Benjamin Bohard
* une hiérarchie d'environnement d'exécution à deux niveaux :
38 1 Benjamin Bohard
** un maître ;
39 1 Benjamin Bohard
** des conteneurs ;
40 1 Benjamin Bohard
* les conteneurs jouent le rôle de machines émettrices et transmettent leurs journaux ;
41 1 Benjamin Bohard
* les maîtres jouent forcément le rôle de machines réceptrices, au moins vis-à-vis des conteneurs, et peuvent jouer le rôle de machines émettrices et transmettre leurs journaux.
42 1 Benjamin Bohard
43 1 Benjamin Bohard
h3. Autre
44 1 Benjamin Bohard
45 1 Benjamin Bohard
Le reste du matériel participant au réseau (équipement réseau, machines clientes hors solutions EOLE, etc.) jouent le rôle de machines émettrices dans la structure envisagée.
46 1 Benjamin Bohard
47 1 Benjamin Bohard
h2. La problématique de la transmission réseau
48 1 Benjamin Bohard
49 1 Benjamin Bohard
Une machine réceptrice peut potentiellement recevoir de plusieurs sources : 
50 1 Benjamin Bohard
* des conteneurs ;
51 1 Benjamin Bohard
* des machines distantes pouvant utiliser le protocole RELP ;
52 1 Benjamin Bohard
* des machines distantes pouvant utiliser le protocole TCP ;
53 1 Benjamin Bohard
* des machines distantes pouvant utiliser le protocole UDP.
54 1 Benjamin Bohard
55 2 Benjamin Bohard
La transmission devant être fiable, le protocole RELP est à privilégier, ainsi que l'usage des queues, essentiellement pour les journaux à valeur légale. Le protocole TCP est encore incontournable pour l'utilisation d'une liaison sécurisée avec GnuTLS. Le protocole UDP est à réserver pour les équipements ne pouvant utiliser le protocole TCP ou RELP.
56 1 Benjamin Bohard
57 1 Benjamin Bohard
Il doit être possible de trier les journaux par zone émettrice. Différentes granularités sont envisageables pour définir les zones émettrices. La granularité la plus grossière distingue la zone interne (les conteneurs) de la zone externe.
58 1 Benjamin Bohard
59 1 Benjamin Bohard
h2. Les services
60 1 Benjamin Bohard
61 1 Benjamin Bohard
Les services prioritaires sont ceux dont les journaux ont une valeur légale et une durée de rétention prévue par la loi.
62 1 Benjamin Bohard
63 1 Benjamin Bohard
h2. La configuration de rsyslog dans EOLE
64 1 Benjamin Bohard
65 1 Benjamin Bohard
Le service rsyslog est démarré par défaut sur tous les modules EOLE, maître et conteneurs.
66 1 Benjamin Bohard
La configuration minimale est composée d'une partie commune et de fichiers de configuration rattachés aux différents services.
67 12 Benjamin Bohard
La stratégie d'agrégation des journaux est décidée à l'instanciation.
68 1 Benjamin Bohard
69 1 Benjamin Bohard
h3. La configuration minimale
70 1 Benjamin Bohard
71 11 Daniel Dehennin
* Sur le maître, sur un module en mode conteneur ou non conteneur :
72 11 Daniel Dehennin
** Un dispatcher pour les journaux locaux et conteneurs dans @/var/log/rsyslog/local/<APPLI>/<APPLI>.<SEVERITY>.log@
73 11 Daniel Dehennin
** Un dispatcher pour les journaux des hôtes réseaux dans @/var/log/rsyslog/remote/<HOSTNAME>/<APPLI>/<APPLI>.<SEVERITY>.log@
74 11 Daniel Dehennin
* Sur les conteneurs :
75 11 Daniel Dehennin
** Des règles avec mise en place de queues pour les journaux sensibles
76 11 Daniel Dehennin
** Une règle globale pour le reste
77 1 Benjamin Bohard
78 12 Benjamin Bohard
h3. L'agrégation
79 1 Benjamin Bohard
80 12 Benjamin Bohard
L'agrégation des journaux des conteneurs sur le maître est imposée.
81 1 Benjamin Bohard
82 12 Benjamin Bohard
Le choix du mode d'agrégation porte sur :
83 1 Benjamin Bohard
* l'activation de l'envoi : spécification de l'adresse de destination, protocole imposé (RELP), port imposé (20515 ?) ;
84 1 Benjamin Bohard
* l'activation de la réception :
85 1 Benjamin Bohard
** réception de clients utilisant RELP : schéma de répartition, liste des adresses des clients, port imposé (20515 ?) ;
86 1 Benjamin Bohard
** réception de clients utilisant TCP : schéma de répartition, liste des adresses des clients, port imposé (10514 ?) ;
87 1 Benjamin Bohard
** réception de clients utilisant UDP : schéma de répartition, liste des adresses des clients, port imposé (514) ;
88 1 Benjamin Bohard
* utilisation du chiffrement : emplacement du certificat.
89 1 Benjamin Bohard
90 21 Benjamin Bohard
h3. L'organisation de la configuration (< EOLE 2.3.9)
91 1 Benjamin Bohard
92 1 Benjamin Bohard
La lecture séquentielle de la configuration de rsyslog impose une organisation particulière :
93 1 Benjamin Bohard
* les modules (entrée, sortie) doivent être chargés avant d'être utilisés ;
94 1 Benjamin Bohard
* les ensembles de règles doivent être spécifiés avant d'être associés aux entrées ;
95 1 Benjamin Bohard
* les modèles doivent être spécifiés avant d'être utilisés ;
96 1 Benjamin Bohard
* les messages ne doivent pas être sortis de la chaîne de traitement prématurément.
97 1 Benjamin Bohard
98 10 Benjamin Bohard
Plages de fichiers :
99 10 Benjamin Bohard
100 10 Benjamin Bohard
00-09 : fichiers EOLE contenant la configuration générique en début de chaîne de traitement
101 10 Benjamin Bohard
102 16 Benjamin Bohard
10-19 : fichiers EOLE de règles non-destructrices
103 10 Benjamin Bohard
104 16 Benjamin Bohard
20-49 : fichiers de règles personnalisées non-destructrices
105 10 Benjamin Bohard
106 10 Benjamin Bohard
50 : seuil d'utilisation de & ~ pour enlever les messages de la file après traitement
107 10 Benjamin Bohard
108 16 Benjamin Bohard
50-79 : fichiers de règles personnalisées destructrices
109 10 Benjamin Bohard
110 16 Benjamin Bohard
80-98 : fichiers EOLE de règles destructrices
111 10 Benjamin Bohard
112 18 Benjamin Bohard
99-general_dispatch.conf
113 1 Benjamin Bohard
114 1 Benjamin Bohard
h4. rsyslog.conf
115 10 Benjamin Bohard
116 19 Benjamin Bohard
eole-common:source:tmpl/rsyslog.conf
117 1 Benjamin Bohard
<pre>
118 16 Benjamin Bohard
$ModLoad imuxsock # provides support for local system logging
119 16 Benjamin Bohard
$ModLoad immark  # provides --MARK-- message capability
120 1 Benjamin Bohard
121 16 Benjamin Bohard
# commented in container (eole-conteneur/lxc_install.sh l.216-7)
122 16 Benjamin Bohard
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
123 16 Benjamin Bohard
$KLogPath /proc/kmsg
124 16 Benjamin Bohard
125 16 Benjamin Bohard
$PreserveFQDN on
126 16 Benjamin Bohard
127 16 Benjamin Bohard
# utilisation du protocole RELP
128 16 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui' or %%activer_reception_logs_relp == 'oui'
129 16 Benjamin Bohard
130 16 Benjamin Bohard
$ModLoad imrelp
131 16 Benjamin Bohard
$InputRELPServerRun 20514
132 16 Benjamin Bohard
133 16 Benjamin Bohard
%end if
134 16 Benjamin Bohard
135 16 Benjamin Bohard
# utilisation du protocole TCP
136 16 Benjamin Bohard
%if %%activer_reception_logs_tcp == 'oui'
137 16 Benjamin Bohard
138 16 Benjamin Bohard
$ModLoad imtcp
139 16 Benjamin Bohard
140 16 Benjamin Bohard
# utilisation du chiffrement
141 16 Benjamin Bohard
%if %%rsyslog_tls == "oui" and (%%rsyslog_envoi_tls == "oui" or %%rsyslog_reception_tls == "oui")
142 16 Benjamin Bohard
143 16 Benjamin Bohard
# configuration general pour le chiffrement
144 16 Benjamin Bohard
$DefaultNetstreamDriver gtls
145 16 Benjamin Bohard
$DefaultNetstreamDriverCAFile %%rsyslog_ca_file
146 16 Benjamin Bohard
$DefaultNetstreamDriverCertFile  /etc/ssl/certs/eole.crt
147 16 Benjamin Bohard
$DefaultNetstreamDriverKeyFile  /etc/ssl/certs/eole.key
148 16 Benjamin Bohard
149 16 Benjamin Bohard
150 16 Benjamin Bohard
# configuration propre a la reception
151 16 Benjamin Bohard
%if %%rsyslog_reception_tls == "oui"
152 16 Benjamin Bohard
153 16 Benjamin Bohard
$InputTCPServerStreamDriverMode 1
154 16 Benjamin Bohard
$InputTCPServerStreamDriverAuthMode anon
155 16 Benjamin Bohard
%for %%client_ip in %%adresses_ip_clients_logs_tcp
156 16 Benjamin Bohard
$InputTCPServerStreamDriverPermittedPeer %%client_ip
157 16 Benjamin Bohard
%end for
158 16 Benjamin Bohard
159 16 Benjamin Bohard
%end if
160 16 Benjamin Bohard
%end if
161 16 Benjamin Bohard
162 16 Benjamin Bohard
$AllowedSender TCP, %%custom_join(%%adresses_ip_clients_logs_tcp, separator=', ')
163 16 Benjamin Bohard
164 16 Benjamin Bohard
$InputTCPServerRun 10514
165 16 Benjamin Bohard
%end if
166 16 Benjamin Bohard
167 16 Benjamin Bohard
# utilisation du protocole UDP
168 16 Benjamin Bohard
%if %%activer_reception_logs_udp == 'oui'
169 16 Benjamin Bohard
170 16 Benjamin Bohard
$ModLoad imudp
171 16 Benjamin Bohard
$AllowedSender UDP, %%custom_join(%%adresses_ip_clients_logs_udp, separator=', ')
172 16 Benjamin Bohard
$UDPServerRun 514
173 16 Benjamin Bohard
174 16 Benjamin Bohard
%end if
175 16 Benjamin Bohard
176 16 Benjamin Bohard
###########################
177 16 Benjamin Bohard
#### GLOBAL DIRECTIVES ####
178 16 Benjamin Bohard
###########################
179 16 Benjamin Bohard
180 16 Benjamin Bohard
#
181 16 Benjamin Bohard
# Use traditional timestamp format.
182 16 Benjamin Bohard
# To enable high precision timestamps, comment out the following line.
183 16 Benjamin Bohard
#
184 16 Benjamin Bohard
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
185 16 Benjamin Bohard
186 16 Benjamin Bohard
# Filter duplicated messages
187 16 Benjamin Bohard
$RepeatedMsgReduction on
188 16 Benjamin Bohard
189 16 Benjamin Bohard
#
190 16 Benjamin Bohard
# Set the default permissions for all log files.
191 16 Benjamin Bohard
#
192 16 Benjamin Bohard
$FileOwner syslog
193 16 Benjamin Bohard
$FileGroup adm
194 16 Benjamin Bohard
$FileCreateMode 0640
195 16 Benjamin Bohard
$DirCreateMode 0755
196 16 Benjamin Bohard
$Umask 0022
197 16 Benjamin Bohard
$PrivDropToUser syslog
198 16 Benjamin Bohard
$PrivDropToGroup adm
199 16 Benjamin Bohard
200 16 Benjamin Bohard
#
201 16 Benjamin Bohard
# Include all config files in /etc/rsyslog.d/
202 16 Benjamin Bohard
#
203 16 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/*.conf
204 16 Benjamin Bohard
205 1 Benjamin Bohard
</pre>
206 10 Benjamin Bohard
207 14 Benjamin Bohard
h4. rsyslog.d/
208 1 Benjamin Bohard
209 19 Benjamin Bohard
eole-common:source:tmpl/00-aggregation.conf
210 14 Benjamin Bohard
<pre>
211 1 Benjamin Bohard
%if %%is_defined('activer_envoi_logs') and %%activer_envoi_logs == 'oui'
212 1 Benjamin Bohard
213 14 Benjamin Bohard
%if %%rsyslog_envoi_tls == 'non'
214 14 Benjamin Bohard
215 14 Benjamin Bohard
$ModLoad omrelp
216 1 Benjamin Bohard
217 14 Benjamin Bohard
%end if
218 1 Benjamin Bohard
219 14 Benjamin Bohard
$WorkDirectory /var/log/rsyslog
220 1 Benjamin Bohard
$ActionQueueType LinkedList
221 1 Benjamin Bohard
%if %%is_defined('activate_squid_realtime') and %%activate_squid_realtime == 'non'
222 1 Benjamin Bohard
$ActionQueueDequeueTimeBegin %%squid_heure_debut
223 14 Benjamin Bohard
$ActionQueueDequeueTimeEnd %%squid_heure_fin
224 1 Benjamin Bohard
%end if
225 14 Benjamin Bohard
$ActionQueueFileName relpact
226 14 Benjamin Bohard
$ActionQueueSaveOnShutdown on
227 14 Benjamin Bohard
228 14 Benjamin Bohard
%if %%rsyslog_envoi_tls == 'oui'
229 14 Benjamin Bohard
230 14 Benjamin Bohard
$ActionSendStreamDriverAuthMode anon
231 14 Benjamin Bohard
$ActionSendStreamDriverPermittedPeer %%adresse_ip_serveur_logs
232 14 Benjamin Bohard
$ActionSendStreamDriverMode 1
233 14 Benjamin Bohard
:programname, isequal, "squid" @@%%adresse_ip_serveur_logs:10514
234 14 Benjamin Bohard
235 14 Benjamin Bohard
$ActionSendStreamDriverAuthMode anon
236 14 Benjamin Bohard
$ActionSendStreamDriverPermittedPeer %%adresse_ip_serveur_logs
237 14 Benjamin Bohard
$ActionSendStreamDriverMode 1
238 14 Benjamin Bohard
:programname, !isequal, "squid"	@@%%adresse_ip_serveur_logs:10514
239 14 Benjamin Bohard
240 14 Benjamin Bohard
%else
241 14 Benjamin Bohard
242 14 Benjamin Bohard
:programname, isequal, "squid" :omrelp:%%adresse_ip_serveur_logs:20514
243 14 Benjamin Bohard
244 14 Benjamin Bohard
:programname, !isequal, "squid" :omrelp:%%adresse_ip_serveur_logs:20514
245 14 Benjamin Bohard
246 14 Benjamin Bohard
%end if
247 1 Benjamin Bohard
248 1 Benjamin Bohard
%else
249 1 Benjamin Bohard
# cette machine n'est pas configurée pour transmettre ses logs à une machine distante
250 1 Benjamin Bohard
%end if
251 14 Benjamin Bohard
252 1 Benjamin Bohard
</pre>
253 1 Benjamin Bohard
254 19 Benjamin Bohard
eole-common:source:tmpl/00-conteneur.conf
255 14 Benjamin Bohard
256 1 Benjamin Bohard
<pre>
257 14 Benjamin Bohard
$ModLoad omrelp
258 14 Benjamin Bohard
259 16 Benjamin Bohard
$WorkDirectory /var/log/rsyslog
260 1 Benjamin Bohard
$ActionQueueType LinkedList
261 1 Benjamin Bohard
262 14 Benjamin Bohard
%if %%is_defined('activate_squid_realtime') and %%activate_squid_realtime == 'non'
263 14 Benjamin Bohard
264 14 Benjamin Bohard
$ActionQueueDequeueTimeBegin %%squid_heure_debut
265 1 Benjamin Bohard
$ActionQueueDequeueTimeEnd %%squid_heure_fin
266 1 Benjamin Bohard
267 1 Benjamin Bohard
%end if
268 14 Benjamin Bohard
269 1 Benjamin Bohard
$ActionQueueFileName relpact
270 1 Benjamin Bohard
$ActionQueueSaveOnShutdown on
271 14 Benjamin Bohard
272 1 Benjamin Bohard
:programname, isequal, "squid" :omrelp:%%adresse_ip_br0:20514
273 14 Benjamin Bohard
& ~
274 1 Benjamin Bohard
275 14 Benjamin Bohard
*.*	:omrelp:%%adresse_ip_br0:20514
276 1 Benjamin Bohard
& ~
277 1 Benjamin Bohard
</pre>
278 14 Benjamin Bohard
279 19 Benjamin Bohard
eole-common:source:tmpl/01-templates.conf
280 14 Benjamin Bohard
<pre>
281 1 Benjamin Bohard
$template DynLocalDispatch, "/var/log/rsyslog/local/%programname%/%programname%.%syslogseverity-text%.log"
282 14 Benjamin Bohard
283 20 Benjamin Bohard
$template DynRemoteDispatch, "/var/log/rsyslog/remote/%hostname:::secpath-replace%/%programname%/%programname%.%syslogseverity-text%.log"
284 1 Benjamin Bohard
</pre>
285 19 Benjamin Bohard
eole-common:source:tmpl/10-erreurs.conf
286 1 Benjamin Bohard
287 1 Benjamin Bohard
<pre>
288 1 Benjamin Bohard
*.err  /var/log/syslog
289 1 Benjamin Bohard
</pre>
290 1 Benjamin Bohard
291 16 Benjamin Bohard
20-auth.conf
292 16 Benjamin Bohard
<pre>
293 16 Benjamin Bohard
$template DynLocalAuth, "/var/log/rsyslog/local/auth/auth.%syslogseverity-text%.log"
294 20 Benjamin Bohard
$template DynRemotelAuth, "/var/log/rsyslog/remote/%hostname:::secpath-replace%/auth/auth.%syslogseverity-text%.log"
295 16 Benjamin Bohard
%if %%activer_reception_logs == 'non'
296 16 Benjamin Bohard
auth, authpriv.* ?DynLocalAuth
297 16 Benjamin Bohard
%else
298 16 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and $fromhost-ip startswith '127' then ?DynLocalAuth
299 16 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui'
300 16 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and $fromhost-ip startswith '%%adresse_ip_br0[:-2]' then ?DynLocalAuth
301 16 Benjamin Bohard
%end if
302 16 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and not ($fromhost-ip startswith '%%adresse_ip_br0[:-2]' or $fromhost-ip startswith '127') then ?DynRemoteAuth
303 1 Benjamin Bohard
%end if
304 16 Benjamin Bohard
</pre>
305 1 Benjamin Bohard
306 16 Benjamin Bohard
50-79….conf : les règles personnalisées pour filter les services individuellement sur le modèle de 80-rsyslog.conf
307 16 Benjamin Bohard
308 19 Benjamin Bohard
eole-common:source:tmpl/80-rsyslog.conf
309 1 Benjamin Bohard
<pre>
310 16 Benjamin Bohard
$template DynLocalRsyslog, "/var/log/rsyslog/local/rsyslog/rsyslog.%syslogseverity-text%.log"
311 20 Benjamin Bohard
$template DynRemoteRsyslog, "/var/log/rsyslog/remote/%hostname:::secpath-replace%/rsyslog/rsyslog.%syslogseverity-text%.log"
312 16 Benjamin Bohard
%if %%activer_reception_logs == 'non'
313 16 Benjamin Bohard
:programname, startswith, "rsyslog" ?DynLocalRsyslog
314 16 Benjamin Bohard
%else
315 16 Benjamin Bohard
if $programname startswith 'rsyslog' and $fromhost-ip startswith '127' then ?DynLocalRsyslog
316 1 Benjamin Bohard
& ~
317 16 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui'
318 16 Benjamin Bohard
if $programname startswith 'rsyslog' and $fromhost-ip startswith '%%adresse_ip_br0[:-2]' then ?DynLocalRsyslog
319 16 Benjamin Bohard
& ~
320 16 Benjamin Bohard
%end if
321 1 Benjamin Bohard
:programname, startswith, "rsyslog" ?DynRemoteRsyslog
322 16 Benjamin Bohard
& ~
323 16 Benjamin Bohard
%end if
324 16 Benjamin Bohard
325 1 Benjamin Bohard
</pre>
326 15 Benjamin Bohard
327 19 Benjamin Bohard
eole-common:source:tmpl/99-general_dispatch.conf
328 15 Benjamin Bohard
329 15 Benjamin Bohard
<pre>
330 16 Benjamin Bohard
%if %%activer_reception_logs == 'non'
331 16 Benjamin Bohard
*.* ?DynLocalDispatch
332 16 Benjamin Bohard
%else
333 15 Benjamin Bohard
:fromhost-ip, isequal, "127" ?DynLocalDispatch
334 1 Benjamin Bohard
& ~
335 15 Benjamin Bohard
336 15 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui'
337 15 Benjamin Bohard
338 15 Benjamin Bohard
:fromhost-ip, startswith, "%%adresse_ip_brO[:-2]" ?DynLocalDispatch
339 15 Benjamin Bohard
& ~
340 15 Benjamin Bohard
%end if
341 15 Benjamin Bohard
342 15 Benjamin Bohard
*.* ?DynRemoteDispatch
343 5 Benjamin Bohard
%end if
344 1 Benjamin Bohard
</pre>
345 1 Benjamin Bohard
Actuellement, les services qui disposent de règles spécifiques sont squid, charon, iptables, ufw, smbd, nmbd, named, exim4. Une règle générale peut être ajoutée pour traiter les autres cas. Ces règles personnalisées ne sont pas essentielles sauf dans le cas de fork (exemple de rsyslog qui ajoute le numéro de PID au nom de programme de ses différentes instances). Dans ce cas, il faut une règle avec une expression régulière ou startswith (ou utiliser la facility si elle est univoque).
346 1 Benjamin Bohard
347 22 Benjamin Bohard
h3. L'organisation de la configuration (>= EOLE 2.3.9)
348 22 Benjamin Bohard
349 22 Benjamin Bohard
La lecture séquentielle de la configuration de rsyslog impose une organisation particulière :
350 22 Benjamin Bohard
* les modules (entrée, sortie) doivent être chargés avant d'être utilisés ;
351 22 Benjamin Bohard
* les ensembles de règles doivent être spécifiés avant d'être associés aux entrées ;
352 22 Benjamin Bohard
* les modèles doivent être spécifiés avant d'être utilisés ;
353 22 Benjamin Bohard
* les messages ne doivent pas être sortis de la chaîne de traitement prématurément.
354 22 Benjamin Bohard
355 22 Benjamin Bohard
Sous-dossiers et fichiers du répertoire /etc/rsyslog.d :
356 22 Benjamin Bohard
357 22 Benjamin Bohard
* aggregation/ : contient les règles pour l'envoi des journaux à une machine distante ;
358 22 Benjamin Bohard
* templates/ : contient les modèles dynamiques (peuvent aussi être placés en en-tête des filtres) ;
359 22 Benjamin Bohard
* eole_views/ : contient les vues (filtres qui ne sortent pas les messages de la chaîne de traitement) définies par EOLE ;
360 22 Benjamin Bohard
* custom_views/ : contient les vues (filtres qui ne sortent pas les messages de la chaîne de traitement) définies localement ;
361 22 Benjamin Bohard
* custom_traps/ : contient les pièges (filtres qui sortent les messages de la chaîne de traitement) définies localement ;
362 22 Benjamin Bohard
* eole_traps/ : contient les pièges (filtres qui sortent les messages de la chaîne de traitement) définies par EOLE ;
363 22 Benjamin Bohard
* default_dispatch.conf : filtre générique.
364 22 Benjamin Bohard
365 22 Benjamin Bohard
h4. rsyslog.conf
366 22 Benjamin Bohard
367 25 Benjamin Bohard
eole-common:source:tmpl/rsyslog.conf@476ca7cd
368 22 Benjamin Bohard
369 22 Benjamin Bohard
Le changement porte sur l'inclusion des fragments de configuration et le déplacement de la directive d'import du module omrelp.
370 22 Benjamin Bohard
<pre>
371 22 Benjamin Bohard
#  /etc/rsyslog.conf    Configuration file for rsyslog.
372 22 Benjamin Bohard
#
373 22 Benjamin Bohard
#                       For more information see
374 22 Benjamin Bohard
#                       /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
375 22 Benjamin Bohard
#
376 22 Benjamin Bohard
#  Default logging rules can be found in /etc/rsyslog.d/50-default.conf
377 22 Benjamin Bohard
378 22 Benjamin Bohard
379 22 Benjamin Bohard
#################
380 22 Benjamin Bohard
#### MODULES ####
381 22 Benjamin Bohard
#################
382 22 Benjamin Bohard
383 22 Benjamin Bohard
$ModLoad imuxsock # provides support for local system logging
384 22 Benjamin Bohard
$ModLoad immark  # provides --MARK-- message capability
385 22 Benjamin Bohard
386 22 Benjamin Bohard
# commented in container (eole-conteneur/lxc_install.sh l.216-7)
387 22 Benjamin Bohard
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
388 22 Benjamin Bohard
$KLogPath /proc/kmsg
389 22 Benjamin Bohard
390 22 Benjamin Bohard
$PreserveFQDN on
391 22 Benjamin Bohard
392 22 Benjamin Bohard
# utilisation du chiffrement
393 22 Benjamin Bohard
%if %%activer_log_distant == 'oui' and ((%%activer_reception_logs_tcp == 'oui' and %%rsyslog_reception_tls == 'oui' ) or (%%activer_envoi_logs == "oui" and %%rsyslog_envoi_tls == "oui"))
394 22 Benjamin Bohard
395 22 Benjamin Bohard
# configuration general pour le chiffrement
396 22 Benjamin Bohard
$DefaultNetstreamDriver gtls
397 22 Benjamin Bohard
$DefaultNetstreamDriverCAFile %%rsyslog_ca_file
398 22 Benjamin Bohard
$DefaultNetstreamDriverCertFile  %%rsyslog_cert_file
399 22 Benjamin Bohard
$DefaultNetstreamDriverKeyFile  %%rsyslog_privkey_file
400 22 Benjamin Bohard
401 22 Benjamin Bohard
%end if
402 22 Benjamin Bohard
403 22 Benjamin Bohard
# utilisation du protocole RELP
404 22 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui' or (%%activer_log_distant == 'oui' and %%activer_reception_logs == 'oui' and %%activer_reception_logs_relp == 'oui')
405 22 Benjamin Bohard
406 22 Benjamin Bohard
$ModLoad imrelp
407 22 Benjamin Bohard
$InputRELPServerRun 20514
408 22 Benjamin Bohard
409 22 Benjamin Bohard
%end if
410 22 Benjamin Bohard
411 22 Benjamin Bohard
# utilisation du protocole TCP
412 22 Benjamin Bohard
%if %%activer_log_distant == 'oui' and %%activer_reception_logs == 'oui' and %%activer_reception_logs_tcp == 'oui'
413 22 Benjamin Bohard
414 22 Benjamin Bohard
$ModLoad imtcp
415 22 Benjamin Bohard
416 22 Benjamin Bohard
# configuration TLS propre a la reception
417 22 Benjamin Bohard
%if %%rsyslog_reception_tls == "oui"
418 22 Benjamin Bohard
419 22 Benjamin Bohard
$InputTCPServerStreamDriverMode 1
420 22 Benjamin Bohard
$InputTCPServerStreamDriverAuthMode x509/name
421 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/incoming_peers/*.peers
422 22 Benjamin Bohard
423 22 Benjamin Bohard
%end if
424 22 Benjamin Bohard
425 22 Benjamin Bohard
$InputTCPServerRun 10514
426 22 Benjamin Bohard
%end if
427 22 Benjamin Bohard
428 22 Benjamin Bohard
# utilisation du protocole UDP
429 22 Benjamin Bohard
%if %%activer_log_distant == 'oui' and %%activer_reception_logs == 'oui' and %%activer_reception_logs_udp == 'oui'
430 22 Benjamin Bohard
431 22 Benjamin Bohard
$ModLoad imudp
432 22 Benjamin Bohard
$AllowedSender UDP%slurp
433 22 Benjamin Bohard
%for %%adresse in %%adresses_ip_clients_logs_udp
434 22 Benjamin Bohard
, %%adresse/%%calc_classe(%%adresse.netmask_client_logs_udp)%slurp
435 22 Benjamin Bohard
%end for
436 22 Benjamin Bohard
437 22 Benjamin Bohard
$UDPServerRun 514
438 22 Benjamin Bohard
439 22 Benjamin Bohard
%end if
440 22 Benjamin Bohard
441 22 Benjamin Bohard
###########################
442 22 Benjamin Bohard
#### GLOBAL DIRECTIVES ####
443 22 Benjamin Bohard
###########################
444 22 Benjamin Bohard
445 22 Benjamin Bohard
#
446 22 Benjamin Bohard
# Use traditional timestamp format.
447 22 Benjamin Bohard
# To enable high precision timestamps, comment out the following line.
448 22 Benjamin Bohard
#
449 22 Benjamin Bohard
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
450 22 Benjamin Bohard
451 22 Benjamin Bohard
# Filter duplicated messages
452 22 Benjamin Bohard
$RepeatedMsgReduction on
453 22 Benjamin Bohard
454 22 Benjamin Bohard
#
455 22 Benjamin Bohard
# Set the default permissions for all log files.
456 22 Benjamin Bohard
#
457 22 Benjamin Bohard
$DirOwner syslog
458 22 Benjamin Bohard
$DirGroup adm
459 22 Benjamin Bohard
$FileOwner syslog
460 22 Benjamin Bohard
$FileGroup adm
461 22 Benjamin Bohard
$FileCreateMode 0640
462 22 Benjamin Bohard
$DirCreateMode 0755
463 22 Benjamin Bohard
$Umask 0022
464 22 Benjamin Bohard
$PrivDropToUser syslog
465 22 Benjamin Bohard
$PrivDropToGroup adm
466 22 Benjamin Bohard
467 22 Benjamin Bohard
%if %%activer_log_distant == 'oui' and %%activer_envoi_logs == 'oui' and  %%rsyslog_envoi_tls == 'non'
468 22 Benjamin Bohard
#
469 22 Benjamin Bohard
# Use omrelp module to send logs.
470 22 Benjamin Bohard
#
471 22 Benjamin Bohard
472 22 Benjamin Bohard
$ModLoad omrelp
473 22 Benjamin Bohard
%end if
474 22 Benjamin Bohard
475 22 Benjamin Bohard
#
476 22 Benjamin Bohard
# Include config files in /etc/rsyslog.d/
477 22 Benjamin Bohard
#
478 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/aggregation/*.conf
479 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/templates/*.conf
480 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/eole-views/*.conf
481 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/custom-views/*.conf
482 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/custom-traps/*.conf
483 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/eole-traps/*.conf
484 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/default_dispatching.conf
485 22 Benjamin Bohard
</pre>
486 22 Benjamin Bohard
487 22 Benjamin Bohard
h4. rsyslog.d/
488 22 Benjamin Bohard
489 28 Benjamin Bohard
h5. aggregation
490 28 Benjamin Bohard
491 28 Benjamin Bohard
Le répertoire aggregation regroupe les règles pour l'envoi à un serveur distant.
492 26 Benjamin Bohard
eole-common:source:tmpl/rsyslog_aggregation.conf@476ca7cd
493 23 Benjamin Bohard
494 23 Benjamin Bohard
L'import du module omrelp est supprimé (ajouté dans rsyslog.conf) et la possibilité de définir une plage horaire pour l'envoi différé est ajoutée (expérimental).
495 22 Benjamin Bohard
<pre>
496 22 Benjamin Bohard
%if %%activer_log_distant == 'oui' and %%activer_envoi_logs == 'oui' and %%envoyer_tous_logs == 'oui'
497 22 Benjamin Bohard
498 22 Benjamin Bohard
$WorkDirectory /var/log/rsyslog/queues
499 22 Benjamin Bohard
$ActionQueueType LinkedList
500 22 Benjamin Bohard
  %if %%utiliser_rsyslog_plage_envoi_globale == 'oui' and %%rsyslog_plage_globale_heure_debut != '' and %%rsyslog_plage_globale_heure_fin != ''
501 22 Benjamin Bohard
$ActionQueueSize 10000
502 22 Benjamin Bohard
$ActionQueueDequeueTimeBegin %%rsyslog_plage_globale_heure_debut
503 22 Benjamin Bohard
$ActionQueueDequeueTimeEnd %%rsyslog_plage_globale_heure_fin
504 22 Benjamin Bohard
  %end if
505 22 Benjamin Bohard
$ActionQueueFileName send_all
506 22 Benjamin Bohard
$ActionQueueSaveOnShutdown on
507 22 Benjamin Bohard
508 22 Benjamin Bohard
  %if %%rsyslog_envoi_tls == 'oui'
509 22 Benjamin Bohard
$ActionSendStreamDriverAuthMode x509/name
510 22 Benjamin Bohard
$IncludeConfig /etc/rsyslog.d/outgoing_peers/*.peers
511 22 Benjamin Bohard
$ActionSendStreamDriverMode 1
512 22 Benjamin Bohard
*.* @@%%adresse_ip_serveur_logs:10514
513 22 Benjamin Bohard
  %else
514 22 Benjamin Bohard
*.* :omrelp:%%adresse_ip_serveur_logs:20514
515 22 Benjamin Bohard
  %end if
516 22 Benjamin Bohard
517 22 Benjamin Bohard
%else
518 22 Benjamin Bohard
# Cette machine n'est pas configurée pour transmettre ses logs en globalité à une machine distante.
519 27 Benjamin Bohard
%end if
520 27 Benjamin Bohard
</pre>
521 27 Benjamin Bohard
522 28 Benjamin Bohard
h5. templates
523 27 Benjamin Bohard
524 28 Benjamin Bohard
Le dossier templates regroupe les directives template de rsyslog.
525 28 Benjamin Bohard
526 1 Benjamin Bohard
eole-common:source:tmpl/rsyslog_templates.conf@476ca7cd
527 26 Benjamin Bohard
<pre>
528 22 Benjamin Bohard
$template DynLocalDispatch, "/var/log/rsyslog/local/%programname%/%programname%.%syslogseverity-text%.log"
529 22 Benjamin Bohard
530 1 Benjamin Bohard
$template DynRemoteDispatch, "/var/log/rsyslog/remote/%fromhost%/%programname%/%programname%.%syslogseverity-text%.log"
531 22 Benjamin Bohard
</pre>
532 1 Benjamin Bohard
533 27 Benjamin Bohard
eole-common:source:tmpl/rsyslog_errors.conf@476ca7cd
534 22 Benjamin Bohard
<pre>
535 26 Benjamin Bohard
*.err  /var/log/syslog
536 27 Benjamin Bohard
</pre>
537 22 Benjamin Bohard
538 28 Benjamin Bohard
h5. eole-views
539 28 Benjamin Bohard
540 28 Benjamin Bohard
Le dossier eole-views contient les règles "passantes" élaborées par EOLE.
541 27 Benjamin Bohard
eole-common:source:tmpl/rsyslog_views_auth.conf@476ca7cd
542 1 Benjamin Bohard
<pre>
543 1 Benjamin Bohard
$template DynLocalAuth, "/var/log/rsyslog/local/auth/auth.%syslogseverity-text%.log"
544 1 Benjamin Bohard
$template DynRemoteAuth, "/var/log/rsyslog/remote/%fromhost%/auth/auth.%syslogseverity-text%.log"
545 1 Benjamin Bohard
%if %%activer_reception_logs == 'non'
546 1 Benjamin Bohard
auth, authpriv.* ?DynLocalAuth
547 1 Benjamin Bohard
%else
548 1 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and $fromhost-ip startswith '127' then ?DynLocalAuth
549 1 Benjamin Bohard
 %if %%mode_conteneur_actif == 'oui'
550 1 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and ($fromhost-ip startswith '%%adresse_ip_br0[:-2]' or $fromhost startswith '%%adresse_ip_br0[:-2]') then ?DynLocalAuth
551 1 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and not ($fromhost-ip startswith '%%adresse_ip_br0[:-2]' or $fromhost startswith '%%adresse_ip_br0[:-2]' or $fromhost-ip startswith '127') then ?DynRemoteAuth
552 1 Benjamin Bohard
 %else
553 1 Benjamin Bohard
if $syslogfacility-text startswith 'auth' and not ($fromhost-ip startswith '%%adresse_ip_br0[:-2]' or $fromhost startswith '%%adresse_ip_br0[:-2]' or $fromhost-ip startswith '127') then ?DynRemoteAuth
554 1 Benjamin Bohard
 %end if
555 1 Benjamin Bohard
%end if
556 1 Benjamin Bohard
</pre>
557 1 Benjamin Bohard
558 28 Benjamin Bohard
h5. custom-views
559 28 Benjamin Bohard
560 28 Benjamin Bohard
Le dossier custom-views est laissé à la disposition des administrateurs souhaitant insérer des règles "passantes".
561 28 Benjamin Bohard
562 28 Benjamin Bohard
Les règles personnalisées pour filtrer les services individuellement suivent le modèle de la précédente.
563 28 Benjamin Bohard
564 28 Benjamin Bohard
h5. custom-traps
565 28 Benjamin Bohard
566 28 Benjamin Bohard
Le dossier custom-traps est laissé à la disposition des administrateurs souhaitant insérer des règles "non passantes".
567 28 Benjamin Bohard
568 28 Benjamin Bohard
Les règles personnalisées pour filtrer les services individuellement suivent le modèle de la suivante.
569 28 Benjamin Bohard
570 28 Benjamin Bohard
h5. eole-traps
571 28 Benjamin Bohard
572 28 Benjamin Bohard
Le dossier eole-traps contient les règles "non passantes" élaborées par EOLE.
573 22 Benjamin Bohard
574 22 Benjamin Bohard
eole-common:source:tmpl/rsyslog_traps_rsyslog.conf@476ca7cd
575 22 Benjamin Bohard
<pre>
576 22 Benjamin Bohard
$template DynLocalRsyslog, "/var/log/rsyslog/local/rsyslog/rsyslog.%syslogseverity-text%.log"
577 27 Benjamin Bohard
$template DynRemoteRsyslog, "/var/log/rsyslog/remote/%fromhost%/rsyslog/rsyslog.%syslogseverity-text%.log"
578 22 Benjamin Bohard
%if %%activer_reception_logs == 'non'
579 1 Benjamin Bohard
:programname, startswith, "rsyslog" ?DynLocalRsyslog
580 1 Benjamin Bohard
%else
581 1 Benjamin Bohard
if $programname startswith 'rsyslog' and $fromhost-ip startswith '127' then ?DynLocalRsyslog
582 1 Benjamin Bohard
& ~
583 1 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui'
584 1 Benjamin Bohard
if $programname startswith 'rsyslog' and $fromhost-ip startswith '%%adresse_ip_br0[:-2]' then ?DynLocalRsyslog
585 1 Benjamin Bohard
& ~
586 22 Benjamin Bohard
%end if
587 1 Benjamin Bohard
:programname, startswith, "rsyslog" ?DynRemoteRsyslog
588 22 Benjamin Bohard
& ~
589 22 Benjamin Bohard
%end if
590 1 Benjamin Bohard
591 22 Benjamin Bohard
</pre>
592 22 Benjamin Bohard
593 29 Benjamin Bohard
h5. default_dispatching.conf
594 29 Benjamin Bohard
595 27 Benjamin Bohard
eole-common:source:tmpl/rsyslog_default_dispatching.conf@476ca7cd
596 22 Benjamin Bohard
<pre>
597 27 Benjamin Bohard
:fromhost-ip, startswith, "127" ?DynLocalDispatch
598 22 Benjamin Bohard
& ~
599 22 Benjamin Bohard
%if %%mode_conteneur_actif == 'oui'
600 27 Benjamin Bohard
:fromhost-ip, startswith, "%%adresse_ip_br0[:-2]" ?DynLocalDispatch
601 22 Benjamin Bohard
& ~
602 27 Benjamin Bohard
# Use fromhost in addition to fromhost-ip since there are issues
603 27 Benjamin Bohard
# http://dev-eole.ac-dijon.fr/issues/1204#note-4
604 27 Benjamin Bohard
:fromhost, startswith, "%%adresse_ip_br0[:-2]" ?DynLocalDispatch
605 27 Benjamin Bohard
& ~
606 22 Benjamin Bohard
%end if
607 27 Benjamin Bohard
:fromhost, isequal, "" ?DynLocalDispatch
608 27 Benjamin Bohard
& ~
609 27 Benjamin Bohard
%if %%activer_log_distant == 'oui' and %%activer_reception_logs == 'oui'
610 22 Benjamin Bohard
*.* ?DynRemoteDispatch
611 27 Benjamin Bohard
& ~
612 22 Benjamin Bohard
%end if
613 22 Benjamin Bohard
</pre>
614 27 Benjamin Bohard
615 30 Benjamin Bohard
h4. Couverture des règles
616 30 Benjamin Bohard
617 30 Benjamin Bohard
Actuellement, les services qui disposent de règles spécifiques sont squid, charon, iptables, ufw, smbd, nmbd, named, exim4. Une règle générale traite les autres cas. Ces règles personnalisées ne sont pas essentielles sauf dans le cas de fork (exemple de rsyslog qui ajoute le numéro de PID au nom de programme de ses différentes instances). Dans ce cas, il faut une règle avec une expression régulière ou startswith (ou utiliser la facility si elle est univoque).
618 1 Benjamin Bohard
619 1 Benjamin Bohard
h3. Utilisation des ensembles de règles
620 3 Benjamin Bohard
621 1 Benjamin Bohard
Les règles peuvent être regroupées et les groupes exécutées en fonction de la provenance des messages. La dissociation des ports pour les différentes sources permet d'exécuter des jeux de règles différents pour les messages originaires des conteneurs, de machines distantes ou les messages locaux.
622 1 Benjamin Bohard
623 1 Benjamin Bohard
Le protocole RELP ne bénéficie pas de la possibilité d'utiliser les ensembles de règles (la directive pour associer un ensemble donné à une connection RELP n'apparaît que dans la version 6.3.6 : la version prévue pour precise est la 5.8.6).
624 8 Daniel Dehennin
625 1 Benjamin Bohard
h2. L'arborescence typique
626 8 Daniel Dehennin
627 8 Daniel Dehennin
<pre>
628 8 Daniel Dehennin
/var/log/syslog
629 8 Daniel Dehennin
├── local
630 8 Daniel Dehennin
│   ├── exim
631 8 Daniel Dehennin
│   │   ├── exim.alert
632 8 Daniel Dehennin
│   │   ├── exim.info
633 8 Daniel Dehennin
│   │   └── exim.notice
634 8 Daniel Dehennin
│   └── smbd
635 8 Daniel Dehennin
│       ├── smbd.debug
636 8 Daniel Dehennin
│       └── smbd.info
637 8 Daniel Dehennin
└── remote
638 8 Daniel Dehennin
    ├── 10.11.12.13
639 8 Daniel Dehennin
    │   ├── aaa
640 8 Daniel Dehennin
    │   │   └── aaa.info
641 8 Daniel Dehennin
    │   └── ipsec
642 8 Daniel Dehennin
    │       └── ipsec.error
643 8 Daniel Dehennin
    ├── 15.16.17.18
644 8 Daniel Dehennin
    │   ├── apache2
645 8 Daniel Dehennin
    │   │   └── apache2.error
646 8 Daniel Dehennin
    │   └── kerberos
647 8 Daniel Dehennin
    │       └── kerberos.info
648 8 Daniel Dehennin
    └── sw12-4
649 6 Benjamin Bohard
        └── aaa
650 6 Benjamin Bohard
            └── aaa.info
651 6 Benjamin Bohard
</pre>
652 6 Benjamin Bohard
653 6 Benjamin Bohard
h2. Rotation des journaux
654 6 Benjamin Bohard
655 7 Benjamin Bohard
h3. Principes de logrotate
656 7 Benjamin Bohard
657 6 Benjamin Bohard
* options globales : des options peuvent être définies en début de fichier ;
658 6 Benjamin Bohard
* -overriding : les fichiers sont lus séquentiellement, celui qui parle en dernier à raison- ;
659 6 Benjamin Bohard
* gobbling : les règles spécifques peuvent utiliser le wildcard * (problème des redondances de règles cependant.
660 7 Benjamin Bohard
661 1 Benjamin Bohard
h3. Mise en œuvre de logrotate
662 1 Benjamin Bohard
663 1 Benjamin Bohard
Pour composer avec les contraintes de logrotate, on ajoute .log à la fin de chaque fihier. Cela permet d'utiliser le globbing sur un dossier en excluant les journaux archivés.