Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=merge_page
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Les champs modifiés par la source pour l'import dans Shinken

Pour pouvoir associer certains champs d'import VMWare avec nos propriétés Shinken, nous avons dû réadapter certains champs :

shinken.runtime.powerState

Dans l'API VMWare, le champs d'import runtime.powerState donne l'état actuel de l'ESX ou de la Machine virtuelle. Sa valeur peut être soit "poweredOn", soit "poweredOff".
Pour pouvoir associer ce champs avec la propriété shinken Activé (enabled en .cfg), nous convertissons les valeurs "poweredOn" / "poweredOff" en 1 / 0 dans un nouveau champs d'import nommé powerStateAsInt.

Champs de la source

Format de retour de l'import Exemple de valeur de la source 

shinken.runtime.powerState

Etat actuel de la machine1 ou 0

shinken.config.hardware.device.labelSummary

Dans l'API VMWare, le champs d'import config.hardware.device donne les informations complètes de chaque périphérique virtuel appartenant à la machine virtuelle.
La liste étant trop exhaustive, nous récupérons que certaines informations. À l'aide du nouveau champs d'import labelSummaryList, nous récupérons le nom et le récapitulatif des informations de chaque périphérique virtuel pour la machine virtuelle importée.

Contexte

La source VMWare utilise les APIs des ESX pour récupérer les données des VM et des ESX. Collecter toutes les informations de ces API peut être très long, c'est pour cette raison que nous avons ajouté un système permettant de choisir quels champs la source va récupérer.

Ajouter ou supprimer des champs collectés par la source

Vous pouvez modifier la liste des champs récupérés par la source, pour voir les nouvelles données dans Shinken, vous devrez en plus ajouter un mapping ( Voir la page Le mapping des informations collectées des champs du serveur VMWare vers les propriétés et les données Shinken ).

Le fichier à modifier est ici : 
/etc/shinken-user/source-data/source-data-[nom de la source]/configuration/collected_fields_from_source/list_of_collected_fields.json


Exemple de chemin pour la source livrée par défaut : 
/etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/collected_fields_from_source/list_of_collected_fields.json

Le fichier list_of_collected_fields.json doit respecter le format suivant :

  • La source VMWare ne peut importer que des hôtes alors pour cette source le fichier de règle commencera toujours par "hosts".
  • Puis mettre le champ de l'API VMWare en champs ( à gauche )
  • Enfin mettre la valeur "true" pour récupérer la donnée ou "false" pour ne pas la récupérer


Info

Il est possible d'ajouter des commentaires dans ce fichier. Toutes les lignes qui commencent par le caractère # seront considérés comme des commentaires.

No Format
languagetext
themeEmacs
{
  "hosts": {
    "name": "true",
    "shinken.machine_type" : "true",
    "runtime.powerState": "false"
  }
}

Les champs livrées dans le fichier en commentaire du fichier par défaut ont toutes été testées et peuvent s'importer dans Shinken.

Il est possible d'ajouter des champs supplémentaires parmi plus de 3000 champs de l'API VMWare mais tous les champs n'ont pas été testées par nos soins et donc certaines données pourraient ne pas être exploitables.

Ajouter ou modifier les descriptions des champs de l'API VMWare

Par défaut, nous avons documenté un certain nombre de champs, mais comme il est possible d'ajouter des champs récupérés par la source, il est aussi possible d'ajouter une description pour ces champs.


Les fichiers à modifier sont ici : 
/etc/shinken-user/source-data/source-data-[nom de la source]/configuration/collected_fields_from_source/description_of_collected_fields_en.json
/etc/shinken-user/source-data/source-data-[nom de la source]/configuration/collected_fields_from_source/description_of_collected_fields_fr.json


Exemple de chemin pour la source livrée par défaut : 
/etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/collected_fields_from_source/description_of_collected_fields_en.json
/etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/collected_fields_from_source/description_of_collected_fields_fr.json


Vous pouvez modifier le fichier fr ou en fonction de la langue de votre installation

Les fichiers de description doivent respecter le format suivant :

  • La source VMWare ne peut importer que des hôtes, alors pour cette source le fichier de règle commencera toujours par "hosts".
  • Puis mettre le champ de l'API VMWare en champs ( à gauche )
  • Enfin mettre la description


Info

Il est possible d'ajouter des commentaires dans ce fichier. Toutes les lignes qui commencent par le caractère # seront considérées comme des commentaires.

No Format
languagetext
themeEmacs
{
  "hosts": {
    "name": "Nom de la machine",
    "shinken.machine_type" : "Type de machine VIRTUAL_MACHINE ou HOST",
    "runtime.powerState": "Etat d'alimentation de la machine virtuelle"
  }
}

Les champs modifiés par la source pour l'import dans Shinken

Pour pouvoir associer certains champs d'import VMWare avec nos propriétés Shinken, nous avons dû réadapter certains champs :

Champs de la source

Format de retour de l'import Exemple de valeur de la source 

shinken.config.hardware.device.labelSummary

(label = "nom du périphérique", summary = "Récapitulatif des informations")(label = IDE 0, summary = IDE 0),(label = Network adapter 1, summary = VM Network),(label = Network adapter 2, summary = Test)

shinken.runtime.networkRuntimeInfo.netStackInstanceRuntimeInfo.instanceState

