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 2020-06-19 16:21:29

pippo
Member
From: Metz (57)
Registered: 2017-01-30
Posts: 44

Erreurs SQL - Import PC

Bonjour à tous,

J'ai installé le plugin FusionInventory (version 9.4+2.4), l'installation s'est terminée correctement dans GLPI, j'ai donc commencé à tester le plugin et j'ai tenté d'ajouter mon PC via l'agent.

L'installation de l'agent s'est bien passée également, et je le vois bien remonter dans Administration > FusionInventory > Agent Management, mais il n'est pas importé automatiquement dans GLPI.

J'utilise les règles d'import de base (je ne les ai pas encore modifiées, il y a peut-être quelquechose à faire de ce côté d'abord?)

Au niveau des logs de GLPI, sans sql-error.log, j'ai vu que cette erreur revient régulièrement :

[2020-06-19 15:34:41] glpisqllog.ERROR: DBmysql::query() in /var/www/html/inc/dbmysql.class.php line 188
*** MySQL query error:
SQL: INSERT INTO `glpi_plugin_fusioninventory_dblockinventorynames` (`value`) VALUES ('pf1ycnjv')
Error: The table does not comply with the requirements by an external plugin.
Backtrace :
plugins/fusioninventory/inc/dblock.class.php:90    
...ory/inc/inventorycomputerinventory.class.php:98 PluginFusioninventoryDBLock->setLock()
...fusioninventory/inc/communication.class.php:227 PluginFusioninventoryInventoryComputerInventory->import()
...fusioninventory/inc/communication.class.php:461 PluginFusioninventoryCommunication->import()
plugins/fusioninventory/front/communication.php:93 PluginFusioninventoryCommunication->handleOCSCommunication()
plugins/fusioninventory/index.php:59               include_once()
{"user":"19@h902d1glp01t.ad.ctg.lu","mem_usage":"0.102\", 3.06Mio)"}

Est-ce que quelqu'un aurait déjà été confronté à ce problème?

Merci d'avance,
Phil


GLPI 9.4.6 (additionalfields 1.10.3 + fusioninventory 9.4+2.4 + datainjection 2.7.1 + printtopdf 1.6.0) - PHP 7.4 - MySQL 8.0 Community InnoDB cluster (3 nodes - single primary) - All on CentOS 8

Offline

#2 2020-06-23 09:33:32

mab3
Member
Registered: 2014-09-22
Posts: 193

Re: Erreurs SQL - Import PC

Bonjour,

Auriez-vous activé la réplication de Bdd dans mysql ?
Mes recherches amènent toujours à cela autour de ce problème.


Contexte : GLPI 9.4.3/FusionInventory 9.4+1.1 / Agent FI 2.5.1

Offline

#3 2020-06-24 15:41:43

pippo
Member
From: Metz (57)
Registered: 2017-01-30
Posts: 44

Re: Erreurs SQL - Import PC

Bonjour,

Merci pour votre réponse smile

Mon premier post manquait d'infos, mais oui effectivement j'ai de la réplication SQL, plus précisément un cluster InnoDB.

Notre installation de GLPI est faite de cette façon :

- Cluster MySQL 8.0 InnoDB (3 nodes, single primary) avec connection des instances GLPI à la DB par le composant MySQLRouter qui est installé sur chaque serveur GLPI
- Serveur NFS (qui deviendra redondant dans le futur) pour centraliser les fichiers, sessions etc de GLPI comme précisé dans la doc officielle si on veut installer plusieurs instances
- 1 instance de test GLPI (une autre instance sera installée et pointera vers la même DB via le composant MySQLRouter)

Est-ce que le fait d'avoir une réplication SQL pose problème au niveau de Fusion Inventory?


GLPI 9.4.6 (additionalfields 1.10.3 + fusioninventory 9.4+2.4 + datainjection 2.7.1 + printtopdf 1.6.0) - PHP 7.4 - MySQL 8.0 Community InnoDB cluster (3 nodes - single primary) - All on CentOS 8

Offline

#4 2020-07-06 15:30:59

mab3
Member
Registered: 2014-09-22
Posts: 193

Re: Erreurs SQL - Import PC

Bonjour,

D'après la page du manuel mysql , il faut impérativement que ces conditions soient réunies :
"Primary Keys.  Every table that is to be replicated by the group must have a defined primary key, or primary key equivalent where the equivalent is a non-null unique key. Such keys are required as a unique identifier for every row within a table, enabling the system to determine which transactions conflict by identifying exactly which rows each transaction has modified. "
Vérifiez sir cette table possède bien un index primaire unique et ses colonnes not null


Contexte : GLPI 9.4.3/FusionInventory 9.4+1.1 / Agent FI 2.5.1

Offline

#5 2020-07-06 17:34:33

pippo
Member
From: Metz (57)
Registered: 2017-01-30
Posts: 44

Re: Erreurs SQL - Import PC

Bonjour,

Merci pour votre réponse.

J'ai vérifié en faisant un SHOW CREATE TABLE, voici ce que j'obtiens pour la table glpi_plugin_fusioninventory_dblockinventorynames :

mysql> SHOW CREATE TABLE glpi_uat.glpi_plugin_fusioninventory_dblockinventorynames;
+--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                                            | Create Table                                                                                                                                                                                                                                                                                                      |
+--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| glpi_plugin_fusioninventory_dblockinventorynames | CREATE TABLE `glpi_plugin_fusioninventory_dblockinventorynames` (
  `value` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`value`),
  UNIQUE KEY `value` (`value`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

On a bien une primary key et une unique key qui correspondent à la colonne value, et cette dernière est bien not null


GLPI 9.4.6 (additionalfields 1.10.3 + fusioninventory 9.4+2.4 + datainjection 2.7.1 + printtopdf 1.6.0) - PHP 7.4 - MySQL 8.0 Community InnoDB cluster (3 nodes - single primary) - All on CentOS 8

Offline

Board footer

Powered by FluxBB