Os seguintes ficheiros de registo estão localizados no diretório /obs/diagnostic/
:
postgresql.audit
: este ficheiro de registo recolhe registos de auditoria de acesso a objetos e sessões. Para recolher registos de auditoria, tem de ativar os registos de auditoria.postgresql.log
: este ficheiro de registo recolhe registos do servidor PostgreSQL. Estes registos são sempre recolhidos e não precisam de ser ativados.
Quando um ficheiro de registo é rodado, ocorre o seguinte:
O ficheiro de registo é copiado para o diretório
/obs/diagnostic/archive/
. Se existir um ficheiro de registo com o mesmo nome nesse diretório, é substituído.Os conteúdos do ficheiro de registo rotativo original são eliminados para que o ficheiro esteja vazio.
As informações de registo começam imediatamente a ser escritas no ficheiro de registo rotativo vazio. As informações de registo são escritas no ficheiro de registo até o ficheiro atingir um limite de tamanho ou de antiguidade, altura em que é novamente rodado. Os registos são rodados para que não se tornem demasiado grandes.
Por predefinição, a definição de rotação é para cada ficheiro de registo rodar quando o respetivo tamanho atingir 200 MB. A rotação predefinida não inclui uma definição de idade.
Os ficheiros arquivados são retidos durante 7 dias. Os ficheiros arquivados com mais de 7 dias são removidos automaticamente, exceto o ficheiro que foi arquivado durante a última rotação. Por exemplo, se log_rotation_age
tiver mais de 7 dias, o ficheiro arquivado atinge o limite de 7 dias antes da rotação do ficheiro atual. Neste caso, este ficheiro arquivado não é removido até que a rotação seguinte gere um novo ficheiro arquivado.
Cada nome de ficheiro de registo rodado segue este formato: postgresql-%Y-%m-%d_%H%M%S.log
.
A indicação de tempo é determinada no momento da rotação do registo e é expressa no Tempo Universal Coordenado (UTC). Por exemplo, se o registo for rodado às 13:01:02 de 20/12/2024 UTC, o nome do ficheiro arquivado é postgresql-2024-12-20_130102.log
.
Cada ficheiro arquivado é comprimido individualmente através do formato de ficheiro Gzip.
Ative os registos de auditoria
Para que os registos de acesso de sessão e de objetos sejam recolhidos no ficheiro postgresql.audit
, tem de ativar o parâmetro da base de dados pgaudit
. Para ativar a opção pgaudit
,
adicione a seguinte linha à secção parameters
do ficheiro
v1_dbcluster_parameters.yaml
em Secret
:
alloydb.enable_pgaudit: "on"
Segue-se um exemplo de como isto pode ser apresentado:
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"
Para mais informações, consulte pgaudit
em
Extensões de base de dados suportadas,
e Extensão de auditoria do PostgreSQL.
Os registos do servidor PostgreSQL são sempre recolhidos no ficheiro postgresql.log
e não requerem a ativação de pgaudit
.
Ver o caminho do ficheiro de registo de auditoria
Pode usar a função SQL alloydb_audit_current_logfile
para ver o caminho do ficheiro de registo de auditoria. Se a auditoria estiver desativada, o resultado é NULL
.
SELECT alloydb_audit_current_logfile();
alloydb_audit_current_logfile
----------------------------------------------------
/var/log/pglogs/postgresql-2025-03-28_042024.audit
Configure a rotação de registos
Se quiser ter mais controlo sobre a rotação dos registos, configure um tamanho máximo do ficheiro, uma duração entre rotações de registos ou ambos. A duração entre as rotações de registos também é denominada idade do registo. Se usar ambas as definições, cada registo é rodado quando atinge um dos limites.
Para configurar a rotação de registos, defina um ou ambos os seguintes parâmetros na secção parameters
do manifesto DBCluster
:
log_rotation_size
: "SIZE_IN_KB"log_rotation_age
: "AGE_IN_MINUTES"
Para desativar uma das definições de rotação de registos, defina-a como zero ("0"
).
Para manter a predefinição que roda os registos quando o tamanho do ficheiro
atinge 200 MB, não defina nenhum parâmetro.
Exemplo de duração e tamanho máximo do registo de rotação de registos
Os seguintes conjuntos de amostras definem a rotação dos registos quando o tamanho do ficheiro atinge 400 MB ou quando o tempo entre as rotações dos registos atinge um dia, consoante o que ocorrer primeiro:
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
Exemplo de tamanho máximo do registo de rotação de registos
Os seguintes conjuntos de amostras registam a rotação quando o tamanho do ficheiro atinge os 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
Exemplo de duração da rotação de registos
O exemplo seguinte define a rotação dos registos uma vez a cada 24 horas:
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
O que se segue?
- Faça a gestão e a monitorização do AlloyDB Omni
- Gere e diagnostique ficheiros de despejo do AlloyDB Omni
- Saiba mais sobre a gestão automática de memória