Trace: » Présentation du plugin mass_ocs_import

Présentation du plugin mass_ocs_import

Cette extension fonctionne à partir de la version 0.70 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.

La documentation officielle du plugin est maintenant hébergée sur le site des plugins

Installation

  1. Sous Linux, le package “php-cli” ou “php5-cli” doit être installé
  2. Copiez les fichiers dans le répertoire plugins de GLPI (usr/local/apache2/htdocs/glpi/plugins pour certaines distributions comme Red Hat si Xamp est installé, pour ceux qui ont installé PHP-MySQL-Apache c'est dans /var/www/html/glpi/plugins).
  3. Changer le propriétaire de tous les fichiers et répertoires pour le user apache
  4. Rendre exécutables les scripts dans le répertoire scripts
  5. Connectez-vous à GLPI
  6. Dans le menu Configuration » Plugins cliquez sur Import en masse OCS
  7. Cliquez sur Installer le plugin
  8. 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 :

  • Activer les traces : enregistre en base les données sur l'exécution des scripts
  • Mise à jour des informations toutes les xx machines : indique la fréquence d'enregistrement des données d'exécution d'un processus du script (par exemple 3 indique que le processus va enregistrer les informations le concernant toutes les 3 machines traitées)
  • 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 à 2)
  • Effacer les processus vides après xx heures : indique le nombre d'heures pendant lesquelles les données d'un script qui n 'a rien traité sont gardées en base .(Attention !!! par défaut à 0 conserve tous les processus vide indéfiniment)
  • Nombre de secondes pour le rafraichissement des pages (0 pas de rafraichissement) : 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.
  • Nombre maximum de machines à importer par thread (0 pas de limite) : permet de limiter volontairement le nombre maximum de machines qui seront traitées par un processus du script. Si la valeur est 0, alors aucune limite n'est mise en place
  • Serveur OCS par défaut : indique le serveur OCS sur lequel le script va se synchroniser.
  • Prévenir si machines non importées : explication à compléter
  • Nombre de machines : explication à compléter

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] --nolog //(pour afficher à l'écran le résultat de l'exécution des threads)//

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:OCSNGxampphtdocsglpipluginsmassocsimportscripts'

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/mass_ocs_import/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/mass_ocs_import/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.

Le nettoyage des traces d'import (logs des machines importées) est géré par une “action automatique”, CleanOldThreads, qu'il est possible de configurer (durée de conservation des anciens logs) par l'interface 'configuration / Actions Automatiques'

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.