From f063cbd4fb3fbcfde8eeebf6baae3c8ee1adb8b7 Mon Sep 17 00:00:00 2001 From: emorino Date: Mon, 8 Jan 2024 14:49:44 +0100 Subject: [PATCH] Mis a jour configuration log pour pgbadger + ajout option exclude --- HowtoPostgreSQL.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/HowtoPostgreSQL.md b/HowtoPostgreSQL.md index 03e241af..a7d515d1 100644 --- a/HowtoPostgreSQL.md +++ b/HowtoPostgreSQL.md @@ -1173,16 +1173,13 @@ Avant tout, il faut définir le `log_min_duration_statement` dans la configurati En résumé voici ce à quoi la configuration de PostgreSQL devrait ressembler : ~~~ -log_min_duration_statement = 200 // 200 ms +log_min_duration_statement = 1s log_checkpoints = on -log_connections = on -log_disconnections = on log_lock_waits = on -log_temp_files = 0 -log_autovacuum_min_duration = 0 -log_error_verbosity = default -log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d ' -lc_messages='C' +log_temp_files = 5MB +log_autovacuum_min_duration = 1s +log_line_prefix = '%t [%p]: user=%u,db=%d,app=%a,client=%h ' +lc_messages = 'C' ~~~ Installation : @@ -1194,7 +1191,7 @@ Installation : Exécution : ~~~ -# /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1 -O /var/www/pg_reports/ +# /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log -O /var/www/pg_reports/ ~~~ Plusieurs autres options peuvent être spécifiées, voir l'aide de la commande pour plus d'informations. @@ -1202,9 +1199,14 @@ Plusieurs autres options peuvent être spécifiées, voir l'aide de la commande On peux mettre l'analyse des logs avec pgBadger dans la crontab comme ceci, avec un umask pour avoir les droits corrects pour nginx ou Apache : ~~~ -0 4 * * * umask 022 ; /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql-9.6-main.log.1 -O /var/www/pg_reports/ +0 4 * * * umask 022 ; /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql-9.6-main.log -O /var/www/pg_reports/ ~~~ +On peux également exclure des requêtes avec les options suivantes : + +* `--exclude-query` toute requête correspondant à l'expression régulière donnée sera exclue du rapport, exemple : `"^(VACUUM|COMMIT)"` +* `--exclude-file` chemin du fichier qui contient toutes les regex vers utiliser pour exclure les requêtes du rapport. Une expression régulière par ligne. + Vérifier aussi le logrotate des logs de posgresql, si on veux avoir un rapport journalier ou hebdomadaire. ## phpPgAdmin / pgAdmin III