Neste documento, descrevemos como configurar a rotação dos registros de diagnóstico do AlloyDB Omni ao usar o operador do AlloyDB Omni no Kubernetes.
Os seguintes arquivos de registro estão localizados no
diretório /obs/diagnostic/
:
postgresql.audit
: esse arquivo de registro coleta registros de auditoria de acesso a sessões e objetos. Para coletar registros de auditoria, é necessário ativá-los.postgresql.log
: esse arquivo de registro coleta registros do servidor PostgreSQL. Esses registros são sempre coletados e não precisam ser ativados.
Quando um arquivo de registro é rotacionado, acontece o seguinte:
O arquivo de registro é copiado para o diretório
/obs/diagnostic/archive/
. Se houver um arquivo de registro com o mesmo nome nesse diretório, ele será substituído.O conteúdo do arquivo de registro rotacionado original é excluído para que o arquivo fique vazio.
As informações de registro começam a ser gravadas imediatamente no arquivo de registro rotacionado vazio. As informações de registro são gravadas no arquivo de registro até que ele atinja um tamanho ou limite de idade, momento em que ele é rotacionado novamente. Os registros são rotacionados para que não fiquem muito grandes.
Por padrão, a configuração de rotação é para cada arquivo de registro ser rotacionado quando o tamanho atinge 200 MB. A rotação padrão não inclui uma configuração de idade.
Os arquivos arquivados são retidos por sete dias. Os arquivos arquivados com mais
de sete dias são removidos automaticamente, exceto o arquivo arquivado
durante a última rotação. Por exemplo, se log_rotation_age
tiver mais de sete dias,
o arquivo arquivado vai atingir o limite de sete dias antes da rotação do
arquivo atual. Nesse caso, o arquivo arquivado não será removido até que a próxima
rotação gere um novo arquivo arquivado.
Cada nome de arquivo de registro rotacionado segue este formato: postgresql-%Y-%m-%d_%H%M%S.log
.
O carimbo de data/hora é determinado no momento da rotação de registro e é expresso em
Tempo Universal Coordenado (UTC). Por exemplo, se o registro for rotacionado às
13h0min02s de 20/12/2024 UTC, o nome de arquivo arquivado será
postgresql-2024-12-20_130102.log
.
Cada arquivo arquivado é compactado individualmente usando o formato do arquivo Gzip.
Ativar registros de auditoria
Para que os registros de acesso a sessões e objetos sejam coletados no arquivo postgresql.audit
,
é necessário ativar o parâmetro de banco de dados
pgaudit
. Para ativar o pgaudit
,
adicione a seguinte linha à seção parameters
do
arquivo v1_dbcluster_parameters.yaml
em Secret
:
alloydb.enable_pgaudit: "on"
Confira um exemplo de como isso fica:
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 banco de dados compatíveis
e Extensão de auditoria do PostgreSQL.
Os registros do servidor PostgreSQL são sempre coletados no arquivo postgresql.log
e
não exigem a ativação do pgaudit
.
Visualizar o caminho do arquivo de registro de auditoria
A função SQL alloydb_audit_current_logfile
pode ser usada para visualizar o caminho do arquivo de registro de auditoria. Se a auditoria estiver desativada, o resultado será NULL
.
SELECT alloydb_audit_current_logfile();
alloydb_audit_current_logfile
----------------------------------------------------
/var/log/pglogs/postgresql-2025-03-28_042024.audit
Configurar a rotação de registro
Se você quiser ter mais controle sobre quando os registros são rotacionados, configure um tamanho máximo de arquivo, uma duração entre as rotações de registro ou ambos. A duração entre as rotações de registro também é chamada de idade do registro. Se você usar as duas configurações, cada registro será rotacionado quando atingir um dos limites.
Para configurar a rotação de registro, defina um ou ambos os parâmetros a seguir na
seção parameters
do manifesto DBCluster
:
log_rotation_size
: "SIZE_IN_KB"log_rotation_age
: "AGE_IN_MINUTES"
Para desativar uma das configurações de rotação de registro, defina-a como zero ("0"
).
Para manter a configuração padrão que rotaciona os registros quando o tamanho do arquivo
atinge 200 MB, não defina nenhum parâmetro.
Exemplo de tamanho máximo e duração do registro da rotação de registro
O seguinte exemplo define a rotação dos registros quando o tamanho do arquivo atinge 400 MB ou quando o tempo entre as rotações atinge um dia, o que acontecer 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 registro da rotação de registro
O seguinte exemplo define a rotação dos registros quando o tamanho do arquivo atinge 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 registro
O seguinte exemplo define a rotação dos registros 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
A seguir
- Gerenciar e monitorar o AlloyDB Omni
- Gerar e diagnosticar arquivos dump do AlloyDB Omni
- Aprenda mais sobre o gerenciamento automático de memória