Utilizza la rotazione dei log per gli autolog di Ops Agent

Ops Agent scrive in un file di log denominato logging-module.log. Quando di un agente viene eseguito incustodito per lunghi periodi o quando si verifica un problema, "autoregistrazione" può occupare tutto lo spazio disponibile su disco. Questo documento descrive come utilizzare la rotazione dei log per evitare questo problema.

Ops Agent versione 2.31.0 introduce una funzionalità di rotazione log configurabile integrata nell'agente. Se esegui la corsa Ops Agent 2.31.0 o versioni successive, quindi puoi utilizzare la funzione integrata di rotazione log, vedi Configura la rotazione dei log in Ops Agent.

Puoi anche gestire la rotazione dei log manualmente. Potrebbe essere necessaria una procedura manuale se utilizzi una versione di Ops Agent senza la rotazione dei log integrata, o se preferisci ruotare manualmente i log. Vedi Impostare un file di log autonomo la rotazione sulle VM Linux per un possibile approccio.

Configura la rotazione dei log in Ops Agent

Questa sezione descrive come modificare la configurazione predefinita della rotazione log utilizzato da Ops Agent per ruotare automaticamente i log. Per utilizzare questa funzionalità è necessaria la versione di Ops Agent 2.31.0 o versioni successive.

Configurazione predefinita

Ops Agent utilizza la voce default_self_log_file_rotation per e configurare la rotazione dei log. Questa voce di configurazione prevede tre opzioni: il seguente snippet 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 la rotazione dei log è abilitata; il valore predefinito è true.
  • max_file_size_megabytes: la dimensione massima che il file di log può raggiungere prima del giorno viene eseguito il backup tramite rotazione dei log. Misurato in megabyte (10242 byte). Il valore predefinito è 400, minimo il valore 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 predefinita della rotazione log, sostituisci questa e la configurazione mediante la ridefinizione della configurazione in Ops Agent file di configurazione utente:

  • Su Linux: /etc/google-cloud-ops-agent/config.yaml
  • Su Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
di Gemini Advanced.

Per configurare la rotazione dei log in Ops Agent, aggiungi una sezione global al file di configurazione dell'utente e includi l'elemento di configurazione default_self_log_file_rotation nella sezione global. Potresti hanno già pipeline di logging o metriche in questo file di configurazione; aggiungi la sezione global dopo le pipeline. Il risultato, specificando tutti le opzioni e i valori predefiniti ha il seguente aspetto:

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 di Ops Agent, specifica l'opzione enabled con 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 conserva 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 due backup (3 file in totale):

logging:  ...
metrics:  ...
global:
  default_self_log_file_rotation:
    backup_count: 2

Se apporti modifiche frequenti man mano che perfezioni la configurazione della rotazione del log, ricordati di riavviare l'agente per e applicare le modifiche.

Configura la rotazione dei file con log autonomo sulle VM Linux

Per limitare le dimensioni del log del sub-agente di logging a /var/log/google-cloud-ops-agent/subagents/logging-module.log, installa e configurare l'utilità logrotate.

  1. Installa l'utilità logrotate eseguendo questo comando:

    Su Debian e Ubuntu

    sudo apt install logrotate
    

    Su CentOS, RHEL e Fedora

    sudo yum install logrotate
    
  2. 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
    
  3. Configura crontab o systemd timer per attivare l'impostazione logrotate.

Una volta applicata la rotazione dei log, i file ruotati verranno 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 testare la rotazione dei log, segui questi passaggi:

  1. Riduci temporaneamente le dimensioni del file alla quale viene attivata la rotazione impostando il valore maxsize in 1k nel /etc/logrotate.d/google-cloud-ops-agent.conf file.

  2. Riavvia l'agente per fare in modo che il file di log autonomo dell'agente superi le dimensioni di 1000 alcune volte:

    sudo service google-cloud-ops-agent restart
    
  3. Attendi che crontab o systemd timer diventino effettivi per attivare logrotate o puoi attivare manualmente l'utilità logrotate eseguendo questo comando:

    sudo logrotate /etc/logrotate.d/google-cloud-ops-agent.conf
    
  4. Verifica che i file di log ruotati nell'elenco Directory /var/log/google-cloud-ops-agent/subagents/.

  5. Reimposta la configurazione della rotazione log ripristinando l'elemento maxsize originale valore.