PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 07/04/2009 14:17:34

bil69
Membre

Prè-requis PG_FOUINE

Bonjour à tous

j'ai un petit souci pour installer pgfouine-0.7.2-1.noarch.rpm

Faut-il avoir apache et un plugin PHP installés sur le serveur pour générer les rapports de pg_fouine ??

Est-il possible d'installer en local pg-fouine (windows XP) et EasyPHP. Et a partir de la on pourrait analyser les fichier pg_log du serveur Postgre??

merci d'avance,

Hors ligne

#2 07/04/2009 15:17:44

gleu
Administrateur

Re : Prè-requis PG_FOUINE

Faut-il avoir apache et un plugin PHP installés sur le serveur pour générer les rapports de pg_fouine ??

Non, il faut seulement avoir la version client de PHP.

Est-il possible d'installer en local pg-fouine (windows XP) et EasyPHP. Et a partir de la on pourrait analyser les fichier pg_log du serveur Postgre??

Oui, ça se fait sans soucis. Il n'y a même pas besoin d'EasyPHP. Soit le binaire direct soit l'installeur sur http://www.php.net/downloads.php#v5, ça devrait suffire.

Et plutôt qu'utiliser un vieux paquet RPM, autant utiliser le paquet source de pgfouine. Parce qu'il est disponible en version 1.0, ce serait dommage de se farcir des bugs déjà corrigés.


Guillaume.

Hors ligne

#3 07/04/2009 16:00:29

bil69
Membre

Re : Prè-requis PG_FOUINE

Merci de pour tes éclaircissements

Le paquet source de pgfouine en version 1.0 est sur mon bureau.

question bête : comment l'installer ????

Je sais qu'il faut modifier les fichiers : syslog.conf et postgresql.conf mais en ce qui concerne l'installation dans le fichier pgfouine.spe : je lis ça

Cela concerne vraiment l'installation de pgfouine en local ???

%prep
%setup -q
%patch1 -p0
sed -i 's!@INCLUDEPATH@!%{_datadir}/%{name}!' pgfouine_vacuum.php
sed -i 's!@INCLUDEPATH@!%{_datadir}/%{name}!' pgfouine.php

cp %{SOURCE2} .

%build

%install
# cleaning build environment
rm -rf %{buildroot}

# creating required directories
install -m 755 -d %{buildroot}/%{_datadir}/%{name}
install -m 755 -d %{buildroot}/%{_bindir}

# installing pgFouine
for i in include version.php; do
    cp -rp $i %{buildroot}/%{_datadir}/%{name}/
done

install -m 755 pgfouine.php %{buildroot}/%{_bindir}/
install -m 755 pgfouine_vacuum.php %{buildroot}/%{_bindir}/

%clean
rm -rf %{buildroot}

%files
%defattr(-, root, root)
%doc AUTHORS ChangeLog COPYING THANKS README pgfouine-tutorial.txt
%attr(0755, root, root) %{_bindir}/pgfouine.php
%attr(0755, root, root) %{_bindir}/pgfouine_vacuum.php
%{_datadir}/%{name}

Hors ligne

#4 07/04/2009 21:53:49

daamien
damien clochard

Re : Prè-requis PG_FOUINE

Comme son nom l'indique le fichier pgfouine-0.7.2-1.noarch.rpm  est un paquet RPM. Tu ne peux l'utiliser que sur des systèmes  acceptent les RPM; c'est à dire Red Hat, Fedora, Centos, Mandriva, etc... Bref sous Linux uniquement.

Pour installer PGFouine sous Windows tu dois télécharger le fichier tar.gz et le décrompresser.

http://pgfoundry.org/frs/download.php/1 … 1.0.tar.gz

Hors ligne

#5 08/04/2009 10:16:02

bil69
Membre

Re : Prè-requis PG_FOUINE

Merci pour vos réponses !!!!

Bonne journée

Hors ligne

#6 08/04/2009 11:12:58

bil69
Membre

Re : Prè-requis PG_FOUINE

