View Full Version : [EN COURS]-> Fatal error: Call to undefined method DB_Error::fetchRow()
petite pomme
23rd February 2009, 16:01
Bonjour,
Petit soucis au niveau de Centreon et apparement d'une BD :
http://img12.imageshack.us/img12/1844/aaaaa.png (http://imageshack.us)
Si vous avez déjà rencontré ce problème...
julio
23rd February 2009, 16:08
t'as encore renommé d'autres champs ?
petite pomme
23rd February 2009, 16:12
Je ne pense pas,je n'ai jamais touché au fichier : "/usr/local/centreon/www/include/options/db/viewDBInfos.php"
Quand je commente la ligne :
Fatal error: Call to undefined method DB_Error::fetchRow() in /usr/local/centreon/www/include/options/db/viewDBInfos.php on line 69
J'obtiens sous Centreon :
Parse error: syntax error, unexpected '}' in /usr/local/centreon/www/include/options/db/viewDBInfos.php on line 83
Quand je commente à son tour cette ligne les erreurs dans Centreon n'apparaissent plus mais je n'ai qu'un "^" qui s'affiche...
http://img3.imageshack.us/img3/7034/aaaaaw.png (http://imageshack.us)
http://img3.imageshack.us/img3/aaaaaw.png/1/w1143.png (http://g.imageshack.us/img3/aaaaaw.png/1/)
AkHeNaToN
23rd February 2009, 16:16
julio parle des champs dans les bases de données MySQL de Centreon à savoir "centreon" et "centstorage" (ou différemment suivant le nom que tu leur à donné lors de l'installation).
petite pomme
23rd February 2009, 16:26
Non je ne pense pas pour Centreon j'ai juste réalisé l'installation sans faire de modifications dans les BD sql.
Ci-dessous ma base de données Centreon si ça peut vous aider :
+----------------------------------------+
| Tables_in_centreon |
+----------------------------------------+
| acl_group_contacts_relations |
| acl_group_topology_relations |
| acl_groups |
| acl_res_group_relations |
| acl_resources |
| acl_resources_hg_relations |
| acl_resources_host_relations |
| acl_resources_hostex_relations |
| acl_resources_sc_relations |
| acl_resources_service_relations |
| acl_resources_sg_relations |
| acl_topology |
| acl_topology_relations |
| cfg_cgi |
| cfg_nagios |
| cfg_ndo2db |
| cfg_ndomod |
| cfg_resource |
| command |
| command_categories |
| command_categories_relation |
| config |
| contact |
| contact_host_relation |
| contact_hostcommands_relation |
| contact_param |
| contact_service_relation |
| contact_servicecommands_relation |
| contactgroup |
| contactgroup_contact_relation |
| contactgroup_host_relation |
| contactgroup_hostgroup_relation |
| contactgroup_service_relation |
| contactgroup_servicegroup_relation |
| cron_operation |
| css_color_menu |
| data_bin |
| data_stats_daily |
| data_stats_monthly |
| data_stats_yearly |
| dependency |
| dependency_hostChild_relation |
| dependency_hostParent_relation |
| dependency_hostgroupChild_relation |
| dependency_hostgroupParent_relation |
| dependency_metaserviceChild_relation |
| dependency_metaserviceParent_relation |
| dependency_serviceChild_relation |
| dependency_serviceParent_relation |
| dependency_servicegroupChild_relation |
| dependency_servicegroupParent_relation |
| escalation |
| escalation_contactgroup_relation |
| escalation_host_relation |
| escalation_hostgroup_relation |
| escalation_meta_service_relation |
| escalation_service_relation |
| escalation_servicegroup_relation |
| extended_host_information |
| extended_service_information |
| general_opt |
| giv_components_template |
| giv_graphs_template |
| host |
| host_hostparent_relation |
| host_service_relation |
| host_template_relation |
| hostgroup |
| hostgroup_relation |
| index_data |
| informations |
| instance |
| log |
| log_archive_host |
| log_archive_last_status |
| log_archive_service |
| log_snmptt |
| meta_contactgroup_relation |
| meta_service |
| meta_service_relation |
| metrics |
| mod_syslog_opt |
| modules_informations |
| nagios_macro |
| nagios_server |
| ns_host_relation |
| ods_view_details |
| on_demand_macro_host |
| on_demand_macro_service |
| options |
| service |
| service_categories |
| service_categories_relation |
| servicegroup |
| servicegroup_relation |
| session |
| statistics |
| timeperiod |
| topology |
| topology_JS |
| traps |
| traps_service_relation |
| traps_vendor |
| view_img |
| view_img_dir |
| view_img_dir_relation |
+----------------------------------------+
106 rows in set (0.00 sec)
Et concernant Centstorage je ne trouve pas de BD :
mysql> connect centstorage
ERROR 1049 (42000): Unknown database 'centstorage'
julio
23rd February 2009, 16:33
Mais il ne faut pas commenter des lignes comme ca ! C'est pas de la magie :)
C'est bien l'open source tant que le gens ne bidouillent pas... Remet cette ligne et regarde si tu n'a pas une autre base de donnée que centreon qui a été créé. Si c'est ca configure le fichier de conf de cnetreon pour qu'il la prenne comme base centstorage.
Comment as tu pu faire l'installation complète sans cette base ? C'est incompréhensible...
petite pomme
23rd February 2009, 16:44
Voila les BD présentent dans mysql :
mysql> select * from db;
+-----------+---------------+-------------+-------------+-------------+--------- ----+-------------+-------------+-----------+------------+-----------------+---- --------+------------+-----------------------+------------------+--------------- ---+----------------+---------------------+--------------------+--------------+
| Host | Db | User | Select_priv | Insert_priv | Update_p riv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Ind ex_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_pr iv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv |
+-----------+---------------+-------------+-------------+-------------+--------- ----+-------------+-------------+-----------+------------+-----------------+---- --------+------------+-----------------------+------------------+--------------- ---+----------------+---------------------+--------------------+--------------+
| localhost | centreon | centreon | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | | centreon | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | ndo | centreon | Y | Y | Y | Y | N | N | N | N | N | N | N | N | N | N | N | N | N |
| localhost | roundcubemail | roundcube | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | nagios | ndouser | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | ndo | ndouser | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | syslog | sysloguser | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | syslog | syslogadmin | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| localhost | syslog | admin | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
+-----------+---------------+-------------+-------------+-------------+--------- ----+-------------+-------------+-----------+------------+-----------------+---- --------+------------+-----------------------+------------------+--------------- ---+----------------+---------------------+--------------------+--------------+
AkHeNaToN
23rd February 2009, 16:48
Soit ta table "centstorage" n'a pas été créée et cela m'étonne car je vois pas pourquoi
soit elle à pas de nom (cf. la deuxième ligne).
petite pomme
23rd February 2009, 17:01
J'ai du "centstorage" un peu partout pour pas changer :
pinet:~# locate centstorage
/etc/cron.d/centstorage
/etc/init.d/centstorage
/etc/rc0.d/K30centstorage
/etc/rc1.d/K30centstorage
/etc/rc2.d/S40centstorage
/etc/rc3.d/S40centstorage
/etc/rc4.d/S40centstorage
/etc/rc5.d/S40centstorage
/etc/rc6.d/K30centstorage
/usr/local/centreon/examples/centstorage.init.d
/usr/local/centreon/log/centstorage.log
/usr/local/centreon/www/include/options/oreon/generalOpt/centstorage
/usr/local/centreon/www/include/options/oreon/generalOpt/centstorage/form.ihtml
/usr/local/centreon/www/include/options/oreon/generalOpt/centstorage/form.php
/usr/local/centreon/www/include/options/oreon/generalOpt/centstorage/index.html
/usr/local/centstorage
/usr/local/centstorage/bin
/usr/local/centstorage/bin/centstorage
/usr/local/centstorage/bin/logAnalyser
/usr/local/centstorage/bin/nagiosPerfTrace
/usr/local/src/centreon-2.0-b5/bin/centstorage
/usr/local/src/centreon-2.0-b5/tmpl/install/centstorage.cron
/usr/local/src/centreon-2.0-b5/tmpl/install/centstorage.init.d
petite pomme
24th February 2009, 10:31
Soit ta table "centstorage" n'a pas été créée et cela m'étonne car je vois pas pourquoi
soit elle à pas de nom (cf. la deuxième ligne).
Je ne vois pas cette DB "Centstorage" et même en ayant renommé la DB de la seconde ligne en "Centstorage" rien ne se passe cette DB est vide.
Voila les lignes qui posent problème dans le script -> /usr/local/centreon/www/include/options/db/viewDBInfos.php
69 while ($tabledata_ary =& $DBRESULT->fetchRow()) {
70 $dbsize += $tabledata_ary['Data_length'] + $tabledata_ary['Index_length'];
71 $rows += $tabledata_ary['Rows'];
72 $datafree += $tabledata_ary['Data_free'];
73 }
74 $DBRESULT->free();
75 }
76 } else {
77 $dbsize = NULL;
78 $rows = NULL;
79 $datafree = NULL;
80 }
81 }
82 return array($dbsize / 1024 / 1024 , $rows, $datafree);
83 }
YodaNC
24th February 2009, 10:58
Non je ne pense pas pour Centreon j'ai juste réalisé l'installation sans faire de modifications dans les BD sql.
Ci-dessous ma base de données Centreon si ça peut vous aider :
+----------------------------------------+
| Tables_in_centreon |
+----------------------------------------+
| config |
| data_bin |
| data_stats_daily |
| data_stats_monthly |
| data_stats_yearly |
| index_data |
| instance |
| log |
| log_archive_host |
| log_archive_last_status |
| log_archive_service |
| log_snmptt |
| metrics |
| statistics |
+----------------------------------------+
106 rows in set (0.00 sec)
]
Euh, pourquoi on retrouve les tables de la base centstorage dans la base centreon ? Ca te dirait pas de repartir sur une installation propre ?
petite pomme
24th February 2009, 11:20
Je ne vais pas avoir le temps, je suis en stage et il se termine en fin de semaine sachant que j'ai mon rapport à écrire et j'en passe... pour le moment le couple Nagios Centreon fonctionne, en tout cas il remonte les pannes des machines et des services par mail, l'analyse des logs etc... c'est surtout pour ma culture générale on va dire, je n'ai pas vraiment envie de rendre à mon entreprise un produit qui ne fonctionne qu'à 50%. :(
Concernant Censtorage, les chemins configurés dans Centreon sont bons, je les retrouvent sur le serveur :
Chemin de la base de données RRDTool pour les métriques ---> /usr/lib/perl5/RRDs/metrics/
Chemin de la base de données RRDTool pour les statuts ---> /usr/lib/perl5/RRDs/status/
Chemin de la base de données RRDTool pour les statistiques Nagios ---> /usr/lib/perl5/RRDs/nagios-perf/
drwxr-xr-x 2 nagios nagios 4096 2008-07-25 09:59 metrics
drwxrwxr-x 3 nagios nagios 4096 2009-02-23 15:39 nagios-perf
drwxr-xr-x 2 nagios nagios 4096 2008-07-25 09:59 status
Données de performances ---> /usr/local/nagios/var/service-perfdata
-rw-rw-r-- 1 nagios www-data 5171535688 2009-02-24 10:02 service-perfdata
Supprimer le fichier ---> /usr/local/nagios/var/service-perfdata.tmp
-rw-rw-r-- 1 nagios www-data 5171535688 2009-02-24 10:02 service-perfdata
Fichier log Nagios actuel à traiter ---> /usr/local/nagios/var/nagios.log
-rw-rw-r-- 1 nagios nagios 139535 2009-02-24 09:51 nagios.log
petite pomme
24th February 2009, 12:23
Une petite idée ?
AkHeNaToN
24th February 2009, 12:43
1. créé un base centstorage
2. importe la structure à partir du fichier se trouvant dans les sources de Centreon
mysql -u root centstorage < /centreon-2.0/www/install/createTablesCentstorage.sql
3. Modifie les fichier centreon.conf.php et conf.pm afin de changer le nom de la base de donner centstorage
4. soit sur que l'utilisateur spécifier dans les deux fichiers (du 3.) a la possibility de INSERT, UPDATE, SELECT, DELETE sur la base centstorage
5. relance le démon censtorage
petite pomme
24th February 2009, 15:37
1. créé un base centstorage
2. importe la structure à partir du fichier se trouvant dans les sources de Centreon
mysql -u root centstorage < /centreon-2.0/www/install/createTablesCentstorage.sql
3. Modifie les fichier centreon.conf.php et conf.pm afin de changer le nom de la base de donner centstorage
4. soit sur que l'utilisateur spécifier dans les deux fichiers (du 3.) a la possibility de INSERT, UPDATE, SELECT, DELETE sur la base centstorage
5. relance le démon censtorage
1. OK
2. La ligne ne fonctionne pas...
AkHeNaToN
24th February 2009, 16:13
normal la ligne indique "/centreon-2.0/www/install/createTablesCentstorage.sql" a toi de remplacer le chemin par celui de ta machine, je ne sais pas ou tu a placer les sources de Centreon 2.0
petite pomme
24th February 2009, 16:37
1. créé un base centstorage
2. importe la structure à partir du fichier se trouvant dans les sources de Centreon
mysql -u root centstorage < /centreon-2.0/www/install/createTablesCentstorage.sql
3. Modifie les fichier centreon.conf.php et conf.pm afin de changer le nom de la base de donner centstorage
4. soit sur que l'utilisateur spécifier dans les deux fichiers (du 3.) a la possibility de INSERT, UPDATE, SELECT, DELETE sur la base centstorage
5. relance le démon censtorage
1. OK
2. OK
3. Voila les scripts je dois y modifier quoi, on ne parle pas trop de Centstorage dedans...
/ect/centreon/centreon.conf.php
<?php
/*
* Centreon is developped with GPL Licence 2.0 :
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
* Developped by : Julien Mathis - Romain Le Merlus - Christophe Coraboeuf
*
* The Software is provided to you AS IS and WITH ALL FAULTS.
* Centreon makes no representation and gives no warranty whatsoever,
* whether express or implied, and without limitation, with regard to the quality,
* safety, contents, performance, merchantability, non-infringement or suitability for
* any particular or intended purpose of the Software found on the Centreon web site.
* In no event will Centreon be liable for any direct, indirect, punitive, special,
* incidental or consequential damages however they may arise and even if Centreon has
* been previously advised of the possibility of such damages.
*
* For information : contact@centreon.com
*/
/* Database */
$conf_centreon['hostCentreon'] = "localhost";
$conf_centreon['hostCentstorage'] = "localhost";
$conf_centreon['user'] = "centreon";
$conf_centreon['password'] = "********";
$conf_centreon['db'] = "centreon";
$conf_centreon['dbcstg'] = "";
/* path to classes */
$classdir='./class';
/* Centreon Path */
$centreon_path='/usr/local/centreon/';
/ect/centreon/conf.pm
$mysql_host = "localhost";
$mysql_user = "centreon";
$mysql_passwd = "*******";
$mysql_database_oreon = "centreon";
$mysql_database_ods = "";
1;
YodaNC
24th February 2009, 17:47
un petit indice : cstg = CentSToraGe ?
ods ancien nom de centstorage ?
petite pomme
25th February 2009, 11:19
J'ai comme l'impression que j'ai 2 DB Centreon !
J'ai réalisé plusieurs install des update et j'en passe... il n'existe pas une commande pour voir toutes les DB créées dans mysql ?
$conf_centreon['dbcstg'] = "";
Ce ne serait pas la fameuse DB sans nom !
petite pomme
25th February 2009, 11:41
Heureuse nouvelle ça fonctionne !
http://img413.imageshack.us/img413/1844/aaaaa.png (http://imageshack.us)
http://img413.imageshack.us/img413/aaaaa.png/1/w1151.png (http://g.imageshack.us/img413/aaaaa.png/1/)
Il fallait en effet éditer ces scripts pour que Centreon reconnaisse les DB.
RESOLU merci YodaNc et Akhenaton !
petite pomme
25th February 2009, 12:53
Simple question est-ce normal d'avoir :
@CENTSTORAGE_RRD@/mtrics/
@CENTSTORAGE_RRD@/status/
@CENTSTORAGE_RRD@/nagios-perf/
et
@NAGIOS_VAR@/service-perfdata
@NAGIOS_VAR@/service-perfdata.tmp
@NAGIOS_VAR@/nagios.log
Ce qui nous donne ça :
http://img7.imageshack.us/img7/3244/aaaaasby.png (http://imageshack.us)
http://img7.imageshack.us/img7/aaaaasby.png/1/w800.png (http://g.imageshack.us/img7/aaaaasby.png/1/)
Et par la même occasion d'avoir dans la partie "Rapport" quand je selectionne un host :
DB ERROR : SELECT sum(`UPnbEvent`) as UP_A, sum(`UPTimeScheduled`) as UP_T, sum(`DOWNnbEvent`) as DOWN_A, sum(`DOWNTimeScheduled`) as DOWN_T, sum(`UNREACHABLEnbEvent`) as UNREACHABLE_A, sum(`UNREACHABLETimeScheduled`) as UNREACHABLE_T, sum(`UNDETERMINEDTimeScheduled`) as UNDETERMINED_T FROM `log_archive_host` WHERE `host_id` = 16 AND `date_start` >= 1235430000 AND `date_end` <= 1235516400 AND DATE_FORMAT( FROM_UNIXTIME( `date_start`), '%W') IN ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') GROUP BY `host_id` [nativecode=1054 ** Unknown column 'UNDETERMINEDTimeScheduled' in 'field list']
http://img408.imageshack.us/img408/1844/aaaaa.png (http://imageshack.us)
http://img408.imageshack.us/img408/aaaaa.png/1/w1179.png (http://g.imageshack.us/img408/aaaaa.png/1/)
AkHeNaToN
25th February 2009, 13:47
Simple question est-ce normal d'avoir :
@CENTSTORAGE_RRD@/mtrics/
@CENTSTORAGE_RRD@/status/
@CENTSTORAGE_RRD@/nagios-perf/
et
@NAGIOS_VAR@/service-perfdata
@NAGIOS_VAR@/service-perfdata.tmp
@NAGIOS_VAR@/nagios.log
Non tu devrais avoir:
/var/lib/centreon
à la place de:
@CENTSTORAGE_RRD@
et
/usr/local/nagios/var/
à la place de:
@NAGIOS_VAR@
ps: les répertoire mentionnés ne sont peut être pas les même suivant l'endroit ou tu as installé ton Centreon et ton Nagios
petite pomme
25th February 2009, 14:42
Merci c'est bon !
petite pomme
25th February 2009, 16:01
Par contre j'ai toujours ce probleme :
DB ERROR : SELECT sum(`UPnbEvent`) as UP_A, sum(`UPTimeScheduled`) as UP_T, sum(`DOWNnbEvent`) as DOWN_A, sum(`DOWNTimeScheduled`) as DOWN_T, sum(`UNREACHABLEnbEvent`) as UNREACHABLE_A, sum(`UNREACHABLETimeScheduled`) as UNREACHABLE_T, sum(`UNDETERMINEDTimeScheduled`) as UNDETERMINED_T FROM `log_archive_host` WHERE `host_id` = 16 AND `date_start` >= 1235430000 AND `date_end` <= 1235516400 AND DATE_FORMAT( FROM_UNIXTIME( `date_start`), '%W') IN ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') GROUP BY `host_id` [nativecode=1054 ** Unknown column 'UNDETERMINEDTimeScheduled' in 'field list']
http://img408.imageshack.us/img408/1844/aaaaa.png (http://imageshack.us)
http://img408.imageshack.us/img408/aaaaa.png/1/w1179.png (http://g.imageshack.us/img408/aaaaa.png/1/)[/QUOTE]
YodaNC
25th February 2009, 16:21
Ca ressemble à une base de données qui ne serait pas de la même version que les pages php.
=> reprendre à zéro en suivant le wiki ne serait pas une mauvaise idée
petite pomme
27th February 2009, 15:30
Problème résolu, c'était un soucis au niveau des redirection de Centreon pour les analyses de log.