Ops Agent scrive in un file di log denominato logging-module.log
. Se l'agente viene eseguito in modalità automatica per lunghi periodi o quando si verifica un problema, il file "self-log" può consumare tutto lo spazio su disco disponibile. Questo documento descrive come utilizzare la rotazione dei log per evitare questo problema.
Ops Agent versione 2.31.0 introduce una funzionalità di rotazione dei log configurabile integrata nell'agente. Se esegui Ops Agent versione 2.31.0 o successive, puoi utilizzare la funzionalità di rotazione dei log integrata. Consulta Configurare la rotazione dei log in Ops Agent.
Puoi anche gestire la rotazione dei log manualmente. Potrebbe essere necessario un processo manuale se utilizzi una versione di Ops Agent senza rotazione dei log integrata o se preferisci ruotare manualmente i log. Per un possibile approccio, consulta Configurare la rotazione dei file di log autonomo sulle VM Linux.
Configura la rotazione dei log in Ops Agent
Questa sezione descrive come modificare la configurazione predefinita della rotazione dei log utilizzata da Ops Agent per ruotare automaticamente i log. L'uso di questa funzionalità richiede Ops Agent versione 2.31.0 o successiva.
Configurazione predefinita
Ops Agent utilizza la voce default_self_log_file_rotation
per configurare la rotazione dei log. Questa voce di configurazione accetta tre opzioni. Lo snippet seguente mostra le opzioni e i relativi valori predefiniti:
default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
La configurazione di default_self_log_file_rotation
prevede tre opzioni:
enabled
: indica se è abilitata la rotazione dei log; il valore predefinito ètrue
.max_file_size_megabytes
: la dimensione massima che il file di log può raggiungere prima che venga eseguito il backup tramite rotazione dei log. Misurato in megabyte (10242 byte). Il valore predefinito è 400, il valore minimo valido è 1.backup_count
: il numero di file di log precedenti da conservare. Il valore predefinito è 1, il valore minimo valido è 1.
Configurazione utente della rotazione dei log
Per modificare la configurazione della rotazione dei log predefinita, esegui l'override di questa configurazione ridefinendo la configurazione nel file di configurazione utente di Ops Agent:
- Su Linux:
/etc/google-cloud-ops-agent/config.yaml
- Su Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Per configurare la rotazione dei log in Ops Agent, aggiungi una sezione global
al file di configurazione utente e includi l'elemento di configurazione default_self_log_file_rotation
nella sezione global
. Il file di configurazione potrebbe contenere già pipeline di logging o delle metriche. Aggiungi la sezione global
dopo le pipeline. Il risultato, che specifica tutte le opzioni e i valori predefiniti, è simile al seguente:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
Configurazioni di esempio
Per disabilitare la rotazione dei log da parte dell'Ops Agent, specifica l'opzione enabled
con il
valore false
:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: false
Per ruotare il log quando il file di log raggiunge i 20 MB e conservare 5 backup (6 file in totale):
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 20 backup_count: 5
Per ruotare il log quando il file di log raggiunge i 2000 MB (2 GB) e conservare 1 backup (2 file in totale):
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 2000
Per ruotare il log quando il file di log raggiunge i 400 MB e conservare 2 backup (3 file in totale):
logging: ... metrics: ... global: default_self_log_file_rotation: backup_count: 2
Se apporti modifiche frequenti quando perfezioni la configurazione della rotazione dei log, ricorda di riavviare l'agente per applicare le modifiche.
Configura la rotazione dei file self-log sulle VM Linux
Per limitare le dimensioni del log del sub-agente di logging in /var/log/google-cloud-ops-agent/subagents/logging-module.log
, installa e configura l'utilità logrotate
.
Installa l'utilità
logrotate
eseguendo questo comando:In Debian e Ubuntu
sudo apt install logrotate
Su CentOS, RHEL e Fedora
sudo yum install logrotate
Crea un file di configurazione
logrotate
all'indirizzo/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
per attivare periodicamente l'utilitàlogrotate
.
Una volta applicata la rotazione dei log, i file ruotati vengono visualizzati nella directory /var/log/google-cloud-ops-agent/subagents/
. I risultati sono simili al seguente output:
/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
Per verificare la rotazione dei log:
Riduci temporaneamente le dimensioni del file su cui viene attivata la rotazione impostando il valore
maxsize
su1k
nel file/etc/logrotate.d/google-cloud-ops-agent.conf
.Attiva il file di log automatico dell'agente in modo che abbia una dimensione superiore a 1000 riavviando l'agente alcune volte:
sudo service google-cloud-ops-agent restart
Attendi che
crontab
osystemd timer
diventino effettivi per attivare l'utilitàlogrotate
oppure attiva manualmente l'utilitàlogrotate
eseguendo questo comando:sudo logrotate /etc/logrotate.d/google-cloud-ops-agent.conf
Verifica che nella directory
/var/log/google-cloud-ops-agent/subagents/
siano visualizzati i file di log ruotati.Reimposta la configurazione della rotazione dei log ripristinando il valore
maxsize
originale.