Présentation du plugin mass_ocs_import 1.4.x pour GLPI 0.78

Cette extension fonctionne sur la version 0.78 de GLPI. Elle a pour but de permettre l'ajout et la synchronisation de machines depuis OCS Inventory.

L'extension est composée de :
  • un script pour Linux qui permet de lancer le script en ligne de commande ou via la cron. Il donne la possibilité de lancer plusieurs processus pour réaliser le traitement.
  • un script pour Windows à lancer en ligne de commandes ou à mettre dans une tâche planifiée. Sur cette plate-forme, le script ne peut lancer qu'un seul processus pour le traitement.
  • une interface graphique qui permet de suivre l'ensemble des exécutions de scripts. Elle fournit des informations sur les machines importées, synchronisées, liées et non importées.

Installation

  • Sous Linux, le package "php-cli" ou "php5-cli" doit être installé
  • Copiez les fichiers dans le répertoire plugins de GLPI.
  • Changer le propriétaire de tous les fichiers et répertoires pour le user apache
  • Rendre exécutables les scripts dans le répertoire scripts
  • Connectez-vous à GLPI
  • Dans le menu Configuration >> Plugins cliquez sur Import en masse OCS
  • Cliquez sur Installer le plugin
  • Configuration >> Mode OCSNG >> "Serveur OCS" >> Nombre d'éléments à synchroniser via le cron mettre "0"

Configuration du plugin

L'extension possède différentes options de configuration :
  • Serveur OCS par défaut : indique le serveur OCS sur lequel le script va se synchroniser.
  • Afficher les processus où rien n'a été modifié : si oui alors même les processus n'ayant rien modifié sont affichés dans la liste.
  • Effacer les processus après xx heures : indique le nombre d'heures pendant lesquelles les données d'un script sont gardées en base. (par défaut à 24)
  • Rafraîchir les informations d'un processus toutes les x minutes : indique la fréquence de rafraichissement en secondes de la page de détail d'un script est rafraichie. Si la valeur est 0, la page n'est jamais réaffichée.

Il est possible de désactiver manuellement la synchronisation en cliquant sur le bouton "Activer le verrouillage". Dans ce cas, un fichier de lock est posé sur le système de fichiers. Celui-ci empêche le script de synchronisation de se lancer. Cette option permet d'arrêter temporairement le processus de synchronisation OCS pendant une mise à jour de GLPI par exemple.

Utilisation

Le script de synchronisation adapté à la plateforme, est à lancer à la main ou/et par l'intermédiaire d'une tache planifiée ou d'une crontab

Lancement du script

Les scripts sont disponibles dans le répertoire scripts/ de l'extension.
  • Sous Linux le script est lancé avec l'une des commandes :

sh ocsng_fullsync.sh --thread_nbr=[nombre de threads à lancer] --server_id=[ID du serveur OCS]
ou :
php run.php --thread_nbr=[nombre de threads à lancer] --server_id=[ID du serveur OCS]

  • Sous Windows le script est lancé avec la commande
    php run.php --thread_nbr=[nombre de threads à lancer] --server_id=[ID du serveur OCS]

Si la commande php n'est pas dans un dossier de votre PATH, éditez et utilisez le fichier ''run.bat'' en renseignant les chemins corrects :

@SET path_php='C:OCSNGxamppphp'

SET plugin_glpi='C:OCSNGxampphtdocsglpipluginsmass_ocs_importscripts'@

Il est possible de suivre en temps réel l'exécution des scripts.
L'interface est accessible dans le menu Plugins >> Import en masse OCS.

Lancement via cron

Ajouter le script dans la crontab de votre user apache (www-data pour debian) :
*/5 * * * * /var/www/glpi/plugins/massocsimport/scripts/ocsng_fullsync.sh --thread_nbr=2 --server_id=1

par exemple, pour lancer le scripts toutes les 5 minutes

Pour Debian/Ubuntu, si la tâche CRON ci-dessus ne fonctionne pas, essayez plutôt :
*/5 * * * * php /var/www/glpi/plugins/massocsimport/scripts/run.php --thread_nbr=2 --server_id=1

Interface de suivi des exécutions des scripts

Le premier onglet affiche la liste de tous les scripts lancés. Pour chacun d'entre eux, un résumé des actions effectuées est présenté.
En cliquant sur l'identifiant du script s'ouvre un 3ème onglet qui affiche le détail de toutes les opérations, thread par thread.

Interface de visualisation des machines non importées

Le deuxième onglet affiche la liste des machines qui n'ont pu être importées depuis OCS.
Certaines informations provenant de l'inventaire OCS sont affichées, afin d'aider à la détection des problèmes.
Pour les machines présentes dans cet onglet, il est possible d'effectuer un import manuel. Il suffit, pour cela, de sélectionner les ordinateurs et l'entité destination. Appuyer ensuite sur "Importer", et l'import s'effectue.

Si le plugin Désinstallation de matériels est installé, une option apparaît alors, qui permet de supprimer les machines non importées directement dans la base de données d'OCS.