RE-BONJOUR

J'ai encore un petit souci...

je lance la commande :

pgfouine.php -file /PGSQL/PGTEST01/pg_log/postgresql-2009-04-08_000000.log   > /PGSQL/backups/report.html

Voici le message d'erreur
/usr/bin/php: error while loading shared libraries: libpspell.so.15: cannot open shared object file: No such file or directory

merci,

Hors ligne

#7 08/04/2009 11:29:47

gleu
Administrateur

Re : Prè-requis PG_FOUINE

Le message indique que PHP a besoin d'une autre bibliothèque. Mais c'est un message linux alors que le début parle de Windows. Vous êtes sur quel OS ? qu'avez-vous installé et comment ?


Guillaume.

Hors ligne

#8 08/04/2009 11:45:05

bil69
Membre

Re : Prè-requis PG_FOUINE

En effet tout d'abord je me suis orienté vers une installation sur linux : pgfouine-0.7.2-1.noarch.rpm
Seulement durant l'installation il faudrait que le serveur possède PHP et APACHE pour les reports

Donc j'ai installer PGFOUINE sur Windows ( XP service pack 2) :

Pour installer PGFouine sous Windows tu dois télécharger le fichier tar.gz et le décrompresser

Et aussi l'installeur PHP http://fr3.php.net/get/php-5.2.9-1-win3 … m/a/mirror

