Commit 3b53f5e4 authored by Guillaume Lucas's avatar Guillaume Lucas

[Centreon-GLPI|Webservices] Réécriture complète de l'import GLPI->Centreon

L'ancien code ne passe pas à l'échelle en fonction du nombre d'éléments
présents dans GLPI. En effet, on récupère tous les ordinateurs et tous les
équipements réseau. Pour chaque, on lance 2 requêtes (récupération IP et tags).
On fait des traitements simples et enfin, on ajoute. Évidemment, il faut
également prendre en compte le formatage/parsing SOAP qui n'est pas super rapide.

Solution :
  - déporter le travail en une seule fois sur le SGBD qui est conçu
pour ce type de travail ;
  - exporter le minimum d'informations ;
  - utiliser webservices uniquement pour le formatage SOAP des données
exportées.

Implémentation : une nouvelle méthode listObjectMonit() spécifique à notre
usage dans le plugin webservices de GLPI. Elle fait une requête SQL qui retourne
uniquement les informations utiles (nom, IP, tags) à Centreon en une seule fois.
Il faut également adapter Centreon-GLPI à ce changement.
parent 7032064d
This diff is collapsed.
......@@ -127,8 +127,8 @@ function plugin_webservices_registerMethods() {
$WEBSERVICES_METHOD['glpi.setTicketAssign']
= array('PluginWebservicesMethodHelpdesk','methodsetTicketAssign');
// Remonter les tags dans Centreon
$WEBSERVICES_METHOD['glpi.getTags'] = array('PluginWebservicesMethodInventaire','methodGetTags');
// Remonter les machines dans Centreon
$WEBSERVICES_METHOD['glpi.listObjectsMonit'] = array('PluginWebservicesMethodInventaire','methodListObjectsMonit');
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment