Suivant: Configuration du réseau, Précédent: Exécution de tâches planifiées, Monter: Services [Table des matières][Index]
Les fichiers journaux comme ceux qui se trouvent dans /var/log ont
tendance à grandir sans fin, donc c’est une bonne idée de le faire
tourner de temps à autres — c.-à-d. archiver leur contenu dans des
fichiers séparés, potentiellement compressés. Le module (gnu services
admin)
fournit une interface pour GNU Rot[t]log, un outil de rotation
de journaux (voir GNU Rot[t]log Manual).
Ce service fait partie de %base-services
, et se trouve donc activé
par défaut, avec les paramètres par défaut, pour les fichiers journaux les
plus fréquemment rencontrés. L’exemple ci-dessous montre comment l’étendre
avec une rotation supplémentaire, si vous devez le faire
(généralement, les services qui produisent des fichiers journaux s’en
chargent déjà) :
(use-modules (guix) (gnu)) (use-service-modules admin) (define my-log-files ;; Journaux que je veux faire tourner. '("/var/log/something.log" "/var/log/another.log")) (operating-system ;; … (services (cons (simple-service 'rotate-my-stuff rottlog-service-type (list (log-rotation (frequency 'daily) (files my-log-files)))) %base-services)))
C’est le type du service Rotlog, dont la valeur est un objet
rottlog-configuration
.
D’autres services peuvent étendre celui-ci avec de nouveaux objets
log-rotation
(voir plus bas), en augmentant ainsi l’ensemble des
fichiers à faire tourner.
Ce type de service peut définir des tâches (voir Exécution de tâches planifiées) pour lancer le service rottlog.
Type de données représentant la configuration de rottlog.
rottlog
(par défaut : rottlog
)Le paquet Rottlog à utiliser.
rc-file
(par défaut : (file-append rottlog "/etc/rc")
)Le fichier de configuration Rottlog à utiliser (voir Mandatory RC Variables dans GNU Rot[t]log Manual).
rotations
(par défaut : %default-rotations
)Une liste d’objets log-rotation
définis plus bas.
jobs
C’est une liste de gexps où chaque gexp correspond à une spécification de tâche de mcron (voir Exécution de tâches planifiées).
Type de données représentant la rotation d’un groupe de fichiers journaux.
En reprenant un exemple du manuel de Rottlog (voir Period Related File Examples dans GNU Rot[t]log Manual), on peut définir la rotation d’un journal de cette manière :
(log-rotation
(frequency 'daily)
(files '("/var/log/apache/*"))
(options '("storedir apache-archives"
"rotate 6"
"notifempty"
"nocompress")))
La liste des champs est la suivante :
frequency
(par défaut : 'weekly
)La fréquence de rotation, un symbole.
files
La liste des fichiers ou des motifs de noms de fichiers à faire tourner.
options
(par défaut : %default-log-rotation-options
)La liste des options de rottlog pour cette rotation (voir Configuration parameters dans GNU Rot[t]log Manual).
post-rotate
(par défaut : #f
)Soit #f
, soit une gexp à exécuter une fois la rotation terminée.
Spécifie la rotation hebdomadaire de %rotated-files
et de
/var/log/guix-daemon.log.
La liste des fichiers contrôlés par syslog à faire tourner. Par défaut il
s’agit de : '("/var/log/messages" "/var/log/secure" "/var/log/debug" \
"/var/log/maillog")
.
Certains fichiers journaux doivent simplement être supprimés périodiquement
quand ils deviennent trop vieux, sans autre critère et sans étape
d’archivage. C’est le cas des journaux de construction stockés par
guix-daemon
dans /var/log/guix/drvs (voir Invoquer guix-daemon
). Le service log-cleanup
gère ce cas. Par exemple,
%base-services
(voir Services de base) inclus ce qui suit :
;; Supprime régulièrement les anciens journaux de construction. (service log-cleanup-service-type (log-cleanup-configuration (directory "/var/log/guix/drvs")))
Cela s’assure que les journaux de construction ne s’accumulent pas sans fin.
C’est le type du service pour supprimer les anciens journaux. Sa valeur
doit être un enregistrement log-cleanup-configuration
, décrit
ci-dessous.
Type de données représentant la configuration de nettoyage des journaux
directory
Nom du répertoire contenant les fichiers journaux.
expiry
(par défaut : (* 6 30 24 3600)
)Âge en secondes après lequel un fichier peut être supprimé (six moins par défaut).
schedule
(par défaut : "30 12 01,08,15,22 * *"
)Chaine ou gexp dénotant la date de la tâche mcron correspondant (voir Exécution de tâches planifiées).
Anonip est un filtre pour la vie privée qui supprime les adresses IP des journaux des serveurs web. Ce service crée une FIFO et filtre toutes les lignes écrite avec anonip avant d’écrire les journaux filtrés dans un fichier cible.
L’exemple suivant configure la FIFO /var/run/anonip/https.access.log et écrit le fichier journal filtré dans /var/log/anonip/https.access.log.
(service anonip-service-type
(anonip-configuration
(input "/var/run/anonip/https.access.log")
(output "/var/log/anonip/https.access.log")))
Configurez votre serveur web pour écrire ses journaux dans la FIFO /var/run/anonip/https.access.log et récupérez les fichiers journaux anonymisés dans /var/web-logs/https.access.log.
Ce type de données représente la configuration d’anonip. Il a les paramètres suivants :
anonip
(par défaut : anonip
)Le paquet anonip à utiliser.
input
Le nom de fichier du fichier journal d’entrée à traiter. Le service crée une FIFO de ce nom. Le serveur web doit écrire ses journaux dans cette FIFO.
output
Le nom du fichier journal traité.
Les réglages facultatifs suivants peuvent être fournis :
skip-private?
Lorsque la valeur est #true
, ne masque pas les adresses dans les
plages privées.
column
Un numéro de colonne commençant par 1 pour la première colonne. Suppose que l’adresse IP est dans la colonne donnée (1 par défaut).
replacement
Chaine de remplacement au cas où l’analyse de l’adresse échoue, p. ex.
"0.0.0.0"
.
ipv4mask
Nombre de bits à masquer dans les adresses IPv4.
ipv6mask
Nombre de bits à masquer dans les adresses IPv6.
increment
Incrémente l’adresse IP par le nombre donné. La valeur par défaut est zéro.
delimiter
Chaine de délimitation des journaux.
regex
Expression régulière pour détecter l’adresse IP. À utiliser à la place de
column
.
Suivant: Configuration du réseau, Précédent: Exécution de tâches planifiées, Monter: Services [Table des matières][Index]