(qui me pose un souci : durant l'installation on me demande de configurer le httpd.conf)

merci

Hors ligne

#9 08/04/2009 12:09:05

gleu
Administrateur

Re : Prè-requis PG_FOUINE

Donc il ne faut pas passer par l'installeur PHP sur windows.


Guillaume.

Hors ligne

#10 08/04/2009 14:24:00

bil69
Membre

Re : Prè-requis PG_FOUINE

Donc il ne faut pas passer par l'installeur PHP sur windows.

j'ai pas trop compris... tu veux dire quoi par là tu me conseille quel outil PHP ??

merci

Hors ligne

#11 08/04/2009 15:34:16

gleu
Administrateur

Re : Prè-requis PG_FOUINE

Ce package des binaires en zip devrait suffire. Par exemple, sur http://fr3.php.net/get/php-5.2.9-2-Win3 … m/a/mirror .


Guillaume.

Hors ligne

#12 08/04/2009 15:57:25

bil69
Membre

Re : Prè-requis PG_FOUINE

Merci beaucoup de ta réponse

Hors ligne

#13 08/04/2009 17:22:23

bil69
Membre

Re : Prè-requis PG_FOUINE

J'ai les clés en main mais pour les utilisées... !!! vraiment novice et nul !!!

Installation :

=> PGFOUINE sur Windows ( XP service pack 2) :

Pour installer PGFouine sous Windows tu dois télécharger le fichier tar.gz et le décrompresser

[url]http://pgfoundry.org/frs/download.php/1 … 1.0.tar.gz[/url]

=> PHP

Ce package des binaires en zip devrait suffire. Par exemple, sur [url]http://fr3.php.net/get/php-5.2.9-2-Win3 … m/a/mirror[/url]

Comment fonctionne tout cela : je modifie postgresql.conf et syslog.conf

postgre.conf :

log_destination = ’syslog’
redirect_stderr = off
silent_mode = on
log_min_duration_statement = 0
log_duration = off
log_statement = ’none’
log_line_prefix = ’user=%u,db=%d’
lc_messages = ’C’

syslog.conf :

local0.*    -/var/log/pgsql
*.info ;mail.none ; ;news.none ;authpriv.none ;local0.none      -/var/log/messages

Ensuite je les redémarre

Voila mais à partir de là

je n'arrive pas a faire le lien entre PHP et pgfouine installés sur mon bureau

concrètement si je fais un lien des fichiers de logs sur mon bureau, comment lancer l'analyse ???

je coince vraiment ...
Merci d'avance,

Dernière modification par bil69 (08/04/2009 17:23:10)

Hors ligne

#14 08/04/2009 18:01:40

gleu
Administrateur

Re : Prè-requis PG_FOUINE

Une fois le test effectué, il faut récupérer le fichier de log sur le PC sous Windows, puis exécutez pgfouine en lui fournissant ce fichier.


Guillaume.

Hors ligne

#15 09/04/2009 14:08:57

bil69
Membre

Re : Prè-requis PG_FOUINE

Merci de ta réponse,

Quand j'ouvre le dossier pgfouine sur mon bureau il y a un tas de fichiers je vois pas comment exécuter pgfouine en lui fournissant les fichiers de logs

Je sais c'est bête mais voila...

merci d'avance,

Hors ligne

#16 09/04/2009 22:10:57

gleu
Administrateur

Re : Prè-requis PG_FOUINE

En fait, il faut utiliser l'outil php en ligne de commande. Donc quelque chose du style :

php pgfouine.php ...

Le ... est à remplacer par les options de pgfouine comme indiqué sur son site (http://pgfouine.projects.postgresql.org/tutorial.html).


Guillaume.

Hors ligne

#17 14/04/2009 11:59:06

bil69
Membre

Re : Prè-requis PG_FOUINE

Merci pour ces réponses... ça commence à marcher j'ai au moins la création d'un rapport... VIDE

voici l'erreur :

D:\Documents and Settings\Bureau>php-5.2.9-2-Win32\php.exe pgfouine-1.0\
pgfouine-1.0\pgfouine.php -file pg_log\postgresql-2009-04-06_165151.log > report.html
pgFouine did not find any valid PostgreSQL log line in your log file:
* check that PostgreSQL uses an english locale for logging (lc_messages in your
postgresql.conf),
* check that you use the -logtype option (syslog, stderr) according to your log
file,
* if you use syslog and log_line_prefix, check that your log_line_prefix has a t
railing space,
* if you use stderr, check that your log_line_prefix is of the form '%t [%p]: [%
l-1] '.
If you think your log file and your options are correct, please contact the auth
or (gsmet on #postgresql@freenode or guillaume-pg at smet dot org).

Donc dans mon fichier postgresql.conf :

log_destination = ’syslog’
silent_mode = on
log_min_duration_statement = 0
log_duration = off
log_statement = ’none’
log_line_prefix = ’user=%u,db=%d’

# These settings are initialized by initdb, but they can be changed.
lc_messages = 'C'                       # locale for system error message
                                        # strings
lc_monetary = 'en_US.UTF-8'                     # locale for monetary formatting
lc_numeric = 'en_US.UTF-8'                      # locale for number formatting
lc_time = 'en_US.UTF-8'                         # locale for time formatting

Par contre quand je rajoute redirect_stderr= off ds le fichier de conf au démarrage j'ai :

pg_ctl -D /PGSQL/PGTEST01/ restart
waiting for server to shut down.... done
server stopped
server starting
FATAL:  unrecognized configuration parameter "redirect_stderr"

merci d'avance,

Dernière modification par bil69 (14/04/2009 12:00:33)

Hors ligne

#18 14/04/2009 14:47:48

gleu
Administrateur

Re : Prè-requis PG_FOUINE

L'option redirect_stderr n'est pas disponible pour toutes les versions de PostgreSQL. Par exemple, en 8.3, il a été renommé logging_collector.

En ce qui concerne pgfouine, vous devriez lui fournir l'option "-logtype stderr" (car à priori, c'est ce que vous utilisez).


Guillaume.

Hors ligne

#19 14/04/2009 15:56:56

bil69
Membre

Re : Prè-requis PG_FOUINE

Grâce à ton aide, ça fonctionne !!!!

Mais dans tous ce bazar j'ai du changer un paramètre qui empêche d'écrire les traces. les fichiers sont vides...

-rw-------  1 pgsql pgsql   322 Apr  6 16:51 postgresql-2009-04-06_165134.log
-rw-------  1 pgsql pgsql  8542 Apr  6 17:05 postgresql-2009-04-06_165151.log
-rw-------  1 pgsql pgsql  2288 Apr  6 17:10 postgresql-2009-04-06_170541.log
-rw-------  1 pgsql pgsql  7995 Apr  6 17:16 postgresql-2009-04-06_171005.log
-rw-------  1 pgsql pgsql  8388 Apr  6 17:27 postgresql-2009-04-06_171626.log
-rw-------  1 pgsql pgsql  8391 Apr  7 08:59 postgresql-2009-04-07_000000.log
-rw-------  1 pgsql pgsql 12556 Apr  7 09:23 postgresql-2009-04-07_085912.log
-rw-------  1 pgsql pgsql  4445 Apr  7 09:27 postgresql-2009-04-07_092304.log
-rw-------  1 pgsql pgsql   527 Apr  8 14:30 postgresql-2009-04-08_000000.log
-rw-------  1 pgsql pgsql   181 Apr  9 14:28 postgresql-2009-04-09_000000.log
-rw-------  1 pgsql pgsql   133 Apr 10 14:44 postgresql-2009-04-10_000000.log
-rw-------  1 pgsql pgsql     0 Apr 10 14:53 postgresql-2009-04-10_145330.log
-rw-------  1 pgsql pgsql     0 Apr 10 14:53 postgresql-2009-04-10_145357.log
-rw-------  1 pgsql pgsql     0 Apr 11 00:00 postgresql-2009-04-11_000000.log
-rw-------  1 pgsql pgsql     0 Apr 12 00:00 postgresql-2009-04-12_000000.log
-rw-------  1 pgsql pgsql     0 Apr 13 00:00 postgresql-2009-04-13_000000.log
-rw-------  1 pgsql pgsql     0 Apr 14 00:00 postgresql-2009-04-14_000000.log
-rw-------  1 pgsql pgsql     0 Apr 14 13:47 postgresql-2009-04-14_134757.log
-rw-------  1 pgsql pgsql     0 Apr 14 13:48 postgresql-2009-04-14_134805.log

merci...

Hors ligne

#20 15/04/2009 10:38:34

bil69
Membre

Re : Prè-requis PG_FOUINE

pas de réponse...

une piste svp

Hors ligne

#21 15/04/2009 10:45:40

Marc Cousin
Membre

Re : Prè-requis PG_FOUINE

log_destination vaut toujours syslog ? Vu les noms de fichiers il devait valoir initialement stderr non ? (Je ne suis pas trop habitué à PostgreSQL sous Red Hat...)
Si c'est bien le cas, essayez de le remettre à stderr


Marc.

Hors ligne

#22 15/04/2009 11:41:13

bil69
Membre

Re : Prè-requis PG_FOUINE

Voici ma le paramétrage de ma conf :

#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -

log_destination = 'syslog'       

# This is used when logging to stderr:
logging_collector = off       

# These are only used if logging_collector is on:
log_directory = 'pg_log'        # directory where log files are written,
                    # can be absolute or relative to PGDATA
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'   

log_truncate_on_rotation = on

log_rotation_age = 1d            # Automatic rotation of logfiles will
                    # happen after that time.  0 to disable.
log_rotation_size = 0            # Automatic rotation of logfiles will
                    # happen after that much log output.
                    # 0 to disable.

# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'


# - When to Log -

#client_min_messages = notice   

#log_min_messages = notice       

#log_error_verbosity = default       

#log_min_error_statement = error   
               
log_min_duration_statement = 0     

silent_mode = on             

# - What to Log -

#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = off
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
log_duration = off
#log_hostname = off
log_line_prefix = '%t [%p]: [%l-1] '     # special values:
               
#log_lock_waits = off            # log lock waits >= deadlock_timeout
log_statement = 'none'            # none, ddl, mod, all
#log_temp_files = -1            # log temporary files equal or larger
                    # than specified size;
                    # -1 disables, 0 logs all temp files
#log_timezone = unknown            # actually, defaults to TZ environment
                    # setting

lc_messages = 'en_US.UTF-8'                # locale for system error message

sinon ds syslog.conf

#pgsql

local0.*                                                                  -/var/log/pgsql

*.info;mail.none;news.none;authpriv.none;local0.none    -/var/log/messages

Hors ligne

#23 15/04/2009 15:37:43

bil69
Membre

Re : Prè-requis PG_FOUINE

@gleu

En ce qui concerne pgfouine, vous devriez lui fournir l'option "-logtype stderr" (car à priori, c'est ce que vous utilisez)

