Outils pour utilisateurs

Outils du site


service_oel:glpi

GLPI

Gestion Libre de Parc Informatique est un logiciel libre qui permet de gérer un parc de machines liées à l'informatique (ordinateurs, imprimantes, équipements réseau, etc).

Vider l'inventaire des bases de données

Après une période de tests de mise en place d'une solution OCS+GLPI, il nous a fallu effacer les données d'inventaire sans pour autant effacer les données nécessaires à l'utilisation des logiciels. Nous indiquons ici comment nous avons procédé en espérant que cela puisse servir à d'autres.

:!: Même si une réinstallation n'a pas été nécessaire, tout n'a pas fonctionné. Voir les pistes d'amélioration possibles. :!:

Principe Général

Voici l'idée générale de la démarche pour effacer uniquement les données d'inventaire sans toucher aux données nécessaires aux fonctionnement des logiciels:

  1. faire la liste des tables remplies par l'installation des logiciels utilisés
  2. faire la liste de toutes les tables de chaque base
  3. croiser les deux listes ci-dessus pour avoir la liste des tables non modifiées lors de l'installation des logiciels
  4. supprimer les données qui ne sont pas nécessaires au fonctionnement des logiciels, c'est à dire les données contenues dans les tables de la liste croisée

Détails de la mise en œuvre

Logiciels utilisés

Avant de procéder à toute intervention, nous avons fait la liste des logiciels utilisés. Dans notre cas il s'agit de :

  • GNU/Linux Debian Wheezy 7.0
  • OCS Inventory version du paquet GNU/Linux Debian 2.0.5-1
  • GLPI version version du paquet GNU/Linux Debian 0.83.31-1
  • les plugins GLPI suivants:

Avec ces informations, il a été possible de voir dans quelles tables sont créées les données nécessaires au fonctionnement des différents logiciels.

Tables contenant les données initiales

La liste des données initiales a été récupérée en cherchant les commandes INSERT dans les fichiers d'installation des bases de données. Voici les commandes utilisées et, après quelques manipulations pour supprimer les doublons, les fichiers obtenus.

Pour OCS Inventory: Fichier insert base ocsweb

grep -i INSERT /usr/share/ocsinventory-reports/ocsreports/files/*.sql | cut -f 3 -d " " | sort -u > insert_install_ocsweb

Pour GLPI: Fichier insert base glpi

grep -i INSERT /usr/share/glpi/install/mysql/glpi-0.83.1-empty.sql| cut -f 3 -d " "|sort -u

Pour le plugin GLPI Import OCS:

rgrep -i INSERT /usr/share/glpi/plugins/massocsimport/  | cut -f 2 -d "\"| sort -u

Pour les autres plugins GLPI:

find /usr/share/glpi/plugins/ -name "*.sql" -exec grep INSERT {} \; | cut -f 3 -d " "|sort -u

Liste de toutes les tables

La liste de toutes les tables est obtenue en se connectant à la base de données mysql et en utilisant la commande

show tables;

et en faisant une petite mise en forme.

Liste des tables de la base ocsweb.

Liste des tables de la base glpi.

Croisement des listes

Il s'agit d'enlever des listes de toutes les tables, celles où l'on trouve les données initiales. Pour cela, rien de tel qu'une commande grep pour chaque base.

Pour la base ocsweb: Fichier final des tables à vider.

grep -F -f insert_ocsweb.txt -v tables_ocsweb.txt

Pour la base glpi: Fichier final des tables à vider.

grep -F -f insert_glpi.txt -v tables_glpi.txt

Suppression des données d'inventaire

:!: Avant toute modification des données, assurez-vous d'avoir une sauvegarde récente (et une possibilité de pouvoir restaurer vos données rapidement; idéalement, testez la restauration des données sur une machine différente). Pensez aussi à arrêter la remontée des inventaires (activer le verrouillage du script d'import OCS, arrêter les tâches automatiques de type cron et arrêter le serveur web qui réceptionne les données du parc informatique):!:

La commande permettant d'effacer les données d'une table est TRUNCATE TABLE <nom_de_la_table>. Après transformation, la liste des tables à vider devient une liste de commandes mysql.

Pour la base ocsweb. Pour la base glpi.

Ces commandes sont lancées directement sur les bases avec les commandes suivantes:

mysql -u <utilisateur_ocs> -p ocsweb < truncate_ocsweb.sql.txt
mysql -u <utilisateur_glpi> -p glpi < truncate_glpi.sql.txt

Pistes d'améliorations possibles

Tout s'est presque passé comme prévu. En effet, après avoir redémarré le serveur web, il est apparu que les plugins GLPI n'étaient plus installés et que les entités ont disparu de GLPI !

Il nous a donc fallu restaurer les données de la table glpi_entities et réinstaller les plugins GLPI. Cela s'est fait très simplement à partir des sauvegardes et de l'interface GLPI.

Comme la configuration des règles a été conservée, nous sommes en train d'observer les remontées d'inventaires des machines aller directement dans la bonne entité ! \o/

Utiliser des certificats signés par l'autorité CAcert.org avec l'agent FusionInventory

L'autorité de certification préconisée par Demo-TIC est ca-cert. Donc, pour que les agents FusionInventory fassent confiance au certificat du serveur GLPI de Demo-TIC, ils doivent faire confiance à l'autorité de certification. Pour cela, il faut donc:

  1. télécharger les certificats racine de CAcert.org et les mettre dans un fichier, par exemple cacert.org.crt:
    wget -O cacert.org.crt "http://www.cacert.org/certs/class3.crt" "http://www.cacert.org/certs/root.crt"
  2. indiquer à l'agent d'utiliser ces certificats:
    fusioninventory --ca-cert-file=/chemin/vers/le/fichier/cacert.org.crt -f

Il est possible de le faire de manière pérenne en modifiant le paramètre ca-cert-file dans le fichier de configuration de l'agent. Voir la documentation officielle, notamment la page sur la sécurité et celle sur la configuration de l'agent.

/var/www/documentation/data/pages/service_oel/glpi.txt · Dernière modification: 2018/05/02 16:47 (modification externe)