OCSFusionInventory » History » Version 18

« Previous - Version 18/49 (diff) - Next » - Current version
doum, 07/15/2010 04:54 PM


Fonctions du coeur pour OCS, FusionInventory et DataInjection

Le schéma global :

Les plugins envoient les données formatées au coeur

Puis

passage dans les critère d'existance du matériel

Puis

Passage dans les verrous de champs

Puis

Passage dans les dictionnaires

Puis

Mise à jour des champs + historique

Envoi des donnees formatées (des plugins au coeur) :

On aurait une fonction prenant en argument :

  • type (NETWORKIN_TYPE, COMPUTER_TYPE... ou NULL si on ne sait pas quel est ce matériel)
  • Array de données suivant chaque 'catégorie':
  • principal :
  • name
  • serial
  • contact
  • comments
  • ....
  • ports :
  • port :
  • ip
  • mac
  • ...
  • softwares :
  • software :
  • name
  • version
  • ...
  • monitors :
  • monitor :
  • model
  • serial
  • ...
  • vms :
  • vm :
  • uuid
  • name
  • ...
  • peripherals :
  • peripheral :
  • name
  • model
  • ...
  • printers :
  • printer :
  • name
  • model
  • ...

...

  • Array pour les critères :
  • NULL : utilise les criteres généraux
  • serial et/ou adresse mac ....

Criteres généraux (coeur) :

Ces critères ont étés codés dans FusionInventory et fonctionnent très bien

  • Critères d'existance 1 (avec choix multiple)
  • IP
  • nom
  • numéro de série
  • adresse mac
  • Critères d'existance 2 (avec choix multiple)
  • IP
  • nom
  • numéro de série
  • adresse mac

Si on a des critères personnalisées (comme pour Datainjection), on cherchera directement ces critères là.

  • Walid : pour moi nouveau type de moteur de règles. Ca sera plus souple et plus puissant
  • MoYo : idem

Verrous de champs

