You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2015-10-22 12:11:43

kozuss
Member
Registered: 2014-12-11
Posts: 8

Bug import Machine fusionInventory 0.85

Bonjour, Tout d'abord je tiens à remercier les développeurs de GLPI pour cet outils .  J'ai juste un soucis depuis mon passage en 0 . 85 .  je vous explique :

Version GLPI :0 . 85 . 5
Fusion Inventory : 0 . 85+1 . 3
Monitoring : 0 . 85+1 . 0

Depuis mon passage en 0 . 85 les nouvelles machines que nous déployons (avec l'agent fusion) ne remontent pas dans GLPI . 
Au premier inventaire dans les logs de l'agent j'ai :

"[error] [h**p client] communication error: 500 Internal Server Error"

et si je relance un inventaire :

"<ERROR>ERROR: Timeout for DB lock based on name< / ERROR>"

Point de vue serveur :

Un agent est bel est bien créé mais l'ordinateur lui ne l'ai pas, l'agent reste non lié .  A priori l'ordinateur reste bloqué dans la table glpi_plugin_fusioninventory_dblockinventorynames .

log de glpi (sql-error) :

*** MySQL query error:
  SQL: SELECT \'Plugin_FusionInventory\' AS currentuser,
                         `glpi_computers` . `name` AS `ITEM_0`,
                        `glpi_computers` . `id` AS `ITEM_0_id`,
                         `glpi_users` . `name` AS `ITEM_1`,
                        `glpi_users` . `realname` AS `ITEM_1_realname`,
                        `glpi_users` . `id`  AS `ITEM_1_id`,
                        `glpi_users` . `firstname` AS `ITEM_1_firstname`,
                        `glpi_locations` . `completename` AS `ITEM_2`,  `glpi_states` . `completename` AS `ITEM_3`,  `glpi_manufacturers` . `name` AS `ITEM_4`,  `glpi_computermodels` . `name` AS `ITEM_5`,  `glpi_computers` . `serial` AS `ITEM_6`,  `glpi_operatingsystems` . `name` AS `ITEM_7`,  SUM(`glpi_items_deviceprocessors` . `frequency`)  /  COUNT(`glpi_items_deviceprocessors` . `id`) AS `ITEM_8`,  (SUM(`glpi_items_devicememories` . `size`)  /  COUNT(`glpi_items_devicememories` . `id`))
                                    * COUNT(DISTINCT `glpi_items_devicememories` . `id`) AS `ITEM_9`,   GROUP_CONCAT(DISTINCT CONCAT(IFNULL(`glpi_items_devicenetworkcards` . `mac`, \'__NULL__\'),
                                               \'$#$\',`glpi_items_devicenetworkcards` . `id`) SEPARATOR \'$$##$$\')
                              AS `ITEM_10`,

                  `glpi_computertypes` . `name` AS `ITEM_11`,  ROUND(100*`glpi_computerdisks` . freesize / `glpi_computerdisks` . totalsize) AS `ITEM_12`,  `glpi_computers` . `id` AS id  FROM `glpi_computers`LEFT JOIN `glpi_users`
                                          ON (`glpi_computers` . `users_id` = `glpi_users` . `id`
                                              )LEFT JOIN `glpi_locations`
                                          ON (`glpi_computers` . `locations_id` = `glpi_locations` . `id`
                                              )LEFT JOIN `glpi_states`
                                          ON (`glpi_computers` . `states_id` = `glpi_states` . `id`
                                              )LEFT JOIN `glpi_manufacturers`
                                          ON (`glpi_computers` . `manufacturers_id` = `glpi_manufacturers` . `id`
                                              )LEFT JOIN `glpi_computermodels`
                                          ON (`glpi_computers` . `computermodels_id` = `glpi_computermodels` . `id`
                                              )LEFT JOIN `glpi_operatingsystems`
                                          ON (`glpi_computers` . `operatingsystems_id` = `glpi_operatingsystems` . `id`
                                              ) LEFT JOIN `glpi_items_deviceprocessors`
                                          ON (`glpi_computers` . `id` = `glpi_items_deviceprocessors` . `items_id`
                                              AND `glpi_items_deviceprocessors` . `itemtype` = \'Computer\'
                                              )  LEFT JOIN `glpi_items_devicememories`
                                          ON (`glpi_computers` . `id` = `glpi_items_devicememories` . `items_id`
                                              AND `glpi_items_devicememories` . `itemtype` = \'Computer\'
                                              )  LEFT JOIN `glpi_items_devicenetworkcards`
                                          ON (`glpi_computers` . `id` = `glpi_items_devicenetworkcards` . `items_id`
                                              AND `glpi_items_devicenetworkcards` . `itemtype` = \'Computer\'
                                              ) LEFT JOIN `glpi_computertypes`
                                          ON (`glpi_computers` . `computertypes_id` = `glpi_computertypes` . `id`
                                              ) LEFT JOIN `glpi_computerdisks`
                                             ON (`glpi_computers` . `id` = `glpi_computerdisks` . `computers_id`
                                                 ) WHERE  `glpi_computers` . `is_deleted` = \'0\'  AND `glpi_computers` . `is_template` = \'0\'  AND (    `` . ``  LIKE \'%10 . 0 . 0 . %\'    AND (`glpi_states` . `id` <> \'6\' OR `glpi_states` . `id` IS NULL)  AND (`glpi_computers` . `id` <> \'3922\')   AND (`glpi_computers` . `id` <> \'3895\')   AND (`glpi_computers` . `id` <> \'3921\')   AND (`glpi_computers` . `id` <> \'3920\')  ) GROUP BY `glpi_computers` . `id` ORDER BY ITEM_0 ASC
  Error: Unknown column '' in 'where clause'
  Backtrace :
   .  .  . toring / inc / componentscatalog_rule . class .  php:505
  :                                                  PluginMonitoringComponentscatalog_rule::isThisItemCheckRule()
  inc / plugin . class .  php:1091                          call_user_func()
  inc / commondbtm . class .  php:853                       Plugin::doHook()
   .  .  . ry / inc / inventorycomputerinventory . class .  php:499 CommonDBTM->add()
   .  .  . inventory / inc / inventoryruleimport . class .  php:725 PluginFusioninventoryInventoryComputerInventory->rulepassed()
  inc / rule . class .  php:1402                            PluginFusioninventoryInventoryRuleImport->executeActions()
  inc / rulecollection . class .  php:1455                  Rule->process()
   .  .  . ry / inc / inventorycomputerinventory . class .  php:358 RuleCollection->processAllRules()
   .  .  . ry / inc / inventorycomputerinventory . class .  php:104 PluginFusioninventoryInventoryComputerInventory->sendCriteria()
   .  .  . fusioninventory / inc / communication . class .  php:222 PluginFusioninventoryInventoryComputerInventory->import()
   .  .  . fusioninventory / inc / communication . class .  php:452 PluginFusioninventoryCommunication->import()
  plugins / fusioninventory / front / communication .  php:88 PluginFusioninventoryCommunication->handleOCSCommunication()
   .  .  . ont / plugin_fusioninventory . communication .  php:45 include_once()

Apres avoir décomposer la requete SQL, le problème vient du filtre sur les plages IP .  Dans mon plugin monitoring j'applique des règles pour mes groupe dynamique en fonction des IP des machines .  Et il semble que ce soit la que ca bloque :
AND (    `` . ``  LIKE '%10 . 0 . 0 . %' 

Mais je ne sais pas pourquoi le nom de la table n'est pas renseignée .  Pour le coup le plugin monitoring fonctionne lui correctement . 

Si vous avez des idées merci de me venir en aide .

PS : un poil relou la limite des URL pour link du code

Offline

#2 2015-10-22 12:12:42

kozuss
Member
Registered: 2014-12-11
Posts: 8

Re: Bug import Machine fusionInventory 0.85

Au passage egalement les log d'apaches

log d'apache2:

[quote]
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP Fatal error:  Call to a member function fetch_array() on a non-object in /var/www/glpi/inc/dbmysql.class. php on line 254
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP Stack trace:
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   1. {main}() /var/www/glpi/plugins/fusioninventory/front/plugin_fusioninventory.communication. php:0
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   2. include_once() /var/www/glpi/plugins/fusioninventory/front/plugin_fusioninventory.communication. php:45
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   3. PluginFusioninventoryCommunication->handleOCSCommunication() /var/www/glpi/plugins/fusioninventory/front/communication. php:88
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   4. PluginFusioninventoryCommunication->import() /var/www/glpi/plugins/fusioninventory/inc/communication.class. php:452
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   5. PluginFusioninventoryInventoryComputerInventory->import() /var/www/glpi/plugins/fusioninventory/inc/communication.class.  php:222
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   6. PluginFusioninventoryInventoryComputerInventory->sendCriteria() /var/www/glpi/plugins/fusioninventory/inc/inventorycomputerinventory.class. php:104
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   7. RuleCollection->processAllRules() /var/www/glpi/plugins/fusioninventory/inc/inventorycomputerinventory.class. php:358
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   8. Rule->process() /var/www/glpi/inc/rulecollection.class. php:1455
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP   9. PluginFusioninventoryInventoryRuleImport->executeActions() /var/www/glpi/inc/rule.class. php:1402
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP  10. PluginFusioninventoryInventoryComputerInventory->rulepassed() /var/www/glpi/plugins/fusioninventory/inc/inventoryruleimport.class. php:725
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP  11. CommonDBTM->add() /var/www/glpi/plugins/fusioninventory/inc/inventorycomputerinventory.class. php:499
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP  12. Plugin::doHook() /var/www/glpi/inc/commondbtm.class. php:853
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP  13. call_user_func:{/var/www/glpi/inc/plugin.class.php:1091}() /var/www/glpi/inc/plugin.class. php:1091
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP  14. PluginMonitoringComponentscatalog_rule::isThisItemCheckRule() /var/www/glpi/inc/plugin.class. php:1091
[Thu Oct 22 09:53:56 2015] [error] [client XXXX] PHP  15. DBmysql->fetch_array() /var/www/glpi/plugins/monitoring/inc/componentscatalog_rule.class. php:517
[/quote]

Offline

#3 2015-10-22 14:23:20

kozuss
Member
Registered: 2014-12-11
Posts: 8

Re: Bug import Machine fusionInventory 0.85

Pour le coup j'ai supprimer le filtrage sur l'IP. Et effectivement cela venait bien de ça. Cela va me poser un soucis par contre car je filtre souvent en fonction de l'IP.

De plus, question : j'ai 379 lignes dans la table glpiweb.glpi_plugin_fusioninventory_dblockinventorynames.

Si je la vide ça me créera mes ordinateurs ou cela posera des soucis ? il y a une méthode ?

Offline

Board footer

Powered by FluxBB