El agente de operaciones escribe en un archivo de registro llamado logging-module.log
. Cuando el agente se ejecuta sin supervisión durante largos periodos o cuando se produce un problema, este archivo de registro automático puede consumir todo el espacio de disco disponible. En este documento se describe cómo usar la rotación de registros para evitar este problema.
La versión 2.31.0 del agente de operaciones incluye una función de rotación de registros configurable integrada en el agente. Si usas la versión 2.31.0 del agente de Ops o una posterior, puedes usar la función de rotación de registros integrada. Consulta Configurar la rotación de registros en el agente de Ops.
También puedes gestionar la rotación de registros manualmente. Es posible que necesites un proceso manual si usas una versión del agente de Ops sin rotación de registros integrada o si prefieres rotar los registros manualmente. Consulta Configurar la rotación automática de archivos de registro en máquinas virtuales Linux para ver una de las posibles opciones.
Configurar la rotación de registros en el agente de operaciones
En esta sección se describe cómo modificar la configuración predeterminada de rotación de registros que usa el agente de Ops para rotar sus registros automáticamente. Para usar esta función, se necesita la versión 2.31.0 o una posterior del agente de operaciones.
Configuración predeterminada
El agente de Ops usa la entrada default_self_log_file_rotation
para configurar la rotación de registros. Esta entrada de configuración tiene tres opciones. El siguiente fragmento muestra las opciones y sus valores predeterminados:
default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
La configuración de default_self_log_file_rotation
tiene tres opciones:
enabled
: indica si la rotación de registros está habilitada. El valor predeterminado estrue
.max_file_size_megabytes
: tamaño máximo que puede alcanzar el archivo de registro antes de que se cree una copia de seguridad mediante la rotación de registros. Se mide en megabytes (10242 bytes). El valor predeterminado es 400 y el valor mínimo válido es 1.backup_count
: número de archivos de registro antiguos que se conservarán. El valor predeterminado es 1 y el valor mínimo válido es 1.
Configuración de usuario de la rotación de registros
Para modificar la configuración predeterminada de rotación de registros, debes anularla redefiniendo la configuración en el archivo de configuración de usuario del agente de operaciones:
- En Linux:
/etc/google-cloud-ops-agent/config.yaml
- En Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Para configurar la rotación de registros en el agente de Ops, añade una sección global
al archivo de configuración del usuario e incluye el elemento de configuración default_self_log_file_rotation
en la sección global
. Es posible que ya tengas canalizaciones de registro o de métricas en este archivo de configuración. Añade la sección global
después de tus canalizaciones. El resultado, con todas las opciones y los valores predeterminados, es el siguiente:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
Configuraciones de ejemplo
Para inhabilitar la rotación de registros mediante el agente de operaciones, especifica la opción enabled
con el valor false
:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: false
Para rotar el registro cuando el archivo de registro alcance los 20 MB y conservar 5 copias de seguridad (6 archivos en total), haz lo siguiente:
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 20 backup_count: 5
Para rotar el registro cuando el archivo de registro alcance los 2000 MB (2 GB) y conservar una copia de seguridad (2 archivos en total), haz lo siguiente:
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 2000
Para rotar el registro cuando el archivo de registro alcance los 400 MB y conservar 2 copias de seguridad (3 archivos en total), haz lo siguiente:
logging: ... metrics: ... global: default_self_log_file_rotation: backup_count: 2
Si haces cambios con frecuencia a medida que perfeccionas la configuración de la rotación de registros, recuerda reiniciar el agente para aplicar los cambios.
Configurar la rotación de archivos de registro automático en máquinas virtuales Linux
Para limitar el tamaño del registro del subagente de registro en /var/log/google-cloud-ops-agent/subagents/logging-module.log
, instala y configura la utilidad logrotate
.
Instala la utilidad
logrotate
ejecutando el siguiente comando:En Debian y Ubuntu
sudo apt install logrotate
En CentOS, RHEL y Fedora
sudo yum install logrotate
Crea un archivo de configuración
logrotate
en/etc/logrotate.d/google-cloud-ops-agent.conf
.sudo tee /etc/logrotate.d/google-cloud-ops-agent.conf > /dev/null << EOF # logrotate config to rotate Google Cloud Ops Agent self log file. # See https://manpages.debian.org/jessie/logrotate/logrotate.8.en.html for # the full options. /var/log/google-cloud-ops-agent/subagents/logging-module.log { # Log files are rotated every day. daily # Log files are rotated this many times before being removed. This # effectively limits the disk space used by the Ops Agent self log files. rotate 30 # Log files are rotated when they grow bigger than maxsize even before the # additionally specified time interval maxsize 256M # Skip rotation if the log file is missing. missingok # Do not rotate the log if it is empty. notifempty # Old versions of log files are compressed with gzip by default. compress # Postpone compression of the previous log file to the next rotation # cycle. delaycompress } EOF
Configura
crontab
osystemd timer
para activar la utilidadlogrotate
periódicamente.
Una vez que la rotación de registros surta efecto, verás los archivos rotados en el directorio /var/log/google-cloud-ops-agent/subagents/
. Los resultados deberían ser similares a los siguientes:
/var/log/google-cloud-ops-agent/subagents$ ls -lh
total 24K
-rw-r--r-- 1 root root 717 Sep 3 19:54 logging-module.log
-rw-r--r-- 1 root root 6.8K Sep 3 19:51 logging-module.log.1
-rw-r--r-- 1 root root 874 Sep 3 19:50 logging-module.log.2.gz
-rw-r--r-- 1 root root 873 Sep 3 19:50 logging-module.log.3.gz
-rw-r--r-- 1 root root 3.2K Sep 3 19:34 logging-module.log.4.gz
Para probar la rotación de registros, haz lo siguiente:
Reduce temporalmente el tamaño del archivo con el que se activa la rotación. Para ello, asigna el valor
1k
amaxsize
en el archivo/etc/logrotate.d/google-cloud-ops-agent.conf
.Reinicia el agente varias veces para que el archivo de registro automático del agente sea superior a 1 K:
sudo service google-cloud-ops-agent restart
Espera a que
crontab
osystemd timer
surtan efecto para activar la utilidadlogrotate
o activa la utilidadlogrotate
manualmente ejecutando este comando:sudo logrotate /etc/logrotate.d/google-cloud-ops-agent.conf
Comprueba que los archivos de registro rotados se encuentran en el directorio
/var/log/google-cloud-ops-agent/subagents/
.Restablece la configuración de rotación de registros restaurando el valor original de
maxsize
.