Next: Networking Setup, Previous: Ejecución de tareas programadas, Up: Servicios [Contents][Index]
Los archivos de registro como los encontrados en /var/log tienden a
crecer indefinidamente, de modo que es buena idea llevar a cabo una
rotación de vez en cuando—es decir, archivar su contenido en archivos
distintos, posiblemente comprimidos. El módulo (gnu services admin)
proporciona una interfaz con GNU Rot[t]log, una herramienta de rotación
de registros (see GNU Rot[t]log Manual).
Este servicio es parte de %base-services
, y por lo tanto se activa de
manera predeterminada, con la configuración predeterminada, para archivos de
registro que se pueden encontrar habitualmente. El siguiente ejemplo muestra
como extenderlo con una rotación adicional, en caso de que deba
hacerlo (habitualmente los servicios que producen archivos de registro ya lo
hacen ellos mismos):
(use-modules (guix) (gnu)) (use-service-modules admin) (define mis-archivos-de-registro ;; Archivos que deseo rotar. '("/var/log/un-archivo.log" "/var/log/otro.log")) (operating-system ;; … (services (cons (simple-service 'rota-mis-cosas rottlog-service-type (list (log-rotation (frequency 'daily) (files mis-archivos-de-registro)))) %base-services)))
Este es el tipo del servicio Rottlog, cuyo valor es un objeto
rottlog-configuration
.
Otros servicios pueden extenderlo con nuevos objetos log-rotation
(véase a continuación), aumentando de dicho modo el conjunto de archivos a
rotar.
Este servicio puede definir trabajos de mcron (see Ejecución de tareas programadas) para ejecutar el servicio rottlog.
Tipo de datos que representa la configuración de rottlog.
rottlog
(predeterminado: rottlog
)El paquete Rottlog usado.
rc-file
(predeterminado: (file-append rottlog "/etc/rc")
)El archivo de configuración de Rottlog usado (see Mandatory RC Variables in GNU Rot[t]log Manual).
rotations
(predeterminadas: %default-rotations
)Una lista de objetos log-rotation
como se define a continuación.
jobs
Esta es una lista de expresiones-G donde cada expresión-G corresponde a una especificación de trabajo de mcron (see Ejecución de tareas programadas).
Tipo de datos que representa la rotación de un grupo de archivos de log.
Tomando el ejemplo del manual de Rottlog (see Period Related File Examples in GNU Rot[t]log Manual), una rotación de registros se podría definir de esta manera:
(log-rotation
(frequency 'daily)
(files '("/var/log/apache/*"))
(options '("storedir apache-archives"
"rotate 6"
"notifempty"
"nocompress")))
La lista de campos es como sigue:
frequency
(predeterminada: 'weekly
)La frecuencia de rotación de logs, un símbolo.
files
La lista de archivos o patrones extendidos de archivo a rotar.
options
(default: %default-log-rotation-options
)The list of rottlog options for this rotation (see Configuration parameters in GNU Rot[t]log Manual).
post-rotate
(predeterminado: #f
)O bien #f
, o bien una expresión-G que se ejecutará una vez la
rotación se haya completado.
Especifica la rotación semanal de %rotated-files
y de
/var/log/guix-daemon.log.
La lista de archivos controlados por syslog que deben ser rotados. De manera
predeterminada es '("/var/log/messages" "/var/log/secure"
"/var/log/maillog")
.
Some log files just need to be deleted periodically once they are old,
without any other criterion and without any archival step. This is the case
of build logs stored by guix-daemon
under
/var/log/guix/drvs (see Invocación de guix-daemon
). The
log-cleanup
service addresses this use case. For example,
%base-services
(see Servicios base) includes the following:
;; Periodically delete old build logs. (service log-cleanup-service-type (log-cleanup-configuration (directory "/var/log/guix/drvs")))
That ensures build logs do not accumulate endlessly.
This is the type of the service to delete old logs. Its value must be a
log-cleanup-configuration
record as described below.
Data type representing the log cleanup configuration
directory
Name of the directory containing log files.
expiry
(default: (* 6 30 24 3600)
)Age in seconds after which a file is subject to deletion (six months by default).
schedule
(default: "30 12 01,08,15,22 * *"
)String or gexp denoting the corresponding mcron job schedule (see Ejecución de tareas programadas).
Anonip is a privacy filter that removes IP address from web server logs. This service creates a FIFO and filters any written lines with anonip before writing the filtered log to a target file.
The following example sets up the FIFO /var/run/anonip/https.access.log and writes the filtered log file /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")))
Configure your web server to write its logs to the FIFO at /var/run/anonip/https.access.log and collect the anonymized log file at /var/web-logs/https.access.log.
This data type represents the configuration of anonip. It has the following parameters:
anonip
(default: anonip
)The anonip package to use.
input
The file name of the input log file to process. The service creates a FIFO of this name. The web server should write its logs to this FIFO.
output
The file name of the processed log file.
The following optional settings may be provided:
debug?
Print debug messages when #true
.
skip-private?
When #true
do not mask addresses in private ranges.
column
A 1-based indexed column number. Assume IP address is in the specified column (default is 1).
replacement
Replacement string in case address parsing fails, e.g. "0.0.0.0"
.
ipv4mask
Number of bits to mask in IPv4 addresses.
ipv6mask
Number of bits to mask in IPv6 addresses.
increment
Increment the IP address by the given number. By default this is zero.
delimiter
Log delimiter string.
regex
Regular expression for detecting IP addresses. Use this instead of
column
.
Next: Networking Setup, Previous: Ejecución de tareas programadas, Up: Servicios [Contents][Index]