Vous n'êtes pas identifié(e).
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
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
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
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.
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
Merci pour vos réponses !!!!
Bonne journée
Hors ligne
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
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
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
Donc il ne faut pas passer par l'installeur PHP sur windows.
Guillaume.
Hors ligne
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
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
Merci beaucoup de ta réponse
Hors ligne
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
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
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
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
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
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
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
pas de réponse...
une piste svp
Hors ligne
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
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
@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
@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
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