Este documento descreve como configurar a rotação dos registros de diagnóstico do AlloyDB Omni quando você usa o operador do AlloyDB Omni Kubernetes.
Os arquivos de registro a seguir estão localizados no diretório
/obs/diagnostic/
:
postgresql.audit
: este arquivo de registro coleta registros de auditoria de sessão e de acesso a objetos. Para coletar registros de auditoria, é necessário ativá-los.postgresql.log
: este arquivo de registro coleta registros do servidor do PostgreSQL. Esses registros são sempre coletados e não precisam ser ativados.
Quando um arquivo de registro é substituído, o seguinte ocorre:
O arquivo de registro é copiado para o diretório
/obs/diagnostic/archive/
. Se um arquivo de registro com o mesmo nome existir nesse diretório, ele será substituído.O conteúdo do arquivo de registro girado original é excluído para que o arquivo fique vazio.
As informações de registro começam a ser gravadas imediatamente no arquivo de registro vazio girado. As informações de registro são gravadas no arquivo de registro até que ele atinja um limite de tamanho ou de idade, momento em que ele é rotacionado novamente. Os registros são alternados para que não fiquem muito grandes.
Por padrão, a configuração de rotação é para que cada arquivo de registro seja alternado quando o tamanho alcançar 200 MB. A rotação padrão não inclui uma configuração de idade.
Cada arquivo arquivado é compactado individualmente usando o formato Gzip (.gz
).
Os arquivos arquivados são mantidos por sete dias. Os arquivos arquivados com mais de 7 dias são removidos automaticamente, exceto o arquivo que foi arquivado durante a rotação anterior. 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 não é removido até que a próxima
rotação gere um novo arquivo.
Cada nome de arquivo de registro arquivado segue este formato: postgresql-%Y-%m-%d_%H%M%S.log.gz
.
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 girado às
13h01min02s de 20/12/2024 UTC, o nome do arquivo arquivado será
postgresql-2024-12-20_130102.log.gz
.
Para salvar um arquivo arquivado permanentemente, copie-o do contêiner do banco de dados
para o diretório local usando kubectl cp
.
Ativar registros de auditoria
Para que os registros de acesso a sessão e objeto 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:
apiVersion: v1
kind: Secret
...
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "15.7.0"
primarySpec:
...
parameters:
...
alloydb.enable_pgaudit: "on"
Para mais informações, consulte pgaudit
em
Extensões de banco de dados com suporte
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 de pgaudit
.
Configurar a rotação de registros
Se você quiser ter mais controle sobre quando os registros são girados, 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á alternado quando atingir um dos limites.
Para configurar a rotação de registros, 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 registros, defina-a como zero ("0"
).
Para manter a configuração padrão que gira os registros quando o tamanho do arquivo
atinge 200 MB, não defina nenhum parâmetro.
Exemplo de tamanho e duração máximos de rotação de registros
O exemplo a seguir define que os registros serão alternados quando o tamanho do arquivo atingir 400 MB ou quando o tempo entre as rotações de registro chegar a 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 de rotação
O exemplo a seguir define que os registros serão girados quando o tamanho do arquivo atingir 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 exemplo a seguir define que os registros serão alternados 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
A seguir
- Gerenciar e monitorar o AlloyDB Omni
- Gerar e diagnosticar arquivos de despejo do AlloyDB Omni
- Saiba mais sobre o gerenciamento automático de memória