je ne vois pas pourquoi vous dites ça alors que dans mon fichier de conf il y a ça log_destination = ’syslog’

sinon en ce qui concerne le faite que mes fichiers de log vide je soupçonne ce param, pourtant d'après plusieurs tuto on doit desactiver ce param pour une analyse des log

# This is used when logging to stderr:
logging_collector = off        # Enable capturing of stderr and csvlog
                    # into log files. Required to be on for
                    # csvlogs.
                    # (change requires restart)


pgfouine.php -file /PGSQL/PGTEST01/pg_log/postgresql-2009-04-15_102210.log -logtype syslog -format html > /PGSQL/backups/pgfouine.html
pgFouine did not find any valid PostgreSQL log line in your log file:
* check that PostgreSQL uses an english locale for logging (lc_messages in your postgresql.conf),
* check that you use the -logtype option (syslog, stderr) according to your log file,
* if you use syslog and log_line_prefix, check that your log_line_prefix has a trailing space,
* if you use stderr, check that your log_line_prefix is of the form '%t [%p]: [%l-1] '.
If you think your log file and your options are correct, please contact the author (gsmet on #postgresql@freenode or guillaume-pg at smet dot org).

merci d'avance

Hors ligne

#24 16/04/2009 11:37:23

bil69
Membre

Re : Prè-requis PG_FOUINE

bil69 a écrit :

@gleu

En ce qui concerne pgfouine, vous devriez lui fournir l'option "-logtype stderr" (car à priori, c'est ce que vous utilisez)