Dans l'API VMWare, le champs d'import runtime.networkRuntimeInfo.netStackInstanceRuntimeInfonous donne la liste des informations d'exécution de la pile réseau de la machine virtuelle.
La liste étant trop exhaustive, nous avons stocké au sein du nouveau champs d'import netStackInfoAsInt, le champs de l'instance et l'état de cette instance pour chaque machine virtuelle importée.

Champs de la source

Format de retour de l'import Exemple de valeur de la source 

shinken.runtime.networkRuntimeInfo.netStackInstanceRuntimeInfo.instanceState

(instance = "clé de l'instance", state = "état de l'instance")(instance = defaultTcpipStack, state = active)

shinken.config.network.vnic.first

Afin de simplifier la récupération d'IP de l'ESX, nous avons ajouté le champ shinken.config.network.vnic.first avec la première adresse IP que nous trouvons.

  • À titre indicatif :
    • Les adresses IP de l'ESX dans l'API VMWare, sont disponibles dans le champ config.network.vnic qui est une liste d'objet network.
    • Dans l'objet network les adresses IP sont dans le champ network.spec.ip.ipAddress.

Champs de la source

Format de retour de l'import Exemple de valeur de la source 

shinken.config.network.vnic.first

Première adresse IP de la machine192.168.1.1
Info

Pour les VM l'adresse IP est dans le champ : guest.ipAddress

shinken.config.network.vnic

Afin de simplifier la récupération des adresses IP de l'ESX, nous avons ajouter le champ shinken.config.network.vnic avec la liste des adresses IP que nous trouvons.

  • À titre indicatif :
    • Les adresses IP de l'ESX dans l'API VMWare, sont disponibles dans le champ config.network.vnic qui est une liste d'objet network.
    • Dans l'objet network les adresses IP sont dans le champ network.spec.ip.ipAddress.

Champs de la source

Format de retour de l'import Exemple de valeur de la source 

shinken.config.network.vnic

["Première adresse IP de la machine", "Deuxième adresse IP de la machine"][u'192.168.1.1', u'192.168.1.2']shinken.datastore

shinken.runtime.powerState


Ces informations sont stockés dans le champs d'import shinken.datastore

