Les fichiers journaux suivants se trouvent dans le répertoire /obs/diagnostic/
:
postgresql.audit
: Ce fichier journal collecte les journaux d'audit des accès aux sessions et aux objets. Pour collecter les journaux d'audit, vous devez les activer.postgresql.log
: ce fichier journal collecte les journaux du serveur PostgreSQL. Ces journaux sont toujours collectés et n'ont pas besoin d'être activés.
Lorsqu'un fichier journal est permuté, les événements suivants se produisent :
Le fichier journal est copié dans le répertoire
/obs/diagnostic/archive/
. Si un fichier journal portant le même nom existe dans ce répertoire, il est écrasé.Le contenu du fichier journal permuté d'origine est supprimé pour que le fichier soit vide.
Les informations de journal sont immédiatement écrites dans le fichier journal vide et permuté. Les informations de journal sont écrites dans le fichier journal jusqu'à ce que le fichier atteigne un seuil de taille ou d'âge, auquel cas il est à nouveau permuté. Les journaux sont soumis à une rotation pour ne pas devenir trop volumineux.
Par défaut, le paramètre de rotation est défini de sorte que chaque fichier journal effectue une rotation lorsque sa taille atteint 200 Mo. La rotation par défaut n'inclut pas de paramètre d'âge.
Les fichiers archivés sont conservés pendant sept jours. Les fichiers archivés de plus de sept jours sont automatiquement supprimés, à l'exception de celui qui a été archivé lors de la dernière rotation. Par exemple, si log_rotation_age
a plus de sept jours, le fichier archivé atteint le seuil de sept jours avant la rotation du fichier actuel. Dans ce cas, le fichier archivé n'est pas supprimé tant que la rotation suivante ne génère pas un nouveau fichier archivé.
Le nom de fichier de chaque journal permuté suit le format postgresql-%Y-%m-%d_%H%M%S.log
.
L'horodatage est déterminé au moment de la rotation des journaux et est exprimé en temps universel coordonné (UTC). Par exemple, si le journal est permuté à 13:01:02 le 20/12/2024 UTC, le nom de fichier archivé est postgresql-2024-12-20_130102.log
.
Chaque fichier archivé est compressé individuellement au format Gzip.
Activer les journaux d'audit
Pour que les journaux d'accès aux sessions et aux objets soient collectés dans le fichier postgresql.audit
, vous devez activer le paramètre de base de données pgaudit
. Pour activer pgaudit
, ajoutez la ligne suivante à la section parameters
du fichier v1_dbcluster_parameters.yaml
sous Secret
:
alloydb.enable_pgaudit: "on"
Voici un exemple de ce à quoi cela pourrait ressembler :
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"
Pour en savoir plus, consultez pgaudit
dans Extensions de base de données compatibles et Extension d'audit PostgreSQL.
Les journaux du serveur PostgreSQL sont toujours collectés dans le fichier postgresql.log
et ne nécessitent pas l'activation de pgaudit
.
Afficher le chemin d'accès au fichier journal d'audit
La fonction SQL alloydb_audit_current_logfile
permet d'afficher le chemin d'accès au fichier journal d'audit. Si l'audit est désactivé, le résultat est NULL
.
SELECT alloydb_audit_current_logfile();
alloydb_audit_current_logfile
----------------------------------------------------
/var/log/pglogs/postgresql-2025-03-28_042024.audit
Configurer la rotation des journaux
Si vous souhaitez mieux contrôler le moment où les journaux sont permutés, configurez une taille de fichier maximale, une durée entre les rotations de journaux ou les deux. La durée entre les rotations des journaux est également appelée "âge du journal". Si vous utilisez les deux paramètres, chaque journal effectue une rotation lorsqu'il atteint l'un des seuils.
Pour configurer la rotation des journaux, définissez un ou plusieurs des paramètres suivants dans la section parameters
du fichier manifeste DBCluster
:
log_rotation_size
: "SIZE_IN_KB"log_rotation_age
: "AGE_IN_MINUTES"
Pour désactiver l'un des paramètres de rotation des journaux, définissez-le sur zéro ("0"
). Pour conserver le paramètre par défaut qui fait pivoter les journaux lorsque la taille de leur fichier atteint 200 Mo, ne définissez aucun paramètre.
Exemple de taille et de durée maximales de la rotation des journaux
Les exemples suivants définissent la rotation des journaux lorsque la taille de leur fichier atteint 400 Mo ou lorsque le temps entre les rotations de journaux atteint un jour, selon ce qui se produit en premier :
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
Exemple de taille maximale du journal pour la rotation des journaux
L'exemple suivant définit la rotation des journaux lorsque la taille de leur fichier atteint 400 Mo :
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
Exemple de durée de rotation des journaux
L'exemple suivant définit la rotation des journaux toutes les 24 heures :
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
Étapes suivantes
- Gérer et surveiller AlloyDB Omni
- Générer et diagnostiquer des fichiers de vidage AlloyDB Omni
- En savoir plus sur la gestion automatique de la mémoire