I seguenti file di log si trovano nella directory /obs/diagnostic/
:
postgresql.audit
: questo file di log raccoglie i log di controllo dell'accesso a sessioni e oggetti. Per raccogliere i log di controllo, devi abilitarli.postgresql.log
: questo file di log raccoglie i log del server PostgreSQL. Questi log vengono sempre raccolti e non devono essere abilitati.
Quando un file di log viene ruotato, si verifica quanto segue:
Il file di log viene copiato nella directory
/obs/diagnostic/archive/
. Se nella directory esiste un file di log con lo stesso nome, questo viene sovrascritto.I contenuti del file di log ruotato originale vengono eliminati in modo che il file sia vuoto.
Le informazioni del log iniziano immediatamente a essere scritte nel file di log ruotato vuoto. Le informazioni di log vengono scritte nel file di log fino a quando il file non raggiunge una soglia di dimensione o etร , a quel punto viene nuovamente ruotato. I log vengono ruotati in modo che non diventino troppo grandi.
Per impostazione predefinita, l'impostazione di rotazione prevede che ogni file di log ruoti quando le sue dimensioni raggiungono i 200 MB. La rotazione predefinita non include un'impostazione dell'etร .
I file archiviati vengono conservati per 7 giorni. I file archiviati piรน vecchi
di 7 giorni vengono rimossi automaticamente, ad eccezione del file archiviato
durante l'ultima rotazione. Ad esempio, se log_rotation_age
ha piรน di 7 giorni,
il file archiviato raggiunge la soglia di 7 giorni prima della rotazione del
file corrente. In questo caso, il file archiviato non viene rimosso finchรฉ la rotazione successiva non genera un nuovo file archiviato.
Ogni nome file di log ruotato segue questo formato: postgresql-%Y-%m-%d_%H%M%S.log
.
Il timestamp viene determinato al momento della rotazione dei log ed รจ espresso in
Coordinated Universal Time (UTC). Ad esempio, se il log viene ruotato alle
13:01:02 del 20/12/2024 UTC, il nome del file archiviato รจ
postgresql-2024-12-20_130102.log
.
Ogni file archiviato viene compresso singolarmente utilizzando il formato di file Gzip.
Abilita audit log
Affinchรฉ i log di accesso a sessioni e oggetti vengano raccolti nel file postgresql.audit
, devi attivare il parametro del database pgaudit
. Per attivare pgaudit
,
aggiungi la seguente riga alla sezione parameters
del
file v1_dbcluster_parameters.yaml
in Secret
:
alloydb.enable_pgaudit: "on"
Di seguito รจ riportato un esempio di come potrebbe apparire:
apiVersion: v1
kind: Secret
...
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "16.8.0"
primarySpec:
...
parameters:
...
alloydb.enable_pgaudit: "on"
Per ulteriori informazioni, vedi pgaudit
in
Estensioni di database supportate
e Estensione di controllo PostgreSQL.
I log del server PostgreSQL vengono sempre raccolti nel file postgresql.log
e non richiedono l'attivazione di pgaudit
.
Visualizzare il percorso del file di log di controllo
La funzione SQL alloydb_audit_current_logfile
puรฒ essere utilizzata per visualizzare il percorso del file di audit log. Se il controllo รจ disattivato, il risultato รจ NULL
.
SELECT alloydb_audit_current_logfile();
alloydb_audit_current_logfile
----------------------------------------------------
/var/log/pglogs/postgresql-2025-03-28_042024.audit
Configura la rotazione dei log
Se vuoi avere un maggiore controllo sulla rotazione dei log, configura una dimensione massima del file, una durata tra le rotazioni dei log o entrambe. La durata tra le rotazioni dei log รจ chiamata anche etร del log. Se utilizzi entrambe le impostazioni, ogni log viene ruotato quando raggiunge una delle soglie.
Per configurare la rotazione dei log, imposta uno o entrambi i seguenti parametri nella sezione parameters
del manifest DBCluster
:
log_rotation_size
: "SIZE_IN_KB"log_rotation_age
: "AGE_IN_MINUTES"
Per disattivare una delle impostazioni di rotazione dei log, impostala su zero ("0"
).
Per mantenere l'impostazione predefinita che ruota i log quando le dimensioni del file
raggiungono i 200 MB, non impostare alcun parametro.
Esempio di dimensione e durata massime della rotazione dei log
I seguenti log di set di esempio vengono ruotati quando le dimensioni del file raggiungono 400 MB o quando il tempo tra le rotazioni dei log raggiunge un giorno, a seconda dell'evento che si verifica per primo:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
...
primarySpec:
...
parameters:
log_rotation_size: "400000" # 400 MB
log_rotation_age: "1440" # 24 hours * 60 minutes = 1 day
Esempio di dimensione massima del log di rotazione
Il seguente esempio imposta la rotazione dei log quando la dimensione del file raggiunge 400 MB:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
...
primarySpec:
...
parameters:
log_rotation_size: "400000" # 400 MB
log_rotation_age: "0" # Set to 0 to disable
Esempio di durata della rotazione dei log
Il seguente esempio imposta la rotazione dei log una volta ogni 24 ore:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
...
primarySpec:
...
parameters:
log_rotation_size: "0" # Set to 0 to disable
log_rotation_age: "1440" # 24 hours * 60 minutes = 1 day
Passaggi successivi
- Gestire e monitorare AlloyDB Omni
- Generare e diagnosticare i file di dump di AlloyDB Omni
- Scopri di piรน sulla gestione automatica della memoria