Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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 ESXi pour récupérer les données des VM et des ESXi. Collecter toutes les informations de ces API peut être très long, c'est pour cette raison qu'est présent un système permettant de choisir quels champs la source va récupérer.

Ajouter ou supprimer des champs collectés par la source

Il est possible de modifier la liste des champs récupérés par la source. Pour utiliser ces nouveaux champs dans Shinken, il faut en plus ajouter un mapping ( Voir la page 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.

Info
titleSyntaxe MANY_FIELDS_BY_REGEX(EXPRESSION)

La syntaxe "MANY_FIELDS_BY_REGEX(EXPRESSION)" n'est pas disponible pour cette source. 

Pour récupérer les informations sur les machines virtuelles et les ESX, la source de type synchronizer-collector-vmware se sert des champs renseignés dans le fichier list_of_collected_fields.json pour construire la requête qui sera envoyée au VCenter ou à l'ESXi. Dont tous les champs doivent être spécifiés individuellement.

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

Par défaut, un certain nombre de champs est documenté, 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


Il est possible de modifier le fichier fr ou en fonction de la langue de l'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



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"
  }
}
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.

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

Pour pouvoir associer certains champs d'import VMWare avec les propriétés de Shinken, certains champs ont dû être réadaptés :

shinken.runtime.powerState

Dans l'API VMWare, le champ d'import runtime.powerState donne l'état actuel de l'ESXi 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), les valeurs "poweredOn" / "poweredOff" sont converties en 1 / 0 dans un nouveau champ 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, seules certaines informations sont récupérées. À l'aide du nouveau champ d'import labelSummaryList, seuls sont récupérés le nom et le récapitulatif des informations de chaque périphérique virtuel pour la machine virtuelle importée. 


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.netStackInstanceRuntimeInfo donne la liste des informations d'exécution de la pile réseau de la machine virtuelle.
La liste étant trop exhaustive, seule est 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'ESXi, le champ shinken.config.network.vnic.first est ajoutée, avec la première adresse IP que trouvée.

  • À titre indicatif :
    • Les adresses IP de l'ESXi 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 machine 192.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) pour récupérer l'adresse IP de l'hôte selon s'il est une machine virtuelle ou un ESXi, le champ unique shinken.ipAddress est ajouté. Il contient 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 machine 192.168.1.1

shinken.config.network.vnic

Dans l'API VMWare, le champs d'import config.network.vniccontient la liste des cartes réseaux virtuelles de l'ESXi.  L'adresse IP de chaque carte est récupérée grâce au champ 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 donne une liste d'objet qui contient les informations des datastores ( disques, métadatas, iso, etc. ) liées aux VMs ou aux ESXis.

  • Chaque objet est parcouru 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_

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

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

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

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

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

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

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 Chaque objet est parcouru 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 Chaque objet est parcouru 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 'import shinken.network


Champs de la source

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

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

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

Réseau 1,Réseau 2 VMware 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 vSphere - ESXi/vCenter ) )


La collecte des tags est effectuée uniquement pour les hôtes et les ESXi. Les autres objets pouvant être tagués dans VMware ( par exemple les templates de machines virtuelles ) sont ignorés.

shinken.tags

Le champ d'import shinken.tags donne la liste des noms des balises ( tags ) attachées à 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 donne la liste des noms des catégories de balises ( tags ) attachées à 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 donne pour chaque catégorie sa liste des balises ( tags ) associées.

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ées à 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'ESXi 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'ESXi ou de la machine virtuelle
summary.config.product.nameNom du produit de l'ESXi ou de la machine virtuelle
summary.config.product.vendorVendeur de l'ESXi ou de la machine virtuelle
summary.config.product.versionVersion de l'ESXi 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 ESXis

Champs de la sourceDescription
config.product.fullNameNom complet de l'ESXi
config.product.osTypeSystème d'exploitation de l'ESXi
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'ESXi
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'ESXi
summary.config.product.licenseProductVersionVersion produit de l'ESXi
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" } }