En este documento, se describe cómo configurar la rotación de los registros de diagnóstico de AlloyDB Omni cuando usas el operador de Kubernetes de AlloyDB Omni.
Los siguientes archivos de registro se encuentran en el directorio /obs/diagnostic/
:
postgresql.audit
: Este archivo de registro recopila registros de auditoría de acceso a objetos y sesiones. Para recopilar registros de auditoría, debes habilitarlos.postgresql.log
: Este archivo de registro recopila los registros del servidor de PostgreSQL. Estos registros siempre se recopilan y no es necesario habilitarlos.
Cuando se rota un archivo de registro, ocurre lo siguiente:
El archivo de registro se copia en el directorio
/obs/diagnostic/archive/
. Si existe un archivo de registro con el mismo nombre en ese directorio, se reemplazará.Se borra el contenido del archivo de registro rotado original para que el archivo esté vacío.
La información de registro comienza a escribirse de inmediato en el archivo de registro vacío y rotado. La información de registro se escribe en el archivo de registro hasta que alcanza un umbral de tamaño o antigüedad, momento en el que vuelve a rotar. Los registros rotan para que no sean demasiado grandes.
De forma predeterminada, la configuración de rotación es para que cada archivo de registro rote cuando su tamaño alcance los 200 MB. La rotación predeterminada no incluye una configuración de edad.
Cada archivo archivado se comprime de forma individual con el formato de archivo Gzip (.gz
).
Los archivos archivados se conservan durante 7 días. Los archivos archivados que tengan más de 7 días se quitan automáticamente, excepto el archivo que se archivó durante la rotación anterior. Por ejemplo, si log_rotation_age
tiene más de 7 días,
el archivo archivado alcanza el límite de 7 días antes de la rotación del
archivo actual. En este caso, este archivo archivado no se quita hasta que la próxima rotación genera un archivo archivado nuevo.
Cada nombre de archivo de registro archivado tiene el siguiente formato: postgresql-%Y-%m-%d_%H%M%S.log.gz
.
La marca de tiempo se determina en el momento de la rotación de registros y se expresa en hora universal coordinada (UTC). Por ejemplo, si el registro se rota a las 13:01:02 del 20/12/2024 (UTC), el nombre del archivo archivado es postgresql-2024-12-20_130102.log.gz
.
Para guardar un archivo archivado de forma permanente, puedes copiarlo del contenedor de la base de datos a tu directorio local con kubectl cp
.
Habilita registros de auditoría
Para que los registros de acceso a la sesión y al objeto se recopilen en el archivo postgresql.audit
, debes habilitar el parámetro de la base de datos pgaudit
. Para habilitar pgaudit
, agrega la siguiente línea a la sección parameters
del archivo v1_dbcluster_parameters.yaml
en Secret
:
alloydb.enable_pgaudit: "on"
El siguiente es un ejemplo de cómo podría verse esto:
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 obtener más información, consulta pgaudit
en Extensiones de bases de datos compatibles y Extensión de auditoría de PostgreSQL.
Los registros del servidor de PostgreSQL siempre se recopilan en el archivo postgresql.log
y no requieren habilitar pgaudit
.
Configura la rotación de registros
Si deseas tener más control sobre cuándo se rotan los registros, configura un tamaño máximo de archivo, una duración entre las rotaciones de registro o ambos. La duración entre las rotaciones de registros también se conoce como la antigüedad del registro. Si usas ambos parámetros de configuración, cada registro se rota cuando alcanza uno de los umbrales.
Para configurar la rotación de registros, establece uno o ambos de los siguientes parámetros en la sección parameters
del manifiesto DBCluster
:
log_rotation_size
: "SIZE_IN_KB"log_rotation_age
: "AGE_IN_MINUTES"
Para inhabilitar uno de los parámetros de configuración de rotación de registros, configúralo en cero ("0"
). Para conservar la configuración predeterminada que rota los registros cuando su tamaño de archivo alcanza los 200 MB, no configures ninguno de los parámetros.
Ejemplo de tamaño y duración máximos de registro de rotación de registro
En el siguiente ejemplo, se establece que los registros se roten cuando su tamaño de archivo alcance 400 MB o cuando el tiempo entre las rotaciones de registro alcance un día, lo que ocurra primero:
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
Ejemplo de tamaño máximo de registro de rotación de registro
En el siguiente ejemplo, se configuran los registros para que se roten cuando su tamaño de archivo alcance los 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
Ejemplo de duración de la rotación de registros
En el siguiente ejemplo, se configuran los registros para que se roten una vez 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
¿Qué sigue?
- Administra y supervisa AlloyDB Omni
- Genera y diagnostica archivos de volcado de AlloyDB Omni
- Más información sobre la administración automática de la memoria