Dans l'API VMWare, le champs d'import datastore nous donne une liste d'objet qui contient les informations des datastores ( disques, métadatas, iso, etc. ) liées aux VMs ou aux ESXs.

  • Nous parcourons chaque objet pour récupérer les informations de chaque datastore afin de les retourner au format liste de données.
  • runtime.powerState donne l'état actuel de l'ESX ou de la Machine virtuelle. Sa valeur peut être soit "poweredOn", soit "poweredOff".
    Pour pouvoir associer ce champs avec la propriété shinken Activé (enabled en .cfg), nous convertissons les valeurs "poweredOn" / "poweredOff" en 1 / 0 dans un nouveau champs d'import nommé powerStateAsInt.


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.datastore

    (name = "nom du datastore", summary_capacity = "capacité totale du datastore", summary_type = "type de datastore", summary_freeSpace = "espace libre total du datasotre", summary_url = "url du datastore", summary_uncommitted = "espace non alloué du datastore")(name = datastore1, summary_capacity = 491505319936, summary_type = VMFS, summary_freeSpace = 199942471680, summary_url = /vmfs/volumes/6034e02b-41d8f1a8-85b2-14187759998c, summary_uncommitted = 97587437547)

    shinken.guest.disk

    runtime.powerState

    Etat actuel de la machine1 ou 0

    shinken.config.hardware.device.labelSummary

    Dans l'API VMWare, le champs d'import config.hardware.device donne les informations complètes de chaque périphérique virtuel appartenant à la machine virtuelle.
    La liste étant trop exhaustive, nous récupérons que certaines informations. À l'aide du nouveau champs d'import labelSummaryList, nous récupérons le nom et le récapitulatif des informations de chaque périphérique virtuel pour la machine virtuelle importée.


    Dans l'API VMWare, le champs d'import disks nous donne la liste d'objet qui contient les informations de chaque disque liées aux VMs.

    • Nous parcourons chaque objet pour récupérer les informations de chaque disque afin de les retourner au format liste de données.
    • Ces informations sont stockées dans le champs d'import shinken.guest.disk.

    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.config.hardware.guestdevice.disklabelSummary

    (capacity label = "capacité nom du disquepériphérique", diskPath summary = "emplacement du fichier du disque", freeSpace = "espace libre du disque"Récapitulatif des informations")(capacity label = 47217381376IDE 0, diskPath = /, freeSpace = 26512211968summary = IDE 0),(capacity label = 1063256064, diskPath = /boot, freeSpace = 860229632Network adapter 1, summary = VM Network),(label = Network adapter 2, summary = Test)



    shinken.

    network

    runtime.networkRuntimeInfo.netStackInstanceRuntimeInfo.instanceState

    Dans l'API VMWare, le champs d'import network nous donne les noms des réseaux où est connectée import runtime.networkRuntimeInfo.netStackInstanceRuntimeInfonous donne la liste des informations d'exécution de la pile réseau de la machine virtuelle importée. Nous parcourons chaque objet pour récupérer les informations de chaque réseau afin de retourner une chaîne de caractère contenant le nom des réseaux. Ces informations sont stockées dans le champs d'import shinken.network.
    La liste étant trop exhaustive, nous avons stocké au sein du nouveau champs d'import netStackInfoAsInt, le champs de l'instance et l'état de cette instance pour chaque machine virtuelle importée.


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.network

    Réseau 1,Réseau 2VMware Network 1,VMware Network 2

    Champs communs à l'ESX et aux machines virtuelles

    Champs de la sourceDescriptionnameNom de la machineshinken.machine_typeType de machine : VIRTUAL_MACHINE ou HOSTruntime.powerStateÉtat d'alimentation de la machine virtuelleruntime.bootTimeHorodatage de la dernière mise sous tensionruntime.connectionStateIndique si la machine virtuelle est disponible pour être géréesummary.config.nameConfiguration du Nom de l'ESX ou de la machine virtuellesummary.config.product.nameNom du produit de l'ESX ou de la machine virtuellesummary.config.product.vendorVendeur de l'ESX ou de la machine virtuellesummary.config.product.versionVersion de l'ESX ou de la machine virtuellesummary.quickStats.overallCpuUsageUtilisation agrégée du processeur sur tous les cœurs de l'hôte en MHzsummary.quickStats.overallCpuDemandDemande agrégée du processeur sur tous les cœurs de l'hôte en MHzsummary.quickStats.overallMemoryUsageUtilisation de la mémoire physique sur l'hôte en Moshinken.runtime.powerStateÉtat de la machine ( 1 = allumée, 0 = éteinte )shinken.networkNom des réseaux virtuelsshinken.datastoreListe des Datastore ( disques, métadatas, iso, etc. )

    Champs d'import pour les machines virtuelles

    Champs de la sourceDescriptionconfig.annotationDescription de la machine virtuelleconfig.guestFullNameNom complet de la machine virtuelleconfig.guestIdIdentifiant de la machine virtuelleconfig.hardware.memoryMBQuantité de mémoire de la machine virtuelle en Mbconfig.hardware.numCPUNombre de CPU de la machine virtuelleconfig.hardware.numCoresPerSocketNombre de cœurs par CPU pour la machine virtuelleconfig.uuidUUID de la machine virtuelleconfig.versionVersion de la machine virtuelleguest.guestFamilySystème d'exploitation de la machine virtuelleguest.hostNameNom de la machine virtuelleguest.ipAddressAdresse IP de la machine virtuelleguest.toolsVersionStatusÉtat de la version actuelle des outils VMware dans le système d'exploitation de la machine virtuelle, s'il est connu ( Déprécié )guest.toolsVersionStatus2État de la version actuelle des outils VMware dans le système d'exploitation de la machine virtuelle, s'il est connuguest.toolsRunningStatusIndique l'état actuel des outils VMwareguest.toolsVersionVersion actuelle des outils VMware (VMware Tools)config.createDateDate de création de la machine virtuelleconfig.files.vmPathNameNom du chemin de fichier de la machine virtuelleconfig.files.snapshotDirectoryRépertoire des instantanés de la machine virtuelleconfig.files.suspendDirectoryRépertoire d'une machine virtuelle en suspendconfig.files.logDirectoryRépertoire des journaux de la machine virtuelleconfig.hotPlugMemoryLimitLa quantité maximale de mémoire, en Mo, qui peut être ajoutée à une machine virtuelle en cours d'exécutionconfig.initialOverhead.initialMemoryReservationSurcharge de mémoire requise pour la mise sous tension de la machine virtuelle (en octet)config.initialOverhead.initialSwapReservationEspace disque requis pour la mise sous tension de la machine virtuelle (en octet)config.instanceUuidCombinaison de l'UUID du Vcenter et de l'UUID de la machine virtuelleconfig.modifiedDernière modification de la configuration d'une machine virtuelleconfig.templateIndique si une machine virtuelle est ou non un modèleconfig.firmwareFirmware de la machine virtuelleconfig.hardware.virtualICH7MPresentPrésence de ICH7M virtuel sur une machine virtuelleguest.guestKernelCrashedÉtat du noyau du système d'exploitation de la machine virtuelle. Si vrai, le noyau du système d'exploitation de la machine virtuelle est tombé en panneguest.guestStateÉtat actuel de la machine virtuelleresourceConfig.cpuAllocation.limitLimite de l'utilisation d'une machine virtuelleresourceConfig.cpuAllocation.reservationQuantité de ressource garantie disponible pour la machine virtuelleresourceConfig.memoryAllocation.limitLimite de l'utilisation de la mémoire d'une machine virtuelleresourceConfig.memoryAllocation.reservationQuantité de mémoire disponible d'une machine virtuelleruntime.cleanPowerOffPour une machine virtuelle hors tension, indique si le dernier arrêt de la machine virtuelle était une mise hors tension normale ou nonruntime.maxCpuUsageLimite maximale actuelle de l'utilisation du processeurruntime.maxMemoryUsageLimite maximale actuelle de l'utilisation de la mémoiresummary.config.templateDrapeau pour déterminer si cette machine virtuelle est un modèle ou nonsummary.config.cpuReservationConfiguration de la réservation du CPU en MHzsummary.config.memoryReservationRéservation de mémoire configurée en Mosummary.config.numEthernetCardsNombre d'adaptateur de réseau virtuelsummary.config.numVirtualDisksNombre de disque virtuel connecté à la machine virtuellesummary.config.product.fullVersionVersion complète de la machine virtuellesummary.quickStats.guestMemoryUsageStatistiques sur l'utilisation de la mémoire des la machines virtuellessummary.quickStats.hostMemoryUsageStatistiques sur l'utilisation de la mémoire de l'hôtesummary.quickStats.distributedCpuEntitlementStatistiques sur les droits CPU distribuéesummary.quickStats.distributedMemoryEntitlementStatistiques sur les droits mémoire distribuéesummary.quickStats.staticCpuEntitlementStatistiques sur les droits des statiques CPUsummary.quickStats.staticMemoryEntitlementStatistiques sur les droits des statiques mémoiresummary.quickStats.privateMemoryStatistiques sur la mémoire privéesummary.quickStats.sharedMemoryStatistiques sur la mémoire partagéesummary.quickStats.swappedMemoryStatistiques sur la mémoire échangéesummary.quickStats.balloonedMemoryStatistiques sur la mémoire gonfléesummary.quickStats.consumedOverheadMemoryStatistiques sur la consommation de mémoire volatilesummary.quickStats.ftLogBandwidthStatistiques sur la bande passante du Log FTsummary.quickStats.ftSecondaryLatencyStatistiques sur la latence secondaire FTsummary.quickStats.compressedMemoryStatistiques sur la mémoire compresséesummary.quickStats.uptimeSecondsStatistiques sur le temps d'activité en secondesummary.quickStats.ssdSwappedMemoryStatistiques sur la mémoire échangeable SSDshinken.config.hardware.device.labelSummaryEnsemble de périphériques virtuels appartenant à la machine virtuelleshinken.guest.diskListe des disques de la machine virtuelle

    Champs d'import pour les ESXs

    Champs de la sourceDescriptionconfig.product.fullNameNom complet de l'ESXconfig.product.osTypeSystème d'exploitation de l'ESXconfig.datastorePrincipalUtilisateur principal de la banque de donnéesconfig.product.licenseProductNameNom du produit sous licenceconfig.product.licenseProductVersionVersion du produit sous licenceconfig.product.productLineIdType de l'ESXhardware.biosInfo.biosVersionLa version actuelle du BIOShardware.cpuInfo.hzVitesse du processeur par cœurhardware.cpuInfo.numCpuCoresNombre de cœurs CPU physique sur l'hôtehardware.cpuInfo.numCpuPackagesNombre de package CPU physique sur l'hôtehardware.cpuInfo.numCpuThreadsNombre de thread physique du CPU sur l'hôtehardware.memorySizeQuantité totale de mémoire physique sur l'hôte en octethardware.systemInfo.modelID du modèle de systèmehardware.systemInfo.uuidID du BIOSruntime.hostMaxVirtualDiskCapacityLa capacité maximale théorique de disque virtuel prise en charge par cet hôteruntime.inMaintenanceModeIndique si l'hôte est en mode maintenance ou nonruntime.inQuarantineModeIndique si l'hôte est en mode quarantaine ou nonsummary.quickStats.uptimeDurée de fonctionnement du système de l'hôte en secondesummary.rebootRequiredIndique si l'hôte nécessite ou non un redémarrage en raison d'un changement de configurationsummary.hardware.vendorL'identification du vendeur de matérielsummary.hardware.modelL'identification du modèle de systèmesummary.hardware.uuidL'identification du BIOS matérielsummary.hardware.memorySizeLa taille de la mémoire physique en octetsummary.hardware.cpuModelLe modèle CPUsummary.hardware.cpuMhzLa vitesse des cœurs de l'unité centrale. Il s'agit d'une valeur moyenne s'il y a plusieurs vitessessummary.runtime.inMaintenanceModeIndique si l'hôte est en mode de maintenance ou non. Ce drapeau est activé lorsque l'hôte est entré en mode de maintenance. Il n'est pas activé pendant la phase d'entrée en mode de maintenancesummary.runtime.bootTimeLe moment où l'hôte a été démarrésummary.runtime.hostMaxVirtualDiskCapacityLa capacité maximale du disque virtuel pour l'hôtesummary.config.portLe numéro de portsummary.config.product.fullNameLe nom complet du produit, y compris les informations sur la versionsummary.config.product.buildNuméro de version pour le serveur sur lequel cet appel est effectué ( ne concerne pas l'API )summary.config.product.apiVersionLa version de l'API sous forme de chaîne de caractères séparés par des pointssummary.config.product.licenseProductNameNom du produit de l'ESXsummary.config.product.licenseProductVersionVersion produit de l'ESXconfig.network.dnsConfig.dhcpIndiquer si le DHCP (Dynamic Host Control Protocol) est utilisé ou non pour déterminer automatiquement la configuration du DNSconfig.network.dnsConfig.hostNameLa partie nom d'hôte du nom DNSconfig.network.dnsConfig.domainNameLa partie nom de domaine du nom DNSconfig.network.ipRouteConfig.defaultGatewayL'adresse de la passerelle par défautconfig.network.ipV6EnabledSi IpV6 est activéconfig.network.atBootIpV6EnabledSi au démarrage, IpV6 est activésystemResources.config.cpuAllocation.reservationQuantité de ressources CPU garantie disponible pour la machine virtuelle ou le pool de ressource en MHzsystemResources.config.cpuAllocation.limitL'utilisation du CPU d'une machine virtuelle ou d'un pool de ressource ne dépassera pas cette limite, même si des ressources sont disponiblessystemResources.config.memoryAllocation.reservationQuantité de mémoire de ressource garantie disponible pour la machine virtuelle ou le pool de ressource en MBsystemResources.config.memoryAllocation.limitL'utilisation de la mémoire d'une machine virtuelle/du pool de ressources ne dépassera pas cette limite, même si des ressources sont disponiblesshinken.runtime.networkRuntimeInfo.netStackInstanceRuntimeInfo.instanceStateDécrit les informations relatives à l'exécution des instances de la pile réseaushinken.config.network.vnic.firstAdresse IP de la première interface réseaushinken.config.network.vnicAdresse IP de toutes les interfaces réseau

    Ajouter ou supprimer des champs collectées par la source

    Vous pouvez modifier la liste des champs récupérées par la source, pour voir les nouvelles données dans Shinken vous devrez en plus ajouter un mapping (Voir Le mapping des informations collectées).

    Le fichier à modifier est ici : 
    /etc/shinken-user/source-data/source-data-[nom de la source]/configuration/collected_fields_from_source/list_of_collected_fields.json

    Exemple de chemin pour la source livrée par défaut : 
    /etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/collected_fields_from_source/list_of_collected_fields.json

    Le fichier list_of_collected_fields.json doit respecter le format suivant :

    • La source VMWare ne peut importer que des hôtes alors pour cette source le fichier de règle commencera toujours par "hosts".
    • Puis mettre le champ de l'API VMWare en champs ( à gauche )
    • Enfin mettre la valeur "true" pour récupérer la donnée ou "false" pour ne pas la récupérer
    Info

    Il est possible d'ajouter des commentaires dans ce fichier. Toutes les lignes qui commencent par le caractère # seront considérés comme des commentaires.

    Code Block
    languagejs
    themeEmacs
    {
      "hosts": {
        "name": "true",
        "shinken.machine_type" : "true",
        "runtime.powerState": "false"
      }
    }

    Les champs livrées dans le fichier en commentaire du fichier par défaut ont toutes été testées et peuvent s'importer dans Shinken.

    Il est possible d'ajouter des champs supplémentaires parmi plus de 3000 champs de l'API VMWare mais tous les champs n'ont pas été testées par nos soins et donc certaines données pourraient ne pas être exploitables.

    Ajouter ou modifier les descriptions des champs de l'API VMWare

    Par défaut nous avons documenté un certain nombre de champs, mais comme il est possible d'ajouter des champs récupérés par la source, il est aussi possible d'ajouter une description pour ces champs.

    Les fichiers à modifier sont ici : 
    /etc/shinken-user/source-data/source-data-[nom de la source]/configuration/collected_fields_from_source/description_of_collected_fields_en.json
    /etc/shinken-user/source-data/source-data-[nom de la source]/configuration/collected_fields_from_source/description_of_collected_fields_fr.json

    Exemple de chemin pour la source livrée par défaut : 
    /etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/collected_fields_from_source/description_of_collected_fields_en.json
    /etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/collected_fields_from_source/description_of_collected_fields_fr.json

    Vous pouvez modifier le fichier fr ou en fonction de la langue de votre installation

    runtime.networkRuntimeInfo.netStackInstanceRuntimeInfo.instanceState

    (instance = "clé de l'instance", state = "état de l'instance")(instance = defaultTcpipStack, state = active)

    shinken.config.network.vnic.first

    Afin de simplifier la récupération d'IP de l'ESX, nous avons ajouté le champ shinken.config.network.vnic.first avec la première adresse IP que nous trouvons.

    • À titre indicatif :
      • Les adresses IP de l'ESX dans l'API VMWare, sont disponibles dans le champ config.network.vnic qui est une liste d'objet network.
      • Dans l'objet network les adresses IP sont dans le champ network.spec.ip.ipAddress. azerzaerza


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.config.network.vnic.first

    Première adresse IP de la machine192.168.1.1
    Info

    Pour les VM l'adresse IP est dans le champ : guest.ipAddress

    shinken.ipAddress

    Pour éviter d'avoir à utiliser deux champs différents (shinken.config.network.vnic.first OU guest.ipAddress) afin de récupérer l'adresse IP de l'hôte selon s'il est une machine virtuelle ou un ESX, nous avons créé un champ unique shinken.ipAddress qui contiendra l'adresse IP de l'hôte peu importe sa nature.


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.ipAddress

    Adresse IP de la machine192.168.1.1

    shinken.config.network.vnic

    Dans l'API VMWare, le champs d'import config.network.vnic contient la liste des cartes réseaux virtuelles de l'ESX. Nous récupérons l'adresse IP de chaque carte grâce au champs network.spec.ip.ipAdress
    Chacune de ces IP est stockées dans le nouveau champs d'import ipAddressAsList.


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.config.network.vnic

    ["Première adresse IP de la machine", "Deuxième adresse IP de la machine"][u'192.168.1.1', u'192.168.1.2']



    shinken.datastore

    Dans l'API VMWare, le champs d'import datastore nous donne une liste d'objet qui contient les informations des datastores ( disques, métadatas, iso, etc. ) liées aux VMs ou aux ESXs.

    • Nous parcourons chaque objet pour récupérer les informations de chaque datastore afin de les retourner au format liste de données.
    • Ces informations sont stockés dans le champs d'import shinken.datastore.

    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.datastore

    (name = "nom du datastore", summary_capacity = "capacité totale du datastore", summary_type = "type de datastore", summary_freeSpace = "espace libre total du datasotre", summary_url = "url du datastore", summary_uncommitted = "espace non alloué du datastore")(name = datastore1, summary_capacity = 491505319936, summary_type = VMFS, summary_freeSpace = 199942471680, summary_url = /vmfs/volumes/6034e02b-41d8f1a8-85b2-14187759998c, summary_uncommitted = 97587437547)



    shinken.guest.disk

    Dans l'API VMWare, le champs d'import disks nous donne la liste d'objet qui contient les informations de chaque disque liées aux VMs.

    • Nous parcourons chaque objet pour récupérer les informations de chaque disque afin de les retourner au format liste de données.
    • Ces informations sont stockées dans le champs d'import shinken.guest.disk.

    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.guest.disk

    (capacity = "capacité du disque", diskPath = "emplacement du fichier du disque", freeSpace = "espace libre du disque")(capacity = 47217381376, diskPath = /, freeSpace = 26512211968),(capacity = 1063256064, diskPath = /boot, freeSpace = 860229632)

    shinken.network

    Dans l'API VMWare, le champs d'import network nous donne les noms des réseaux où est connectée la machine virtuelle importée. Nous parcourons chaque objet pour récupérer les informations de chaque réseau afin de retourner une chaîne de caractère contenant le nom des réseaux. Ces informations sont stockées dans le champs d'import shinken.network


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.network

    Réseau 1,Réseau 2VMware Network 1,VMware Network 2

    Les champs dépendant de l'activation du paramètre "vmware_collect_tags"

    Info

    Pour récupérer les champs suivant il faut activé la récupération des balises (tags) avec le paramètre vmware_collect_tags ( voir la page Collecteur de type synchronizer-collector-vmware ( Pour ESX et VSphere ) )

    shinken.tags

    Le champ d'import shinken.tags nous donne la liste des noms des balises (tags) attachés à la machine virtuelle importée.


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.tags

    TAG 1,TAG 2,TAG 3,...BRONZE, ALMA-8, AQUITAINE

    shinken.tag_categories

    Le champ d'import shinken.tag_categories nous donne la liste des noms des catégories de balises (tags) attachés à la machine virtuelle importée.


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.tag_categories

    CATEGORIE 1, CATEGORIE 2, CATEGORIE 3,...SUPPORT, OS, REGION

    shinken.tags_by_category

    Le champ d'import tags_by_category nous donne pour chaque catégorie sa liste de balises (tags) associé.

    Le format est un dictionnaire avec :

    • comme clés : les catégories définies dans le VSphere
    • comme valeur pour chaque clé : la liste des balises (tags) de cette catégorie.

    Ces clé ( catégories ) et valeur ( liste de balises (tags) ) seront récupérés en fonction des catégories et balises (tags) associé à la machine virtuelle importée. 


    Champs de la source

    Format de retour de l'import Exemple de valeur de la source 

    shinken.tags_by_category

      CATEGORIE 1 : TAG 1-1, TAG 1-2, TAG 1-3,...
      CATEGORIE 2 : TAG 2-1, TAG 2-2, TAG 2-3,...
      CATEGORIE 3 : TAG 3-1, TAG 3-2, TAG 3-3,...
      SUPPORT: BRONZE, ARGENT, OR
      OS: ALMA-8, WINDOWS
      REGION: AQUITAINE, BRETAGNE, ILE-DE-FRANCE,OCCITANIE

    Pour utiliser ce champ, il faut une donnée utilisée le nom de la catégorie dans le mapping des informations collectées et dans la liste des champs collecté ( Exemple : shinken.tags_by_category.SUPPORT ).


    Champs communs à l'ESX et aux machines virtuelles

    Champs de la sourceDescription
    nameNom de la machine
    shinken.machine_typeType de machine : VIRTUAL_MACHINE ou HOST
    runtime.powerStateÉtat d'alimentation de la machine virtuelle
    runtime.bootTimeHorodatage de la dernière mise sous tension
    runtime.connectionStateIndique si la machine virtuelle est disponible pour être gérée
    summary.config.nameConfiguration du Nom de l'ESX ou de la machine virtuelle
    summary.config.product.nameNom du produit de l'ESX ou de la machine virtuelle
    summary.config.product.vendorVendeur de l'ESX ou de la machine virtuelle
    summary.config.product.versionVersion de l'ESX ou de la machine virtuelle
    summary.quickStats.overallCpuUsageUtilisation agrégée du processeur sur tous les cœurs de l'hôte en MHz
    summary.quickStats.overallCpuDemandDemande agrégée du processeur sur tous les cœurs de l'hôte en MHz
    summary.quickStats.overallMemoryUsageUtilisation de la mémoire physique sur l'hôte en Mo
    shinken.runtime.powerStateÉtat de la machine ( 1 = allumée, 0 = éteinte )
    shinken.networkNom des réseaux virtuels
    shinken.datastoreListe des Datastore ( disques, métadatas, iso, etc. )

    Champs d'import pour les machines virtuelles

    Champs de la sourceDescription
    config.annotationDescription de la machine virtuelle
    config.guestFullNameNom complet de la machine virtuelle
    config.guestIdIdentifiant de la machine virtuelle
    config.hardware.memoryMBQuantité de mémoire de la machine virtuelle en Mb
    config.hardware.numCPUNombre de CPU de la machine virtuelle
    config.hardware.numCoresPerSocketNombre de cœurs par CPU pour la machine virtuelle
    config.uuidUUID de la machine virtuelle
    config.versionVersion de la machine virtuelle
    guest.guestFamilySystème d'exploitation de la machine virtuelle
    guest.hostNameNom de la machine virtuelle
    guest.ipAddressAdresse IP de la machine virtuelle
    guest.toolsVersionStatusÉtat de la version actuelle des outils VMware dans le système d'exploitation de la machine virtuelle, s'il est connu ( Déprécié )
    guest.toolsVersionStatus2État de la version actuelle des outils VMware dans le système d'exploitation de la machine virtuelle, s'il est connu
    guest.toolsRunningStatusIndique l'état actuel des outils VMware
    guest.toolsVersionVersion actuelle des outils VMware ( VMware Tools )
    config.createDateDate de création de la machine virtuelle
    config.files.vmPathNameNom du chemin de fichier de la machine virtuelle
    config.files.snapshotDirectoryRépertoire des instantanés de la machine virtuelle
    config.files.suspendDirectoryRépertoire d'une machine virtuelle en suspend
    config.files.logDirectoryRépertoire des journaux de la machine virtuelle
    config.hotPlugMemoryLimitLa quantité maximale de mémoire, en Mo, qui peut être ajoutée à une machine virtuelle en cours d'exécution
    config.initialOverhead.initialMemoryReservationSurcharge de mémoire requise pour la mise sous tension de la machine virtuelle (en octet)
    config.initialOverhead.initialSwapReservationEspace disque requis pour la mise sous tension de la machine virtuelle (en octet)
    config.instanceUuidCombinaison de l'UUID du Vcenter et de l'UUID de la machine virtuelle
    config.modifiedDernière modification de la configuration d'une machine virtuelle
    config.templateIndique si une machine virtuelle est ou non un modèle
    config.firmwareFirmware de la machine virtuelle
    config.hardware.virtualICH7MPresentPrésence de ICH7M virtuel sur une machine virtuelle
    guest.guestKernelCrashedÉtat du noyau du système d'exploitation de la machine virtuelle. Si vrai, le noyau du système d'exploitation de la machine virtuelle est tombé en panne
    guest.guestStateÉtat actuel de la machine virtuelle
    resourceConfig.cpuAllocation.limitLimite de l'utilisation d'une machine virtuelle
    resourceConfig.cpuAllocation.reservationQuantité de ressource garantie disponible pour la machine virtuelle
    resourceConfig.memoryAllocation.limitLimite de l'utilisation de la mémoire d'une machine virtuelle
    resourceConfig.memoryAllocation.reservationQuantité de mémoire disponible d'une machine virtuelle
    runtime.cleanPowerOffPour une machine virtuelle hors tension, indique si le dernier arrêt de la machine virtuelle était une mise hors tension normale ou non
    runtime.maxCpuUsageLimite maximale actuelle de l'utilisation du processeur
    runtime.maxMemoryUsageLimite maximale actuelle de l'utilisation de la mémoire
    summary.config.templateDrapeau pour déterminer si cette machine virtuelle est un modèle ou non
    summary.config.cpuReservationConfiguration de la réservation du CPU en MHz
    summary.config.memoryReservationRéservation de mémoire configurée en Mo
    summary.config.numEthernetCardsNombre d'adaptateur de réseau virtuel
    summary.config.numVirtualDisksNombre de disque virtuel connecté à la machine virtuelle
    summary.config.product.fullVersionVersion complète de la machine virtuelle
    summary.quickStats.guestMemoryUsageStatistiques sur l'utilisation de la mémoire des la machines virtuelles
    summary.quickStats.hostMemoryUsageStatistiques sur l'utilisation de la mémoire de l'hôte
    summary.quickStats.distributedCpuEntitlementStatistiques sur les droits CPU distribuée
    summary.quickStats.distributedMemoryEntitlementStatistiques sur les droits mémoire distribuée
    summary.quickStats.staticCpuEntitlementStatistiques sur les droits des statiques CPU
    summary.quickStats.staticMemoryEntitlementStatistiques sur les droits des statiques mémoire
    summary.quickStats.privateMemoryStatistiques sur la mémoire privée
    summary.quickStats.sharedMemoryStatistiques sur la mémoire partagée
    summary.quickStats.swappedMemoryStatistiques sur la mémoire échangée
    summary.quickStats.balloonedMemoryStatistiques sur la mémoire gonflée
    summary.quickStats.consumedOverheadMemoryStatistiques sur la consommation de mémoire volatile
    summary.quickStats.ftLogBandwidthStatistiques sur la bande passante du Log FT
    summary.quickStats.ftSecondaryLatencyStatistiques sur la latence secondaire FT
    summary.quickStats.compressedMemoryStatistiques sur la mémoire compressée
    summary.quickStats.uptimeSecondsStatistiques sur le temps d'activité en seconde
    summary.quickStats.ssdSwappedMemoryStatistiques sur la mémoire échangeable SSD
    shinken.config.hardware.device.labelSummaryEnsemble de périphériques virtuels appartenant à la machine virtuelle
    shinken.guest.diskListe des disques de la machine virtuelle

    Champs d'import pour les ESXs

    Champs de la sourceDescription
    config.product.fullNameNom complet de l'ESX
    config.product.osTypeSystème d'exploitation de l'ESX
    config.datastorePrincipalUtilisateur principal de la banque de données
    config.product.licenseProductNameNom du produit sous licence
    config.product.licenseProductVersionVersion du produit sous licence
    config.product.productLineIdType de l'ESX
    hardware.biosInfo.biosVersionLa version actuelle du BIOS
    hardware.cpuInfo.hzVitesse du processeur par cœur
    hardware.cpuInfo.numCpuCoresNombre de cœurs CPU physique sur l'hôte
    hardware.cpuInfo.numCpuPackagesNombre de package CPU physique sur l'hôte
    hardware.cpuInfo.numCpuThreadsNombre de thread physique du CPU sur l'hôte
    hardware.memorySizeQuantité totale de mémoire physique sur l'hôte en octet
    hardware.systemInfo.modelID du modèle de système
    hardware.systemInfo.uuidID du BIOS
    runtime.hostMaxVirtualDiskCapacityLa capacité maximale théorique de disque virtuel prise en charge par cet hôte
    runtime.inMaintenanceModeIndique si l'hôte est en mode maintenance ou non
    runtime.inQuarantineModeIndique si l'hôte est en mode quarantaine ou non
    summary.quickStats.uptimeDurée de fonctionnement du système de l'hôte en seconde
    summary.rebootRequiredIndique si l'hôte nécessite ou non un redémarrage en raison d'un changement de configuration
    summary.hardware.vendorL'identification du vendeur de matériel
    summary.hardware.modelL'identification du modèle de système
    summary.hardware.uuidL'identification du BIOS matériel
    summary.hardware.memorySizeLa taille de la mémoire physique en octet
    summary.hardware.cpuModelLe modèle CPU
    summary.hardware.cpuMhzLa vitesse des cœurs de l'unité centrale. Il s'agit d'une valeur moyenne s'il y a plusieurs vitesses
    summary.runtime.inMaintenanceModeIndique si l'hôte est en mode de maintenance ou non. Ce drapeau est activé lorsque l'hôte est entré en mode de maintenance. Il n'est pas activé pendant la phase d'entrée en mode de maintenance
    summary.runtime.bootTimeLe moment où l'hôte a été démarré
    summary.runtime.hostMaxVirtualDiskCapacityLa capacité maximale du disque virtuel pour l'hôte
    summary.config.portLe numéro de port
    summary.config.product.fullNameLe nom complet du produit, y compris les informations sur la version
    summary.config.product.buildNuméro de version pour le serveur sur lequel cet appel est effectué ( ne concerne pas l'API )
    summary.config.product.apiVersionLa version de l'API sous forme de chaîne de caractères séparés par des points
    summary.config.product.licenseProductNameNom du produit de l'ESX
    summary.config.product.licenseProductVersionVersion produit de l'ESX
    config.network.dnsConfig.dhcpIndiquer si le DHCP (Dynamic Host Control Protocol) est utilisé ou non pour déterminer automatiquement la configuration du DNS
    config.network.dnsConfig.hostNameLa partie nom d'hôte du nom DNS
    config.network.dnsConfig.domainNameLa partie nom de domaine du nom DNS
    config.network.ipRouteConfig.defaultGatewayL'adresse de la passerelle par défaut
    config.network.ipV6EnabledSi IpV6 est activé
    config.network.atBootIpV6EnabledSi au démarrage, IpV6 est activé
    systemResources.config.cpuAllocation.reservationQuantité de ressources CPU garantie disponible pour la machine virtuelle ou le pool de ressource en MHz
    systemResources.config.cpuAllocation.limitL'utilisation du CPU d'une machine virtuelle ou d'un pool de ressource ne dépassera pas cette limite, même si des ressources sont disponibles
    systemResources.config.memoryAllocation.reservationQuantité de mémoire de ressource garantie disponible pour la machine virtuelle ou le pool de ressource en MB
    systemResources.config.memoryAllocation.limitL'utilisation de la mémoire d'une machine virtuelle/du pool de ressources ne dépassera pas cette limite, même si des ressources sont disponibles
    shinken.runtime.networkRuntimeInfo.netStackInstanceRuntimeInfo.instanceStateDécrit les informations relatives à l'exécution des instances de la pile réseau
    shinken.config.network.vnic.firstAdresse IP de la première interface réseau
    shinken.config.network.vnicAdresse IP de toutes les interfaces réseau

    Les fichiers de description doivent respecter le format suivant :

    • La source VMWare ne peut importer que des hôtes alors pour cette source le fichier de règle commencera toujours par "hosts".
    • Puis mettre le champ de l'API VMWare en champs ( à gauche )
    • Enfin mettre la description
    Info

    Il est possible d'ajouter des commentaires dans ce fichier. Toutes les lignes qui commencent par le caractère # seront considérées comme des commentaires.

    Code Block
    languagejs
    themeEmacs
    { "hosts": { "name": "Nom de la machine", "shinken.machine_type" : "Type de machine VIRTUAL_MACHINE ou HOST", "runtime.powerState": "Etat d'alimentation de la machine virtuelle" } }