Ameliorer les systeme de verrous du coeur (utilisé pour OCS) :
  • Etendre aux autres matériels (imprimantes, matériel réseaux, périphériques, téléphones.
  • Permettre de configurer quels champs doivent être verrouillables (Peut être pouvoir configurer ça pour chacun des plugins)
  • Avoir un onglet pour verrouiller les champs avec une coche pour verouiller / déverrouiller les champs
  • Garder le fait que si on modifie manuellement un champs (et que celui-ci est verouillable) ca le verouille.
  • Walid : comment ça se traduit ? quelles tables ? quel processus à ajouter dans GLPI ?
  • MoYo : en quoi la généralisation du système actuel est limitante ? je ne vois pas l'intérêt de définir les champs verrouillables ?
  • David : Il faut juste pouvoir verouille run champs sans devoir le modifier (ce qui est le cas actuel). la généralisation n'est pas limitante, elle est requise :)
    pour les tables un peu toutes celles qui touchent aux remontée d'infos de ocs / fusion / datainjection
  • C'est à dire ? comment tu veux présenter les champs verrouillables ? Quelle config ? qui définit quel champs est verrouillage ?

h3 . Dictionnaires

Utiliser les dictionnaires comme on le fait déjà, donc rien de spécial à ajouter / modifier là dessus

  • Walid : ajouter dico des composants et des imprimantes
  • MoYo : pas mieux

Mise à jour des champs

Comme d'habitude mise à jour + historique ;)

Liste des champs à ajouter au coeur :

Batterie

Ajout du composant "batteries" des ordinateurs portables avec les champs suivants :

  • Capacité en mWh
  • Type de battarie(CHEMISTRY, ex : Lithium )
  • date de fabrication (DATE)
  • Nom (NAME, ex : Li-lon Battery)
  • Numéro de série (SERIAL)
  • fabricant (MANUFACTURER)
  • capacité ( ex : 4400 mAh)
  • capacité de la dernière recharge complète (ex : 4308 mAh)
Buts :
  • Identifier les batteries qui peuvent poser soucis (rappels de contructeurs)
  • identifier les batteries qui ne sont plus performantes (exemple voir les batteries qui ne se recharge qu'a 40% car sont vieilles
  • Walid : ça me semble pertinent
  • MoYo : idem

Bios

Ajout d'un composant BIOS avec les champs suivants :

  • date (date du bios)
  • fabricant du bios
  • version du bios
  • Walid : faisait parti des champs à ajouter de toute façon
  • MoYo : idem. Comme un composant ou autre ?
  • David : Comme un composant je pense

Disque dur

ajout de champs supplémentaires :

  • type ('Unknown',
    'No Root Directory',
    'Removable Disk',
    'Local Disk',
    'Network Drive',
    'Compact Disc',
    'RAM Disk')
  • modèle
  • Numéro de série
  • Firmware
  • SCSI_COID
  • SCSI_CHID
  • SCSI_UNID
  • SCSI_LUN
But :
  • Gérer les infos SCSI permet de voir la config de la machine et on pourrais gérer les disques virtuels en raid (avec les ensembles peut être)
  • Walid : quel intérêt d'avoir les infos SCSI dans un outil de gestion de parc ? pour moi c'est technique, donc destiné à rester dans fusion
  • MoYo : serial / modele OK. Type : pour le moment on ne remontait que disques locaux et réseaux.
  • David : Pour la partie technique ca peut etre externe au coeur ouais

Variables d'environnement

Ajout d'un objet variables d'environnement

  • clé (ex : USERPROFILE
  • valeur (ex : C:\Documents and Settings\Administrateur)
  • Walid : est ce que ça a un intérêt dans GLPI ? SI oui, gestion comme les clefs de registre ?
  • MoYo : idem
  • David : je l'ai mis mais pour moi c'est pas trop à intégrer au coeur
  • doum : C'est le genre de truc qui n'est ni du monitoring, ni de l'inventaire. De la gestion de conf ? ca peut quand même avoir une forte liaison avec l'inventaire soft. Genre certains softs qui ne fonctionnent pas sans positionner x variables. Pour la partie helpdesk c'est pratique de pouvoir vérifier que les clés y sont.
    Niveau onglet, histoire de pas en créer encore un nouveau, peut etre les faire apparaitre au meme endroit que le registre ?

Ordinateurs

Ajout de champs :

  • Type de système (VMSYSTEM = VirtualBox / Physical)
  • Walid : voir gestion complète des vms
  • MoYo : idem

Composant mémoire

Ajouter les champs :

  • numéro de série
  • Numéro du slot
  • Walid : je suis d'accord
  • MoYo : idem

Port réseau

  • virtuel : oui/non
  • Adresse ip v6
  • gestion de plusieurs adresses IP
  • IP du DHCP
  • MTU
  • status (up/down)
  • SPEED Interface speed in Mb/s
  • Walid : comment gérer plusieurs IP sur un même port ?
  • MoYo : virtuel ? IPV6 OK / IP du DHCP : intéressant ? / Speed on le remonte dans le type pour le moment je crois.
  • David : Certains ports réseaux sont virtuel (genre une connection VPN c'est du virtuel par rapport à la carte réseau). IP du DHCP peut être intéressant dans le cas ou on a des merdouilles avec. le type et la vitesse peut très bien être différente.
  • Et donc comment tu penses gérer dans GLPI un port avec plusieurs IP ?

Carte réseau (composant)

  • PCISLOT
  • STATUS (up/down)
  • MANAGEMENT Whether or not it is a HP iLO, Sun SC, HP MP or other kink of Remote Management Interface
  • SPEED Interface speed in Mb/s
  • MoYo : Speed OK, le reste ?

Processus

Ajout d'une liste des processus au moment de l'inventaire :

  • commande (CMD, ex : /usr/sbin/syslogd -s)
  • CPU utilisé (CPUUSAGE, ex: 0.0)
  • mémoire utilisée (MEM, ex : 0.0)
  • PID (PID, ex : 622)
  • Démarré à (STARTED, ex : 2010-5-8 8:03AM)
  • tty (TTY, ex : 3)
  • utilisateur (USER, ex : root)
  • virtualmemory (VIRTUALMEMORY, ex : 5864)
  • Walid : je ne vois pas l'intérêt dans GLPI d'avoir les process
  • MoYo : idem
  • David : a dégager donc
  • Walid : à gérer dans Fusion si tu en as besoin

composant : controleur

  • fabricant (MANUFACTURER, ex : Intel)
  • nom (NAME, ex : Pont Intel 82371SB PCI vers ISA)
  • PCI ID (PCIID, ex : 8086:7000)
  • TYPE (TYPE, ex : Pont Intel 82371SB PCI vers ISA)
  • DRIVER
  • PCICLASS
  • PCIID The PCI ID, e.g: 8086:2a40 (only for PCI device)
  • PCISUBSYSTEMID The PCI subsystem ID, e.g: 8086:2a40 (only for PCI device)
  • PCISLOT The PCI slot, e.g: 00:02.1 (only for PCI device)
  • revision The controller revision, e.g: rev 02. This field may be renamed in the future.
But :
  • identifier les cartes
  • Informations requises par OPSI pour chercher le bon driver (recupere l'inventaire via webservice)
  • Walid : cela a un intérêt pour les outils tiers, mais pour un gestonnaire de parc, je ne vois pas l'intérêt...
  • MoYo : fabricant déjà remonté je pense / pour le reste idem que walid

Logiciels

  • méthode de détection (FROM, ex : registry, rpm, deb, etc)
  • guid (GUIDD, ex : {7B39DE50-34F3-421d-81A5-B908F98FFFAB} ou )
  • date d'installation (INSTALLDATE, ex : 02/02/2010)
  • commande de déinstalation (UNINSTALL_STRING, ex : MsiExec.exe /I{7B39DE50-34F3-421d-81A5-B908F98FFFAB})
  • version (VERSION, ex : 4.5.3.0)
  • version majeure (VERSION_MAJOR, ex : 4)
  • version mineure (VERSION_MINOR, ex : 5)
  • url d'info (URL_INFO_ABOUT, ex : http://support.microsoft.com)
  • is pack oui/non
  • pack name : c'est le nom du pack dans lequel ce logiciel se trouve
  • serial : numéro de série / licence du logiciel
  • IS64BIT If the software is in 32 or 64bit, (1/0)
  • Walid : quel intérêt de stocker dans GLPI la commande de désinstallation. Ca sert à fusion, pas à glpi.
  • Walid : comment gérer les packs ? dans un logiciel ? nouvel objet attaché à un logiciel ?
  • MoYo : pareil que Walid / intérêt de guid, url info, méthode de détection ? / date install OK /
  • David : Pour le pack je voyait un soft avec une ralation avec un ou plusieurs autres, mais faut que je réfléchisse à ca car faut pas que ca devienne usine a gaz

CPU

  • CACHESIZE The total CPU cache size in KB. e.g: 3072
  • CORE Number of core.
  • THREAD Number of thread per core.
  • SERIAL CPU Id/Serial
  • MoYo : serial, core, cache OK / Thread ?
  • David : le nombre de thread est important aussi (comme les cores)

Users

On peut avoir plusieurs utilisateurs connectés sur la machine (linux, windows7)

  • Walid : use case pour lequel c'est intéressant ? Déjà que l'on a du mal à faire une liaison correcte avec un seul user, alors plusieurs users associés à un matos... ça me rappelle le pb des ordis libres service aussi
  • doum : je n'ai aucun soucis de liaison contact/user. C'est un des points qui nous a changé la vie au passage à OCS/GLPI. Tu sais qui travaille sur le PC. Maintenant comment gérer les OS multi users c'est autre chose

Virtual Maniches

  • UUID = numero de serie de la vm
  • STATUS The VM status: running, idle, paused, shutdown, crashed, dying, off
  • MoYo : a réfléchir complètement sur la gestion des VM
  • Walid : voir page GlpiServers

Windows updates

  • UPDATES Windows updates
  • ID Update Id
  • KB List of KB, delimiter is '/'
  • Walid : ça serait donc un objet séparé d'un logiciel ?
  • MoYo : hum hum...
  • David : Soit séparer soit pouvoir mettre une règle pour assigner dans une catégorie ou alors ajouter un champs (mise à jour système oui/non)
  • Walid : mais quel cas d'utilisation ? qu'est ce qui nécessite que ça soit séparé ou non d'un logiciel ? des rapports ?

USBDEVICES (périphériques)

  • VENDORID Vendor USB ID. 4 hexa char.
  • PRODUCTID Product USB ID. 4 hexa char.
  • SERIAL (pour par exemple une imprimante locale, un pda connecté à l'ordi)
  • CLASS USB Class (e.g: 8 for Mass Storage)
  • SUBCLASS USB Sub Class
  • NAME The name of the device (optional)
But :
  • Récupérer les infos des périphériques comme le numéro de série d'une imrpimante usb
  • utiliser les class usb par un autre programme en webservice pour autoriser ou bloquer certains périphériques USB
  • MoYo : serial interéssant, le reste ?

ANTIVIRUS

  • COMPANY Comapny name
  • NAME
  • GUID Unique ID
  • ENABLED 1 if the antivirus is enabled.
  • UPTODATE 1 if the antivirus is up to date.
  • VERSION
  • Walid : comment ajouter les données dans GLPI ? Nouvel objet ? Nouvelle table ? Y'a-til une liaison avec le soft d'antivirus remonté par l'outil d'inventaire ?
  • MoYo : idem ?
  • David : Ca serait plutot un objet, pas de liaison avec l'antivirus installé, je le mettrai plutot dans la partie computer
  • et quels process associés à cet objet ?
But :
  • permet de voir les antivirus qui ne sont pas a jour et ceux qui sont désactivés

Fonctionnement des imprimantes :

Etant donnée que l'on remonte les numéros de série des imprimantes locale, le fonctionnement actuel des imprimantes me pose un soucis.

Je verrais plutot à la place de la connexion actuelle de l'ordinateur avec l'imprimante :

  • Connexion locale entre l'ordinateur et l'imprimante (type unique)
  • Connexions "logicieles" qui est en fait les imprimantes partagées installées sur les ordinateurs distants pour pouvoir imprimer (type globale)

Celà permet de différencier les 2 qui ne sont pas la même chose.

pour les imprimantes réseaux, on aurait uniquement les connexions "logicieles"

Import des ordinateurs / switchs / imprimantes réseau

Actuellement dans le plugin fusion, chaque matériel découvert (découverte réseau) est ajouté dans une table de matériel découvert avec le minimum d'informations nécessaires. Ensuite l'admin sélectionne ceux qu'il gère et les importe dans les tables d'inventaire de glpi (celui pemret de gérer les ordi des prestataires par exemple).

L'idée est que certains vont faire remonter les infos dans glpi qui est bien souvent en http et non en https et par conséquent je verrais bien remonter les ordinateurs dans une table "inconnus" comme les switch et imprimantes dans fusion. Ceci permettra de les gérer correctement et d'éviter une injection de données (problème de sécurité potentielle).
Des avis ?

ANCIEN - OBSOLETE

Specifications pour sortir OCS en plugin, utiliser le plugin FusionInventory et quelles fonctions doivent être codés dans le coeur, et lesquelles dans les plugins

Coeur :

Champs requis en plus :
Correspondance Champs Valeur OCS Valeur FusionInventory commentaire
Ordinateurs process_name - httpd onglet avec liste des processus au moment de l'inventaire
Ordinateurs vm - uuid onglet avec lien entre machine hote et virtualisée (coté hote, voir les machines virtualisées / coté vm, voir la machine hote
Ordinateurs core 2 2 Nombre de cores pour chacun des processeurs
Ordinateur (composant) pciid ? 8086:2a00
Ordinateur (composant) pcislot ? 00:00.0
Ordinateur (composant) type rev 03
Ordinateur network_volume ? 192.168.0.1/partage Liste des partages en plus des volumes locaux avec lien vers le serveur qui partage et visualisation des partages sur le serveur
Ordinateurs (composant) serial ? 67YU78 Numéro de série des disques durs
Ordinateurs (composant) serial ? 67YU78 Numéro de série des barettes de mémoire
Ordinateur swap 4045 4045 ajouter un champs spécialement pour le swap (actuellement c'est dans les commentaires)
Valeurs de liaison avec les plugins
Champs Valeur OCS Valeur FusionInventory commentaire
ssource 15650 15000 (type défini pour ce plugin avec nom dico)
agent_version OCS-NG_windows_client_v4061 FusionInventory-Unified-Agent_v2.00
serveur_id id - ID du serveur

Gestion des verrous
Définir pour chaque grand type de matériel (ordinateurs, matériel réseau, imprimante) la liste des tables associées avec les champs verouillables un peu comme actuellement avec les verrous ocs mais répandu aux autres éléments et paramétrable (afin d'accroitre la puissance de ces verrous).