Los siguientes archivos de registro se encuentran en el directorio /obs/diagnostic/
:
postgresql.audit
: este archivo de registro recoge los registros de auditoría de acceso a sesiones y objetos. Para recoger registros de auditoría, debes habilitarlos.postgresql.log
: este archivo de registro recoge los registros del servidor PostgreSQL. Estos registros se recogen siempre 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 ya existe un archivo de registro con el mismo nombre en ese directorio, se sobrescribirá.Se elimina el contenido del archivo de registro original rotado para que el archivo esté vacío.
La información de registro empieza a escribirse inmediatamente en el archivo de registro rotado vacío. La información de registro se escribe en el archivo de registro hasta que este alcanza un umbral de tamaño o antigüedad, momento en el que vuelve a rotar. Los registros se van rotando para que no sean demasiado grandes.
De forma predeterminada, la configuración de rotación es que cada archivo de registro rote cuando alcance un tamaño de 200 MB. La rotación predeterminada no incluye una configuración de edad.
Los archivos archivados se conservan durante 7 días. Los archivos archivados que tengan más de 7 días se eliminan automáticamente, excepto el archivo que se haya archivado durante la última rotación. Por ejemplo, si log_rotation_age
tiene más de 7 días, el archivo archivado alcanzará el umbral de 7 días antes de la rotación del archivo actual. En este caso, el archivo no se eliminará hasta que la siguiente rotación genere un nuevo archivo.
Cada nombre de archivo de registro rotado sigue este formato: postgresql-%Y-%m-%d_%H%M%S.log
.
La marca de tiempo se determina en el momento de la rotación del registro y se expresa en tiempo universal coordinado (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
.
Cada archivo se comprime individualmente con el formato de archivo Gzip.
Habilitar registros de auditoría
Para que los registros de acceso a sesiones y objetos se recojan en el archivo postgresql.audit
, debes habilitar el parámetro de base de datos pgaudit
. Para habilitar pgaudit
,
añade la siguiente línea a la sección parameters
del archivo
v1_dbcluster_parameters.yaml
en Secret
:
alloydb.enable_pgaudit: "on"
A continuación, se muestra un ejemplo de cómo podría ser:
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 obtener más información, consulta pgaudit
en Extensiones de base de datos compatibles y Extensión de auditoría de PostgreSQL.
Los registros del servidor PostgreSQL se recogen siempre en el archivo postgresql.log
y no requieren que se habilite pgaudit
.
Ver la ruta del archivo de registro de auditoría
La función SQL alloydb_audit_current_logfile
se puede usar para ver la ruta del archivo de registro de auditoría. Si la auditoría está inhabilitada, el resultado es NULL
.
SELECT alloydb_audit_current_logfile();
alloydb_audit_current_logfile
----------------------------------------------------
/var/log/pglogs/postgresql-2025-03-28_042024.audit
Configurar la rotación de registros
Si quieres tener más control sobre cuándo se rotan los registros, configura un tamaño máximo de archivo, una duración entre rotaciones de registros o ambas opciones. La duración entre las rotaciones de registros también se denomina antigüedad del registro. Si usas ambos ajustes, cada registro se rota cuando alcanza uno de los umbrales.
Para configurar la rotación de registros, debe definir 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 ajustes de rotación de registros, asígnale el valor cero ("0"
).
Para conservar el ajuste predeterminado que rota los registros cuando el tamaño de su archivo alcanza los 200 MB, no definas ninguno de los parámetros.
Ejemplo de tamaño y duración máximos de la rotación de registros
En el siguiente ejemplo, se define que los registros roten cuando el tamaño del archivo alcance los 400 MB o cuando el tiempo entre rotaciones de registros sea de 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 registros
En el siguiente conjunto de ejemplo, los registros se rotarán cuando el tamaño de su 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 configura la rotación de los registros 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
Siguientes pasos
- Gestionar y monitorizar AlloyDB Omni
- Generar y diagnosticar archivos de volcado de AlloyDB Omni
- Información sobre la gestión automática de la memoria