je ne vois pas pourquoi vous dites ça alors que dans mon fichier de conf il y a ça log_destination = ’syslog’

sinon en ce qui concerne le faite que mes fichiers de log vide je soupçonne ce param, pourtant d'après plusieurs tuto on doit desactiver ce param pour une analyse des log

# This is used when logging to stderr:
logging_collector = off        # Enable capturing of stderr and csvlog
                    # into log files. Required to be on for
                    # csvlogs.
                    # (change requires restart)


pgfouine.php -file /PGSQL/PGTEST01/pg_log/postgresql-2009-04-15_102210.log -logtype syslog -format html > /PGSQL/backups/pgfouine.html
pgFouine did not find any valid PostgreSQL log line in your log file:
* check that PostgreSQL uses an english locale for logging (lc_messages in your postgresql.conf),
* check that you use the -logtype option (syslog, stderr) according to your log file,
* if you use syslog and log_line_prefix, check that your log_line_prefix has a trailing space,
* if you use stderr, check that your log_line_prefix is of the form '%t [%p]: [%l-1] '.
If you think your log file and your options are correct, please contact the author (gsmet on #postgresql@freenode or guillaume-pg at smet dot org).

merci d'avance

pas de réponse...

Quelqu'un peut m'aider ???

Hors ligne

#25 16/04/2009 14:27:11

Marc Cousin
Membre

Re : Prè-requis PG_FOUINE

Pour commencer, si log_destination vaut syslog, c'est normal que le fichier de log soit vide, puisque maintenant toutes les logs partent vers le démon syslog (donc probablement /var/log/messages ou un autre fichier piloté par syslog).
Ce n'est pas à ma connaissance le paramétrage par défaut, il vaudrait mieux le remettre à stderr (par ailleurs, c'est comme cela qu'il doit être paramétré dans la distribution, puisque des fichiers sont créés tout de même).


Marc.

Hors ligne

Pied de page des forums