L'agent Ops écrit dans un fichier journal nommé logging-module.log
. Lorsque l'agent s'exécute sans surveillance pendant de longues périodes ou lorsqu'un problème survient, ce fichier "journal automatique" peut consommer tout l'espace disque disponible. Ce document explique comment utiliser la rotation des journaux pour éviter ce problème.
La version 2.31.0 de l'agent Ops introduit une fonctionnalité de rotation des journaux configurable intégrée à l'agent. Si vous exécutez la version 2.31.0 ou ultérieure de l'agent Ops, vous pouvez utiliser la fonctionnalité de rotation des journaux intégrée. Consultez la section Configurer la rotation des journaux dans l'agent Ops.
Vous pouvez également gérer la rotation des journaux manuellement. Vous aurez peut-être besoin d'effectuer un processus manuel si vous utilisez une version de l'agent Ops sans rotation de journaux intégrée ou si vous préférez effectuer la rotation de vos journaux manuellement. Pour découvrir une approche possible, consultez la section Configurer la rotation des fichiers journaux automatiques sur les VM Linux.
Configurer la rotation des journaux dans l'agent Ops
Cette section explique comment modifier la configuration par défaut de rotation des journaux utilisée par l'agent Ops pour effectuer la rotation de ses journaux automatiquement. L'utilisation de cette fonctionnalité nécessite la version 2.31.0 ou une version ultérieure de l'agent Ops.
Configuration par défaut
L'agent Ops utilise l'entrée default_self_log_file_rotation
pour configurer la rotation des journaux. Cette entrée de configuration utilise trois options. L'extrait de code suivant montre les options et leurs valeurs par défaut :
default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
La configuration default_self_log_file_rotation
accepte trois options :
enabled
: indique si la rotation des journaux est activée. La valeur par défaut esttrue
.max_file_size_megabytes
: taille maximale que le fichier journal peut atteindre avant sa sauvegarde par la rotation des journaux. Elle est mesurée en mégaoctets (1 0242 octets). La valeur par défaut est de 400, et la valeur minimale valide est de 1.backup_count
: nombre d'anciens fichiers journaux à conserver. La valeur par défaut est de 1, et la valeur minimale valide est de 1.
Configuration utilisateur de la rotation des journaux
Pour modifier la configuration de rotation des journaux par défaut, vous devez remplacer celle-ci en redéfinissant la configuration dans le fichier de configuration utilisateur de l'agent Ops :
- Sous Linux :
/etc/google-cloud-ops-agent/config.yaml
- Sur Windows :
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Pour configurer la rotation des journaux dans l'agent Ops, ajoutez une section global
au fichier de configuration utilisateur et incluez l'élément de configuration default_self_log_file_rotation
dans la section global
. Vous disposez peut-être déjà de pipelines de journalisation ou de métriques dans ce fichier de configuration. Ajoutez la section global
après vos pipelines. Le résultat, spécifiant toutes les options et valeurs par défaut, se présente comme suit :
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
Exemples de configurations
Pour désactiver la rotation des journaux par l'agent Ops, spécifiez l'option enabled
avec la valeur false
:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: false
Pour effectuer la rotation du journal lorsque le fichier de journal atteint 20 Mo et conserver cinq sauvegardes (six fichiers au total), procédez comme suit :
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 20 backup_count: 5
Pour effectuer la rotation du journal lorsque le fichier journal atteint 2 000 Mo (2 Go) et conserver une sauvegarde (deux fichiers au total), procédez comme suit :
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 2000
Pour effectuer la rotation du journal lorsque le fichier journal atteint 400 Mo et conserver deux sauvegardes (trois fichiers au total), procédez comme suit :
logging: ... metrics: ... global: default_self_log_file_rotation: backup_count: 2
Si vous effectuez des modifications fréquentes lorsque vous affinez la configuration de la rotation des journaux, pensez à redémarrer l'agent pour appliquer vos modifications.
Configurer la rotation des fichiers journaux automatiques sur les VM Linux
Pour limiter la taille du journal de sous-agent de journalisation dans /var/log/google-cloud-ops-agent/subagents/logging-module.log
, installez et configurez l'utilitaire logrotate
.
Installez l'utilitaire
logrotate
en exécutant la commande suivante :Sur Debian et Ubuntu
sudo apt install logrotate
Sur CentOS, RHEL et Fedora
sudo yum install logrotate
Créez un fichier de configuration
logrotate
dans/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
Configurez
crontab
ousystemd timer
pour déclencher l'utilitairelogrotate
périodiquement.
Une fois que la rotation des journaux est prise en compte, les fichiers alternés s'affichent dans le répertoire /var/log/google-cloud-ops-agent/subagents/
. Les résultats ressemblent à ce qui suit :
/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
Pour tester la rotation des journaux, procédez comme suit :
Réduisez temporairement la taille de fichier à laquelle la rotation est déclenchée en définissant la valeur
maxsize
sur1k
dans le fichier/etc/logrotate.d/google-cloud-ops-agent.conf
.Déclenchez le fichier journal automatique de l'agent pour qu'il dépasse les 1 Ko en redémarrant plusieurs fois l'agent :
sudo service google-cloud-ops-agent restart
Attendez que
crontab
ousystemd timer
prennent effet pour déclencher l'utilitairelogrotate
, ou déclenchez l'utilitairelogrotate
manuellement en exécutant la commande suivante :sudo logrotate /etc/logrotate.d/google-cloud-ops-agent.conf
Vérifiez que les fichiers journaux alternés s'affichent bien dans le répertoire
/var/log/google-cloud-ops-agent/subagents/
.Réinitialisez la configuration de la rotation des journaux en restaurant la valeur
maxsize
d'origine.