diff --git a/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md b/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md
index bb950ff853df..2e5c8c2a1269 100644
--- a/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md
+++ b/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md
@@ -9,75 +9,167 @@ import TabItem from '@theme/TabItem';
VMWare est une solution de Virtualisation et d'infrastructure de Cloud Computing.
-Le connecteur de supervision Centreon s'appuie sur le SDK VMWare pour requêter l'API du vCenter au travers d'un connecteur dédié.
+Le connecteur de supervision Centreon s'appuie sur le SDK VMWare pour requêter l'API du vCenter au travers d'un connecteur dédié.
-> Ce connecteur de supervision fonctionne avec les versions 6 et 7 de l'API VMware.
+## Contenu du pack
+### Modèles
-## Contenu du connecteur de supervision
+Le connecteur de supervision **VMware VM** apporte un modèle d'hôte :
-### Objets supervisés
+* **Virt-VMWare2-VM-custom**
-* Virtual Machines
-
-### Règles de découvertes
+Le connecteur apporte les modèles de service suivants
+(classés selon le modèle d'hôte auquel ils sont rattachés) :
-
+
+
+| Alias | Modèle de service | Description |
+|:--------------------|:------------------------------------------------|:-------------------------------------------------------------------------------------------------------------|
+| Vm-Limit | Virt-VMWare2-Vm-Limit-Generic-custom | Contrôle permettant de vérifier la définition de limites. |
+| Vm-Snapshot | Virt-VMWare2-Vm-Snapshot-Generic-custom | Contrôle permettant de vérifier l'âge des snapshots sur la machine virtuelle. |
+| Vm-Status | Virt-VMWare2-Vm-Status-Generic-custom | Contrôle permettant de vérifier l'état global d'une machine virtuelle. |
+| Vm-Thinprovisioning | Virt-VMWare2-Vm-Thinprovisioning-Generic-custom | Contrôle permettant de vérifier si une machine virtuelle possède un disque en mode 'thin provisioning' ou non. |
+| Vm-Tools | Virt-VMWare2-Vm-Tools-Generic-custom | Contrôle permettant de vérifier l'état des vmtools d'une machine virtuelle. |
+
+> Les services listés ci-dessus sont créés automatiquement lorsque le modèle d'hôte **Virt-VMWare2-VM-custom** est utilisé.
+
+
+
-| Rule name | Description |
-| :----------------------------- | :---------------------------------------------------------------- |
-| Virt-VMWare2-VM-HostDiscovery | Découvrez vos Machines Virtuelles liées à un vCenter ou à un ESXi |
+| Alias | Modèle de service | Description |
+|:-------------------|:-----------------------------------------------|:----------------------------------------------------------------------------------------------------------|
+| Vm-Cpu | Virt-VMWare2-Vm-Cpu-Generic-custom | Contrôle permettant de vérifier le taux d'utilisation CPU d'une machine virtuelle. |
+| Vm-Datastores-Iops | Virt-VMWare2-Vm-Datastores-Iops-Generic-custom | Contrôle permettant de vérifier le taux d'utilisation des datastores rattachés à une machine virtuelle. |
+| Vm-Device | Virt-VMWare2-Vm-Device-Generic-custom | Contrôle permettant de vérifier le taux d'utilisation CPU d'une machine virtuelle. |
+| Vm-Memory | Virt-VMWare2-Vm-Memory-Generic-custom | Contrôle permettant de vérifier le taux d'utilisation mémoire d'une machine virtuelle. |
+| Vm-Swap | Virt-VMWare2-Vm-Swap-Generic-custom | Contrôle permettant de vérifier si une machine virtuelle swappe. |
+
+> Les services listés ci-dessus ne sont pas créés automatiquement lorsqu'un modèle d'hôte est appliqué. Pour les utiliser, [créez un service manuellement](/docs/monitoring/basic-objects/services) et appliquez le modèle de service souhaité.
-### Métriques Collectées
+### Règles de découverte
+
+#### Découverte d'hôtes
+
+| Nom de la règle | Description |
+|:----------------|:--------------------------------|
+| VMWare VM | Discover VMWare virtual machines. |
-En plus des modes et des métriques détaillées ci-après, il est également possible de superviser les éléments suivants :
+Rendez-vous sur la [documentation dédiée](/docs/monitoring/discovery/hosts-discovery) pour en savoir plus sur la découverte automatique d'hôtes.
-* VM-Cpu : Supervision avancée du CPU (CPU ready)
-* VM-Datastores-Iops : Utilisation de la VM en Iops sur les Datastores
-* VM-Swap : Utilisation du swap de la VM
-* VM-Device : Contrôle un périphérique d'une VM (Par exemple VirtualCdrom)
+### Métriques & statuts collectés
+
+Voici le tableau des services pour ce connecteur, détaillant les métriques rattachées à chaque service.
-
+
-| Metric name | Description | Unit |
-| :---------- | :------------------------------------------------------------- | :--- |
-| status | Status of the VMware Tools (installed, running and up-to-date) | |
+| Métrique | Unité |
+|:----------------------------------------------|:------|
+| *vm*~status | N/A |
+| *vm*~vm.cpu.utilization.percentage | % |
+| *vm*~vm.cpu.utilization.mhz | MHz |
+| *vm*~vm.cpu.ready.percentage | % |
+| *vm*~*cpu*#vm.core.cpu.utilization.percentage | MHz |
+
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
-
+
+
+| Métrique | Unité |
+|:-----------------------------------------------|:------|
+| *vm*~status | N/A |
+| *vm*~vm.datastore.latency.max.milliseconds | ms |
+| *vm*~*datastore*#vm.datastore.read.usage.iops | iops |
+| *vm*~*datastore*#vm.datastore.write.usage.iops | iops |
-| Metric name | Description | Unit |
-| :---------- | :----------------------------------------- | :--- |
-| status | Status of the Thinprovisoning virtualdisks | |
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
-
+
+
+| Métrique | Unité |
+|:--------------------------------|:------|
+| vm.devices.connected.count | count |
+| *vm*#status | N/A |
+| *vm*#vm.devices.connected.count | count |
+
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
+
+
+
+
+| Métrique | Unité |
+|:--------------|:------|
+| cpu-status | N/A |
+| memory-status | N/A |
+| disk-status | N/A |
-| Metric name | Description | Unit |
-| :------------ | :----------------------- | :--- |
-| status | Overall status of the VM | |
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
+
+
+
+
+| Métrique | Unité |
+|:------------------------------------|:------|
+| *vm*~status | N/A |
+| *vm*~vm.memory.consumed.usage.bytes | B |
+| *vm*~vm.memory.active.usage.bytes | B |
+| *vm*~vm.memory.overhead.bytes | B |
+| *vm*~vm.memory.ballooning.bytes | B |
+| *vm*~vm.memory.shared.bytes | B |
+
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
-| Metric name | Description | Unit |
-| :---------------------------------- | :------------------------------------------------------------ | :---- |
-| vm.snapshots.warning.current.count | Number of VM's snapshot older than 3 days (default threshold) | Count |
-| vm.snapshots.critical.current.count | Number of VM's snapshot older than 5 days (default threshold) | Count |
+| Métrique | Unité |
+|:------------------------------------|:------|
+| vm.snapshots.warning.current.count | count |
+| vm.snapshots.critical.current.count | count |
-
+
+
+| Métrique | Unité |
+|:--------------------|:------|
+| *vm*#status | N/A |
+| *vm*#overall-status | N/A |
+
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
+
+
+
+
+| Métrique | Unité |
+|:--------------------------------------|:------|
+| *vm*#status | N/A |
+| *vm*#vm.swap.in.usage.bytespersecond | B/s |
+| *vm*#vm.swap.out.usage.bytespersecond | B/s |
+
+> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**.
+
+
+
+
+| Métrique | Description | Unité |
+|:------------|:-------------------------------------------|:------|
+| status | Status of the thin provisoning virtual disks | |
+
+
+
-| Metric name | Description | Unit |
-| :--------------------------- | :--------------------- | :---- |
-| vm.limit.cpu.alerts.count | Alerts on CPU limit | Count |
-| vm.limit.memory.alerts.count | Alerts on Memory limit | Count |
-| vm.limit.disk.alerts.count | Alerts on Disk limit | Count |
+| Métrique | Unité |
+|:------------------------------------|:------|
+| vm.tools.notupdated.current.count | count |
+| vm.tools.notrunning.current.count | count |
+| vm.tools.notinstalled.current.count | count |
@@ -90,10 +182,23 @@ Pour la supervision VMWare, centreon utlise un daemon pour se connecter et requ
Installer le daemon sur tous les pollers :
+
+
+
+```bash
+apt install centreon-plugin-virtualization-vmware-daemon
```
+
+
+
+
+```bash
yum install centreon-plugin-Virtualization-VMWare-daemon
```
+
+
+
Pour configurer les accès à votre infrastructure, éditer le fichier
"/etc/centreon/centreon\_vmware.pm" :
@@ -154,7 +259,7 @@ Vous pouvez vérifiez que votre configuration est fonctionelle en consultant les
### Balises et Attributs personnalisés
-Pour découvrir les balises et les attributs personnalisés, vous devez :
+Pour découvrir les balises et les attributs personnalisés, vous devez :
* utiliser la version **3.2.5** de **centreon-vmware-daemon**
* ajouter **--tags** dans les options supplémentaires de découverte : allez à la page **Configuration > Hôtes > Découverte**, et à la 3ème étape (**Définir les paramètres de découverte**), dans la section **Paramètres supplémentaires**, dans le champ **Options supplémentaires**, saisissez **--tags**.
@@ -163,128 +268,620 @@ Pour découvrir les balises et les attributs personnalisés, vous devez :
Le Collecteur Centreon avec le connecteur VMWare d'installé doit accéder en HTTPS (TCP/443) au vCenter.
-Les Collecteurs requêtant le Collecteur avec le connecteur VMWare doit accéder en TCP/5700 au Collecteur avec le Connecteur VMWare.
+Les collecteurs requêtant le collecteur avec le connecteur VMWare doivent accéder en TCP/5700 au collecteur avec le connecteur VMWare.
-## Installation
+## Installer le connecteur de supervision
-
-
+### Pack
+
+1. Si la plateforme est configurée avec une licence *online*, l'installation d'un paquet
+n'est pas requise pour voir apparaître le connecteur dans le menu **Configuration > Gestionnaire de connecteurs de supervision**.
+Au contraire, si la plateforme utilise une licence *offline*, installez le paquet
+sur le **serveur central** via la commande correspondant au gestionnaire de paquets
+associé à sa distribution :
-1. Installer le Plugin sur l'ensemble des Collecteurs Centreon supervisant l'infrastructure VMWare:
+
+
```bash
-yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
+dnf install centreon-pack-virtualization-vmware2-vm
```
-2. Installer le connecteur de supervision 'Vmware VM' depuis la page **Configuration > Gestionnaire de connecteurs de supervision** sur l'interface Web de Centreon.
-
-
+
-1. Installer le Plugin sur l'ensemble des collecteurs Centreon supervisant l'infrastructure VMWare:
+```bash
+dnf install centreon-pack-virtualization-vmware2-vm
+```
+
+
+
```bash
-yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
+apt install centreon-pack-virtualization-vmware2-vm
```
-2. Installer le RPM du connecteur de supervision contenant les modèles de supervision:
+
+
```bash
yum install centreon-pack-virtualization-vmware2-vm
```
-3. Installer le connecteur de supervision 'Vmware VM' depuis la page **Configuration > Gestionnaire de connecteurs de supervision** sur l'interface Web de Centreon.
-
-## Configuration
+2. Quel que soit le type de la licence (*online* ou *offline*), installez le connecteur **VMware VM**
+depuis l'interface web et le menu **Configuration > Gestionnaire de connecteurs de supervision**.
+
+### Plugin
+
+À partir de Centreon 22.04, il est possible de demander le déploiement automatique
+du plugin lors de l'utilisation d'un connecteur. Si cette fonctionnalité est activée, et
+que vous ne souhaitez pas découvrir des éléments pour la première fois, alors cette
+étape n'est pas requise.
-* Depuis l'interface Web de Centreon, ajoutez un nouvel Hôte depuis la page "Configuration > Hôtes".
-* Appliquez le modèle "Virt-VMWare2-VM-custom" et configurez toutes les macros :
+> Plus d'informations dans la section [Installer le plugin](/docs/monitoring/pluginpacks/#installer-le-plugin).
-| Mandatory | Name | Description |
-| :---------- | :------------------------- | :----------------------------------------------------- |
-| X | CENTREONVMWARECONTAINER | Name of your container in the file centreon_vmware.pm |
-| X | CENTREONVMWAREHOST | The Centreon server that launches the connection |
-| X | CENTREONVMWAREPORT | By default: 5700 |
-| X | VMNAME | Name of the VM (defined in your VMWare infrastructure) |
-| | VMUUID | Specify The VM UUID |
-| | VMWAREEXTRAOPTIONS | Customize it with your own if needed |
+Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation :
-## FAQ
+
+
-### Comment puis-je tester le Plugin et que signifient les options des commandes ?
+```bash
+dnf install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
+```
-Une fois le Plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis votre collecteur Centreon avec l'utilisateur centreon-engine :
+
+
```bash
-/usr/lib/centreon/plugins//centreon_vmware_connector_client.pl
- --plugin=apps::vmware::connector::plugin
- --mode=tools-vm
- --custommode=connector
- --connector-hostname='localhost'
- --connector-port='5700'
- --container='vcenter01'
- --vm-hostname='SRV-LIN-TLS'
- --filter-uuid=''
- --tools-notinstalled-status='critical'
- --tools-notrunning-status='critical'
- --tools-notup2date-status='warning'
+dnf install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
```
-La commande retourne le message de sortie ci-dessous:
+
+
```bash
-OK: VMTools are OK
+apt install centreon-plugin-virtualization-vmware2-connector-plugin
```
-Cette commande supervise le statut des VMTools (```--plugin=apps::vmware::connector::plugin --mode=tools-vm```) de la VM **SRV-LIN-TLS** (```--vm-hostname='SRV-LIN-TLS'```).
-Le plugin se connecte au daemon VMWare sur **localhost** (```--connector-hostname='localhost'```) sur le port **5700** (```--connector-port='5700'```).
-Puis la command requête le **container** **vcenter01** (```--container='vcenter01'```) parce que la VM **SRV-LIN-TLS** est managée par **vcenter01**.
+
+
+
+```bash
+yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
+```
+
+
+
+
+## Utiliser le connecteur de supervision
-La commande déclenchera :
-* Une alarme WARNING si les VMTools ne sont pas à jour (```--tools-notup2date-status='warning'```)
-* Une alarme CRITICAL si les VMTools ne sont pas démarrés ou installés (```--tools-notinstalled-status='critical' --tools-notrunning-status='critical'```)
+### Utiliser un modèle d'hôte issu du connecteur
-Vous pouvez afficher tous les modes disponibles à l'aide de la commande suivante :`
+1. Ajoutez un hôte à Centreon depuis la page **Configuration > Hôtes**.
+2. Complétez les champs **Nom**, **Alias** & **IP Address/DNS** correspondant à votre ressource.
+3. Appliquez le modèle d'hôte **Virt-VMWare2-VM-custom**. Une liste de macros apparaît. Les macros vous permettent de définir comment le connecteur se connectera à la ressource, ainsi que de personnaliser le comportement du connecteur.
+4. Renseignez les macros désirées. Attention, certaines macros sont obligatoires.
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:---------------------------|:------------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| CENTREONVMWAREPORT | Connector port (default: 5700). | 5700 | |
+| CENTREONVMWARECONTAINER | Container to use (it depends on the connector's configuration). | default | |
+| CENTREONVMWAREHOST | Connector hostname (required). | localhost |X |
+| VMNAME | Hostname of the VM to monitor. If not set, we check all VMs. | | |
+| VMUUID | Specify the VM's UUID. | | |
+| CENTREONVMWAREEXTRAOPTIONS | Any extra option you may want to add to every command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+5. [Déployez la configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). L'hôte apparaît dans la liste des hôtes supervisés, et dans la page **Statut des ressources**. La commande envoyée par le connecteur est indiquée dans le panneau de détails de l'hôte : celle-ci montre les valeurs des macros.
+
+### Utiliser un modèle de service issu du connecteur
+
+1. Si vous avez utilisé un modèle d'hôte et coché la case **Créer aussi les services liés aux modèles**, les services associés au modèle ont été créés automatiquement, avec les modèles de services correspondants. Sinon, [créez les services désirés manuellement](/docs/monitoring/basic-objects/services) et appliquez-leur un modèle de service.
+2. Renseignez les macros désirées (par exemple, ajustez les seuils d'alerte). Les macros indiquées ci-dessous comme requises (**Obligatoire**) doivent être renseignées.
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-----------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNINGCPU | Warning threshold | | |
+| CRITICALCPU | Critical threshold | | |
+| WARNINGREADY | Warning threshold | 5 | |
+| CRITICALREADY | Critical threshold | 10 | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| WARNINGUSAGE | Warning threshold | 80 | |
+| CRITICALUSAGE | Critical threshold | 90 | |
+| WARNINGUSAGEMHZ | Warning threshold | | |
+| CRITICALUSAGEMHZ | Critical threshold | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| FILTERDATASTORENAME | Datastore to check. If not set, we check all datastores. | .* | |
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNINGMAXTOTALLATENCY | Thresholds | | |
+| CRITICALMAXTOTALLATENCY | Thresholds | | |
+| WARNINGREAD | Thresholds | | |
+| CRITICALREAD | Thresholds | | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| WARNINGWRITE | Thresholds | | |
+| CRITICALWRITE | Thresholds | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state} | %{connection\_state} !~ /^connected$/i | |
+| FILTERDEVICE | Device to check (required). (Example: --device='VirtualCdrom') | | X |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state} | | |
+| WARNINGTOTALDEVICECONNECTED | Warning threshold | | |
+| CRITICALTOTALDEVICECONNECTED | Critical threshold | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:---------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------|:-----------:|
+| CRITICALCPUSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | %{connection\_state} !~ /^connected$/i \|\| %{limit} != -1 | |
+| WARNINGCPUSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | | |
+| CRITICALDISKSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | %{connection\_state} !~ /^connected$/i \|\| %{limit} != -1 | |
+| WARNINGDISKSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | | |
+| CRITICALMEMORYSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | %{connection\_state} !~ /^connected$/i \|\| %{limit} != -1 | |
+| WARNINGMEMORYSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNING | Warning threshold | | |
+| CRITICAL | Critical threshold | | |
+| WARNINGACTIVE | Warning threshold | | |
+| CRITICALACTIVE | Critical threshold | | |
+| WARNINGBALLOONING | Warning threshold | | |
+| CRITICALBALLOONING | Critical threshold | | |
+| WARNINGOVERHEAD | Warning threshold | | |
+| CRITICALOVERHEAD | Critical threshold | | |
+| WARNINGSHARED | Warning threshold | | |
+| CRITICALSHARED | Critical threshold | | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-------------|:----------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| WARNING | Warning threshold for snapshot's age | 259200 | |
+| CRITICAL | Critical threshold for snapshot's age | 432000 | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i | |
+| UNKNOWNOVERALLSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{overall\_status} =~ /gray/i'). You can use the following variables: %{overall\_status} | %{overall\_status} =~ /gray/i | |
+| WARNINGOVERALLSTATUS | Define the conditions to match for the status to be WARNING (Default: '%{overall\_status} =~ /yellow/i'). You can use the following variables: %{overall\_status} | %{overall\_status} =~ /yellow/i | |
+| CRITICALOVERALLSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{overall\_status} =~ /red/i'). You can use the following variables: %{overall\_status} | %{overall\_status} =~ /red/i | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING. You can use the following variables: %{connection\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL. You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:----------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| WARNINGSWAPIN | Warning threshold | | |
+| CRITICALSWAPIN | Critical threshold | | |
+| WARNINGSWAPOUT | Warning threshold | | |
+| CRITICALSWAPOUT | Critical threshold | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-------------|:----------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| STATUS | Thin provisioning status (default: none). Example: 'active,CRITICAL' or 'notactive,WARNING' | active,WARNING | X |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-------------------|:----------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| NOTINSTALLEDSTATUS | Status if vmtools is not installed (default: critical) | critical | X |
+| NOTRUNNINGSTATUS | Status if vmtools is not running (default: critical) | critical | X |
+| NOTUP2DATESTATUS | Status if vmtools is not up to date (default: warning) | warning | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). Toutes les options sont listées [ici](#options-disponibles) | | |
+
+
+
+
+3. [Déployez la configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). Le service apparaît dans la liste des services supervisés, et dans la page **Statut des ressources**. La commande envoyée par le connecteur est indiquée dans le panneau de détails du service : celle-ci montre les valeurs des macros.
+
+## Comment puis-je tester le plugin et que signifient les options des commandes ?
+
+Une fois le plugin installé, vous pouvez tester celui-ci directement en ligne
+de commande depuis votre collecteur Centreon en vous connectant avec
+l'utilisateur **centreon-engine** (`su - centreon-engine`). Vous pouvez tester
+que le connecteur arrive bien à superviser une ressource en utilisant une commande
+telle que celle-ci (remplacez les valeurs d'exemple par les vôtres) :
+
+```bash
+/usr/lib/centreon/plugins/centreon_vmware_connector_client.pl \
+ --plugin=apps::vmware::connector::plugin \
+ --mode=swap-vm \
+ --custommode=connector \
+ --connector-hostname='localhost' \
+ --connector-port='5700' \
+ --container='default' \
+ --vm-hostname='' \
+ --filter-uuid='' \
+ --unknown-status='%{connection_state} !~ /^connected$/i or %{power_state} !~ /^poweredOn$/i' \
+ --warning-status='' \
+ --critical-status='' \
+ --warning-swap-in='' \
+ --critical-swap-in='' \
+ --warning-swap-out='' \
+ --critical-swap-out=''
+```
+
+La commande devrait retourner un message de sortie similaire à :
```bash
-/usr/lib/centreon/plugins/./centreon_vmware_connector_client.pl \
- --plugin=apps::vmware::connector::plugin \
- --list-mode
+OK: All virtual machines are ok | '*vm*#vm.swap.in.usage.bytespersecond'=B/s;;;0;'*vm*#vm.swap.out.usage.bytespersecond'=B/s;;;0;
```
-Pour chaque mode, les options disponibles peuvent être consultées en ajoutant l'option --help à la commande :
+### Diagnostic des erreurs communes
+
+Rendez-vous sur la [documentation dédiée](../getting-started/how-to-guides/troubleshooting-plugins.md)
+pour le diagnostic des erreurs communes des plugins Centreon.
+
+### Modes disponibles
+
+Dans la plupart des cas, un mode correspond à un modèle de service. Le mode est renseigné dans la commande d'exécution
+du connecteur. Dans l'interface de Centreon, il n'est pas nécessaire de les spécifier explicitement, leur utilisation est
+implicite dès lors que vous utilisez un modèle de service. En revanche, vous devrez spécifier le mode correspondant à ce
+modèle si vous voulez tester la commande d'exécution du connecteur dans votre terminal.
+
+Tous les modes disponibles peuvent être affichés en ajoutant le paramètre
+`--list-mode` à la commande :
```bash
-/usr/lib/centreon/plugins/./centreon_vmware_connector_client.pl \
- --plugin=apps::vmware::connector::plugin \
- --mode=tools-vm \
- --help
+/usr/lib/centreon/plugins/centreon_vmware_connector_client.pl \
+ --plugin=apps::vmware::connector::plugin \
+ --list-mode
```
-### J'obtiens les erreurs suivantes :
+Le plugin apporte les modes suivants :
+
+| Mode | Modèle de service associé |
+|:---------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------|
+| alarm-datacenter [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/alarmdatacenter.pm)] | Not used in this Monitoring Connector |
+| alarm-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/alarmhost.pm)] | Not used in this Monitoring Connector |
+| countvm-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/countvmhost.pm)] | Not used in this Monitoring Connector |
+| cpu-cluster [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/cpucluster.pm)] | Not used in this Monitoring Connector |
+| cpu-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/cpuhost.pm)] | Not used in this Monitoring Connector |
+| cpu-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/cpuvm.pm)] | Virt-VMWare2-Vm-Cpu-Generic-custom |
+| datastore-countvm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastorecountvm.pm)] | Not used in this Monitoring Connector |
+| datastore-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastorehost.pm)] | Not used in this Monitoring Connector |
+| datastore-io [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoreio.pm)] | Not used in this Monitoring Connector |
+| datastore-iops [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoreiops.pm)] | Not used in this Monitoring Connector |
+| datastore-snapshot [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoresnapshot.pm)] | Not used in this Monitoring Connector |
+| datastore-usage [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoreusage.pm)] | Not used in this Monitoring Connector |
+| datastore-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastorevm.pm)] | Virt-VMWare2-Vm-Datastores-Iops-Generic-custom |
+| device-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/devicevm.pm)] | Virt-VMWare2-Vm-Device-Generic-custom |
+| discovery [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/discovery.pm)] | Used for host discovery |
+| getmap [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/getmap.pm)] | Not used in this Monitoring Connector |
+| health-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/healthhost.pm)] | Not used in this Monitoring Connector |
+| licenses [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/licenses.pm)] | Not used in this Monitoring Connector |
+| limit-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/limitvm.pm)] | Virt-VMWare2-Vm-Limit-Generic-custom |
+| list-clusters [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listclusters.pm)] | Not used in this Monitoring Connector |
+| list-datacenters [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listdatacenters.pm)] | Not used in this Monitoring Connector |
+| list-datastores [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listdatastores.pm)] | Not used in this Monitoring Connector |
+| list-nichost [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listnichost.pm)] | Not used in this Monitoring Connector |
+| maintenance-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/maintenancehost.pm)] | Not used in this Monitoring Connector |
+| memory-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/memoryhost.pm)] | Not used in this Monitoring Connector |
+| memory-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/memoryvm.pm)] | Virt-VMWare2-Vm-Memory-Generic-custom |
+| net-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/nethost.pm)] | Not used in this Monitoring Connector |
+| net-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/netvm.pm)] | Not used in this Monitoring Connector |
+| service-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/servicehost.pm)] | Not used in this Monitoring Connector |
+| snapshot-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/snapshotvm.pm)] | Virt-VMWare2-Vm-Snapshot-Generic-custom |
+| stat-connectors [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statconnectors.pm)] | Not used in this Monitoring Connector |
+| status-cluster [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statuscluster.pm)] | Not used in this Monitoring Connector |
+| status-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statushost.pm)] | Not used in this Monitoring Connector |
+| status-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statusvm.pm)] | Virt-VMWare2-Vm-Status-Generic-custom |
+| storage-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/storagehost.pm)] | Not used in this Monitoring Connector |
+| swap-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/swaphost.pm)] | Not used in this Monitoring Connector |
+| swap-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/swapvm.pm)] | Virt-VMWare2-Vm-Swap-Generic-custom |
+| thinprovisioning-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/thinprovisioningvm.pm)] | Virt-VMWare2-Vm-Thinprovisioning-Generic-custom |
+| time-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/timehost.pm)] | Not used in this Monitoring Connector |
+| tools-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/toolsvm.pm)] | Virt-VMWare2-Vm-Tools-Generic-custom |
+| uptime-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/uptimehost.pm)] | Not used in this Monitoring Connector |
+| vmoperation-cluster [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/vmoperationcluster.pm)] | Not used in this Monitoring Connector |
+| vsan-cluster-usage [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/vsanclusterusage.pm)] | Not used in this Monitoring Connector |
+
+### Options disponibles
+
+#### Options génériques
+
+Les options génériques sont listées ci-dessous :
+
+| Option | Description |
+|:-------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --mode | Define the mode in which you want the plugin to be executed (see--list-mode). |
+| --dyn-mode | Specify a mode with the module's path (advanced). |
+| --list-mode | List all available modes. |
+| --mode-version | Check minimal version of mode. If not, unknown error. |
+| --version | Return the version of the plugin. |
+| --custommode | When a plugin offers several ways (CLI, library, etc.) to get information the desired one must be defined with this option. |
+| --list-custommode | List all available custom modes. |
+| --multiple | Multiple custom mode objects. This may be required by some specific modes (advanced). |
+| --pass-manager | Define the password manager you want to use. Supported managers are: environment, file, keepass, hashicorpvault and teampass. |
+| --verbose | Display extended status information (long output). |
+| --debug | Display debug messages. |
+| --filter-perfdata | Filter perfdata that match the regexp. Example: adding --filter-perfdata='avg' will remove all metrics that do not contain 'avg' from performance data. |
+| --filter-perfdata-adv | Filter perfdata based on a "if" condition using the following variables: label, value, unit, warning, critical, min, max. Variables must be written either %{variable} or %(variable). Example: adding --filter-perfdata-adv='not (%(value) == 0 and %(max) eq "")' will remove all metrics whose value equals 0 and that don't have a maximum value. |
+| --explode-perfdata-max | Create a new metric for each metric that comes with a maximum limit. The new metric will be named identically with a '\_max' suffix). Eg: it will split 'used\_prct'=26.93%;0:80;0:90;0;100 into 'used\_prct'=26.93%;0:80;0:90;0;100 'used\_prct\_max'=100%;;;; |
+| --change-perfdata --extend-perfdata | Change or extend perfdata. Syntax: --extend-perfdata=searchlabel,newlabel,target\[,\[newuom\],\[min\],\[m ax\]\] Common examples: Convert storage free perfdata into used: --change-perfdata=free,used,invert() Convert storage free perfdata into used: --change-perfdata=used,free,invert() Scale traffic values automatically: --change-perfdata=traffic,,scale(auto) Scale traffic values in Mbps: --change-perfdata=traffic\_in,,scale(Mbps),mbps Change traffic values in percent: --change-perfdata=traffic\_in,,percent() |
+| --extend-perfdata-group | Add new aggregated metrics (min, max, average or sum) for groups of metrics defined by a regex match on the metrics' names. Syntax: --extend-perfdata-group=regex,namesofnewmetrics,calculation\[,\[ne wuom\],\[min\],\[max\]\] regex: regular expression namesofnewmetrics: how the new metrics' names are composed (can use $1, $2... for groups defined by () in regex). calculation: how the values of the new metrics should be calculated newuom (optional): unit of measure for the new metrics min (optional): lowest value the metrics can reach max (optional): highest value the metrics can reach Common examples: Sum wrong packets from all interfaces (with interface need --units-errors=absolute): --extend-perfdata-group=',packets\_wrong,sum(packets\_(discard \|error)\_(in\|out))' Sum traffic by interface: --extend-perfdata-group='traffic\_in\_(.*),traffic\_$1,sum(traf fic\_(in\|out)\_$1)' |
+| --change-short-output --change-long-output | Modify the short/long output that is returned by the plugin. Syntax: --change-short-output=pattern~replacement~modifier Most commonly used modifiers are i (case insensitive) and g (replace all occurrences). Example: adding --change-short-output='OK~Up~gi' will replace all occurrences of 'OK', 'ok', 'Ok' or 'oK' with 'Up' |
+| --change-exit | Replace an exit code with one of your choice. Example: adding --change-exit=unknown=critical will result in a CRITICAL state instead of an UNKNOWN state. |
+| --range-perfdata | Rewrite the ranges displayed in the perfdata. Accepted values: 0: nothing is changed. 1: if the lower value of the range is equal to 0, it is removed. 2: remove the thresholds from the perfdata. |
+| --filter-uom | Mask the units when they don't match the given regular expression. |
+| --opt-exit | Replace the exit code in case of an execution error (i.e. wrong option provided, SSH connection refused, timeout, etc). Default: unknown. |
+| --output-ignore-perfdata | Remove all the metrics from the service. The service will still have a status and an output. |
+| --output-ignore-label | Remove the status label ("OK:", "WARNING:", "UNKNOWN:", CRITICAL:") from the beginning of the output. Eg: 'OK: Ram Total:...' will become 'Ram Total:...' |
+| --output-xml | Return the output in XML format (to send to an XML API). |
+| --output-json | Return the output in JSON format (to send to a JSON API). |
+| --output-openmetrics | Return the output in OpenMetrics format (to send to a tool expecting this format). |
+| --output-file | Write output in file (can be combined with json, xml and openmetrics options). E.g.: --output-file=/tmp/output.txt will write the output in /tmp/output.txt. |
+| --disco-format | Applies only to modes beginning with 'list-'. Returns the list of available macros to configure a service discovery rule (formatted in XML). |
+| --disco-show | Applies only to modes beginning with 'list-'. Returns the list of discovered objects (formatted in XML) for service discovery. |
+| --float-precision | Define the float precision for thresholds (default: 8). |
+| --source-encoding | Define the character encoding of the response sent by the monitored resource Default: 'UTF-8'. |
+| --connector-hostname | Connector hostname (required). |
+| --connector-port | Connector port (default: 5700). |
+| --container | Container to use (it depends on the connector's configuration). |
+| --vsphere-address | Address of the vpshere/ESX instance to connect to. |
+| --vsphere-username | Username to use to connect to the vpshere/ESX instance (with --vsphere-address). |
+| --vsphere-password | Password used to connect to the vpshere/ESX instance (with --vsphere-address). |
+| --timeout | Set global execution timeout (Default: 50) |
+| --sampling-period | Choose the sampling period (can change the default sampling for counters). Should be not different from 300 or 20. |
+| --time-shift | Can shift the time. With the following option you can average X counter values (default: 0). |
+| --case-insensitive | Searches are case insensitive. |
+| --unknown-connector-status | Set unknown threshold for connector status (Default: '%{code} \< 0 \|\| (%{code} \> 0 && %{code} \< 200)'). You can use the following variables: %{code}, %{short\_message}, %{extra\_message}. |
+| --warning-connector-status | Set warning threshold for connector status (Default: ''). You can use the following variables: %{code}, %{short\_message}, %{extra\_message}. |
+| --critical-connector-status | Set critical threshold for connector status (Default: ''). You can use the following variables: %{code}, %{short\_message}, %{extra\_message}. |
+
+#### Options des modes
+
+Les options disponibles pour chaque modèle de services sont listées ci-dessous :
+
+
+
+
+| Option | Description |
+|:---------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to monitor. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. Exemple : --vm-hostname='^((VM-PROD-*))' --filter |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-* | Warning threshold. Can be: 'total-cpu', 'total-cpu-mhz', 'cpu-ready', 'cpu'. |
+| --critical-* | Critical threshold. Can be: 'total-cpu', 'total-cpu-mhz', 'cpu-ready', 'cpu'. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --datastore-name | Datastore to check. If not set, we check all datastores. |
+| --filter-datastore | Datastore name is a regexp. |
+| --display-description | Display the description of the virtual machine. |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-* --critical-* | Thresholds. Can be: 'max-total-latency', 'read', 'write'. |
+
+
+
+
+| Option | Description |
+|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --device | Device to check (Required) (Example: --device='VirtualCdrom'). |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state} |
+| --warning-* | Warning threshold. Can be: 'total-device-connected', 'device-connected'. |
+| --critical-* | Critical threshold. Can be: 'total-device-connected', 'device-connected'. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --check-disk-limit | Check disk limits (since vsphere 5.0). |
+| --warning-disk-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --critical-disk-status | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --warning-cpu-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --critical-cpu-status | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --warning-memory-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --critical-memory-status | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
-#### UNKNOWN: Unknown container name 'default' |
+
+
+
+| Option | Description |
+|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --units | Units of thresholds (Default: '%') ('%', 'B'). |
+| --free | Thresholds are on free space left. |
+| --warning-* | Warning threshold. Can be: 'consumed', 'active', 'overhead', 'ballooning', 'shared'. |
+| --critical-* | Critical threshold. Can be: 'consumed', 'active', 'overhead', 'ballooning', 'shared'. |
-Ce message d'erreur signifie que le **container* passé en argument n'existe pas dans la configuration du connecteur VMWare.
-Vérifiez la macro **CENTREONVMWARECONTAINER** sur l'hôte ou vérifiez la configuration dans le fichier */etc/centreon/centreon_vmware.pm*
+
+
-#### UNKNOWN: Cannot get response (timeout received)
+| Option | Description |
+|:----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --check-consolidation | Check if VM needs consolidation (since vsphere 5.0). |
+| --disconnect-status | Status if the VM is disconnected (default: 'unknown'). |
+| --nopoweredon-skip | Skip check if VM is not poweredOn. |
+| --empty-continue | Ask to the connector that an empty response is ok. |
+| --unit | Select the unit for performance data and thresholds. May be 's'for seconds, 'm' for minutes, 'h' for hours, 'd' for days, 'w' for weeks. Default is seconds |
+| --warning | Warning threshold for snapshot's age. |
+| --critical | Critical threshold for snapshot's age. |
+
+
+
-Ce messsage d'erreur signifie que le plugin n'a pas eu de réponse du daemon VMWare.
-Vérifiez vos paramètres de connexion et les macros **CENTREONVMWAREHOST** et **CENTREONVMWAREPORT**.
+| Option | Description |
+|:--------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING. You can use the following variables: %{connection\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL. You can use the following variables: %{connection\_state}, %{power\_state} |
+| --unknown-overall-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{overall\_status} =~ /gray/i'). You can use the following variables: %{overall\_status} |
+| --warning-overall-status | Define the conditions to match for the status to be WARNING (Default: '%{overall\_status} =~ /yellow/i'). You can use the following variables: %{overall\_status} |
+| --critical-overall-status | Define the conditions to match for the status to be CRITICAL (Default: '%{overall\_status} =~ /red/i'). You can use the following variables: %{overall\_status} |
-#### UNKNOWN: Container connection problem |
+
+
+
+| Option | Description |
+|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-* | Warning threshold. Can be: 'swap-in', 'swap-out'. |
+| --critical-* | Critical threshold. Can be: 'swap-in', 'swap-out'. |
-Ce message signifie que vous avez un problème avec les identifiants liés à votre **container**.
-Vérifiez les identifiants dans le fichier */etc/centreon/centreon_vmware.pm*.
-Vous pouvez aussi regarder les logs pour plus d'informations: */var/log/centreon/centreon_vmware.log*
+
+
-#### UNKNOWN: Cannot find 'VirtualMachine' object |
+| Option | Description |
+|:--------------------------|:---------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --disconnect-status | Status if VM disconnected (default: 'unknown'). |
+| --nopoweredon-skip | Skip check if VM is not poweredOn. |
+| --display-description | Display the description of the virtual machine. |
+| --thinprovisioning-status | Thin provisioning status (default: none) Example: 'active,CRITICAL' or 'notactive,WARNING' |
-Ce message d'erreur signifie que le plugin n'a pas trouvé la machine virtuelle.
-Vérifiez le nom de la machine virtuelle dans la macro **HOSTVMNAME**,
-This error message means that the Plugin didn't find the Virtual Machine.
-Check the Virtual Machine name in the macro **HOSTVMNAME**, il doit correspondre au nom défini dans votre infrastructure VMWare.
+
+
+
+| Option | Description |
+|:----------------------------|:--------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --disconnect-status | Status if VM disconnected (default: 'unknown'). |
+| --nopoweredon-skip | Skip check if VM is not powered on. |
+| --empty-continue | Ask to the connector that an empty response is ok. |
+| --display-description | Display the description of the virtual machine. |
+| --tools-notinstalled-status | Status if vmtools is not installed (default: critical). |
+| --tools-notrunning-status | Status if vmtools is not running (default: critical). |
+| --tools-notup2date-status | Status if vmtools is not up to date (default: warning). |
+
+
+
+
+Pour un mode, la liste de toutes les options disponibles et leur signification peut être
+affichée en ajoutant le paramètre `--help` à la commande :
+
+```bash
+/usr/lib/centreon/plugins/centreon_vmware_connector_client.pl \
+ --plugin=apps::vmware::connector::plugin \
+ --mode=swap-vm \
+ --help
+```
diff --git a/pp/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md b/pp/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md
index 7b208dd789e1..b9e7fa30a069 100644
--- a/pp/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md
+++ b/pp/integrations/plugin-packs/procedures/virtualization-vmware2-vm.md
@@ -11,72 +11,164 @@ VMware is an software compagny based in USA. VMware provides cloud computing and
The Centreon Plugin and Monitoring Connectors rely on the Centreon VMWare Connector to request the vCenter SDK.
-> This Monitoring Connector can be used with either version 6 or 7 of the VMware API.
+## Pack assets
-## Monitoring Connector Assets
+### Templates
-### Monitored Objects
+The Monitoring Connector **VMware VM** brings a host template:
-* Virtual Machine
+* **Virt-VMWare2-VM-custom**
-### Discovery Rules
+The connector brings the following service templates (sorted by the host template they are attached to):
-
+
-| Rule name | Description |
-| :----------------------------- | :------------------------------------------ |
-| Virt-VMWare2-VM-HostDiscovery | Discover the VMs bound to a vCenter or ESXi |
+| Service Alias | Service Template | Service Description |
+|:--------------------|:------------------------------------------------|:------------------------------------------------------------------------|
+| Vm-Limit | Virt-VMWare2-Vm-Limit-Generic-custom | Check limit definition. |
+| Vm-Snapshot | Virt-VMWare2-Vm-Snapshot-Generic-custom | Check the age of the snapshot for a virtual machine. |
+| Vm-Status | Virt-VMWare2-Vm-Status-Generic-custom | Check global status of a virtual machine. |
+| Vm-Thinprovisioning | Virt-VMWare2-Vm-Thinprovisioning-Generic-custom | Check if a virtual machine has a disk in mode 'thin provisioning' or not. |
+| Vm-Tools | Virt-VMWare2-Vm-Tools-Generic-custom | Check the state of vmtools for a virtual machine. |
+
+> The services listed above are created automatically when the **Virt-VMWare2-VM-custom** host template is used.
+
+
+
+
+| Service Alias | Service Template | Service Description |
+|:-------------------|:-----------------------------------------------|:------------------------------------------------------|
+| Vm-Cpu | Virt-VMWare2-Vm-Cpu-Generic-custom | Check CPU usage for a virtual machine. |
+| Vm-Datastores-Iops | Virt-VMWare2-Vm-Datastores-Iops-Generic-custom | Check datastores IOPS linked to the virtual machine. |
+| Vm-Device | Virt-VMWare2-Vm-Device-Generic-custom | Check CPU usage for a virtual machine. |
+| Vm-Memory | Virt-VMWare2-Vm-Memory-Generic-custom | Check memory usage for a virtual machine. |
+| Vm-Swap | Virt-VMWare2-Vm-Swap-Generic-custom | Check if a virtual machine is swapping. |
+
+> The services listed above are not created automatically when a host template is applied. To use them, [create a service manually](/docs/monitoring/basic-objects/services), then apply the service template you want.
-### Collected Metrics
+### Discovery rules
-In addition to modes and metrics described here, it is also possible to monitor the following indicators:
+#### Host discovery
-* VM-Cpu: Advanced monitoring of the CPU (CPU ready)
-* VM-Datastores-Iops: VM Iops usage on the Datastore
-* VM-Swap: VM swap usage
-* VM-Device: Check VM's devices status (e.g. VirtualCdrom)
+| Rule name | Description |
+|:----------------|:--------------------------------|
+| VMWare VM | Discover VMWare virtual machines |
+
+More information about discovering hosts automatically is available on the [dedicated page](/docs/monitoring/discovery/hosts-discovery).
+
+### Collected metrics & status
+
+Here is the list of services for this connector, detailing all metrics linked to each service.
-
+
+
+| Metric name | Unit |
+|:----------------------------------------------|:------|
+| *vm*~status | N/A |
+| *vm*~vm.cpu.utilization.percentage | % |
+| *vm*~vm.cpu.utilization.mhz | MHz |
+| *vm*~vm.cpu.ready.percentage | % |
+| *vm*~*cpu*#vm.core.cpu.utilization.percentage | MHz |
-| Metric name | Description | Unit |
-| :---------- | :------------------------------------------------------------- | :--- |
-| status | Status of the VMware Tools (installed, running and up-to-date) | |
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
-
+
+
+| Metric name | Unit |
+|:-----------------------------------------------|:------|
+| *vm*~status | N/A |
+| *vm*~vm.datastore.latency.max.milliseconds | ms |
+| *vm*~*datastore*#vm.datastore.read.usage.iops | iops |
+| *vm*~*datastore*#vm.datastore.write.usage.iops | iops |
-| Metric name | Description | Unit |
-| :---------- | :----------------------------------------- | :--- |
-| status | Status of the Thinprovisoning virtualdisks | |
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
-
+
+
+| Metric name | Unit |
+|:--------------------------------|:------|
+| vm.devices.connected.count | count |
+| *vm*#status | N/A |
+| *vm*#vm.devices.connected.count | count |
+
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
-| Metric name | Description | Unit |
-| :------------ | :----------------------- | :--- |
-| status | Overall status of the VM | |
+
+
+
+| Metric name | Unit |
+|:--------------|:------|
+| cpu-status | N/A |
+| memory-status | N/A |
+| disk-status | N/A |
+
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
+
+
+
+
+| Metric name | Unit |
+|:------------------------------------|:------|
+| *vm*~status | N/A |
+| *vm*~vm.memory.consumed.usage.bytes | B |
+| *vm*~vm.memory.active.usage.bytes | B |
+| *vm*~vm.memory.overhead.bytes | B |
+| *vm*~vm.memory.ballooning.bytes | B |
+| *vm*~vm.memory.shared.bytes | B |
+
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
-| Metric name | Description | Unit |
-| :---------------------------------- | :------------------------------------------------------------ | :---- |
-| vm.snapshots.warning.current.count | Number of VM's snapshot older than 3 days (default threshold) | Count |
-| vm.snapshots.critical.current.count | Number of VM's snapshot older than 5 days (default threshold) | Count |
+| Metric name | Unit |
+|:------------------------------------|:------|
+| vm.snapshots.warning.current.count | count |
+| vm.snapshots.critical.current.count | count |
-
+
+
+| Metric name | Unit |
+|:--------------------|:------|
+| *vm*#status | N/A |
+| *vm*#overall-status | N/A |
+
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
+
+
+
+
+| Metric name | Unit |
+|:--------------------------------------|:------|
+| *vm*#status | N/A |
+| *vm*#vm.swap.in.usage.bytespersecond | B/s |
+| *vm*#vm.swap.out.usage.bytespersecond | B/s |
-| Metric name | Description | Unit |
-| :--------------------------- | :--------------------- | :---- |
-| vm.limit.cpu.alerts.count | Alerts on CPU limit | Count |
-| vm.limit.memory.alerts.count | Alerts on Memory limit | Count |
-| vm.limit.disk.alerts.count | Alerts on Disk limit | Count |
+> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro.
+
+
+
+
+| Metric name | Description | Unit |
+|:------------|:-------------------------------------------|:------|
+| status | Status of the thin provisoning virtual disks | |
+
+
+
+
+| Metric name | Unit |
+|:------------------------------------|:------|
+| vm.tools.notupdated.current.count | count |
+| vm.tools.notrunning.current.count | count |
+| vm.tools.notinstalled.current.count | count |
@@ -89,10 +181,24 @@ For the VMWare monitoring, Centreon use daemon to connect and request the vCente
Install this daemon on each needed poller:
+
+
+
+```bash
+apt install centreon-plugin-virtualization-vmware-daemon
```
+
+
+
+
+```bash
yum install centreon-plugin-Virtualization-VMWare-daemon
```
+
+
+
+
To configure the access to your infrastructure, edit the
"/etc/centreon/centreon\_vmware.pm" configuration file:
@@ -155,7 +261,7 @@ Make sure that the daemon configuration works fine by looking for errors in
### Tags and Custom Attributes
-To discover Tags and Custom Attributes, you must :
+To discover Tags and Custom Attributes, you must :
* use version **3.2.5** of **centreon-vmware-daemon**
* add **--tags** in the additional discovery options: go to the **Configuration > Hosts > Discovery** page, and to the 3rd step (**Set discovery parameters**), in the section **Additional parameters**, in the **Additional options** field, type **--tags**.
@@ -166,124 +272,618 @@ The Poller with the Centreon VMware Connector installed need to access in TCP/44
The Pollers that request the Centreon VMWare Connector host need to access in TCP/5700 to the Centreon VMWare Connector host.
-## Installation
+## Installing the monitoring connector
-
-
+### Pack
+
+1. If the platform uses an *online* license, you can skip the package installation
+instruction below as it is not required to have the connector displayed within the
+**Configuration > Monitoring Connectors Manager** menu.
+If the platform uses an *offline* license, install the package on the **central server**
+with the command corresponding to the operating system's package manager:
-1. Install the Vmware2 Connector Centreon Plugin on every poller expected to monitor the devices:
+
+
```bash
-yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
+dnf install centreon-pack-virtualization-vmware2-vm
```
-2. Install the 'Vmware VM' Centreon Monitoring Connector on the **Configuration > Monitoring Connector Manager** page
-
-
+
-1. Install the Vmware VM Centreon Plugin on every poller expected to monitor the devices:
+```bash
+dnf install centreon-pack-virtualization-vmware2-vm
+```
+
+
+
```bash
-yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
+apt install centreon-pack-virtualization-vmware2-vm
```
-2. Install the Centreon Monitoring Connector RPM:
+
+
```bash
yum install centreon-pack-virtualization-vmware2-vm
```
-3. Install the 'Vmware VM' Centreon Monitoring Connector on the **Configuration > Monitoring Connector Manager** page
-
-## Configuration
+2. Whatever the license type (*online* or *offline*), install the **VMware VM** connector through
+the **Configuration > Monitoring Connectors Manager** menu.
-* Log into Centreon and add a new Host through "Configuration > Hosts".
-* Apply the relevant Host Template "VVirt-VMWare2-Vm-custom", and configure the mandatory Macros:
+### Plugin
-| Mandatory | Name | Description |
-| :---------- | :------------------------- | :----------------------------------------------------- |
-| X | CENTREONVMWARECONTAINER | Name of your container in the file centreon_vmware.pm |
-| X | CENTREONVMWAREHOST | The Centreon server that launches the connection |
-| X | CENTREONVMWAREPORT | By default: 5700 |
-| X | VMNAME | Name of the VM (defined in your VMWare infrastructure) |
-| | VMUUID | Specify The VM UUID |
-| | VMWAREEXTRAOPTIONS | Customize it with your own if needed |
+Since Centreon 22.04, you can benefit from the 'Automatic plugin installation' feature.
+When this feature is enabled, you can skip the installation part below.
-## FAQ
+You still have to manually install the plugin on the poller(s) when:
+- Automatic plugin installation is turned off
+- You want to run a discovery job from a poller that doesn't monitor any resource of this kind yet
-### How do I run my plugin through the CLI and what do the main parameters stand for ?
+> More information in the [Installing the plugin](/docs/monitoring/pluginpacks/#installing-the-plugin) section.
-Once you've installed the plugin, you can test it logging with centreon-engine user:
+Use the commands below according to your operating system's package manager:
+
+
+
```bash
-/usr/lib/centreon/plugins//centreon_vmware_connector_client.pl
- --plugin=apps::vmware::connector::plugin
- --mode=tools-vm
- --custommode=connector
- --connector-hostname='localhost'
- --connector-port='5700'
- --container='vcenter01'
- --vm-hostname='SRV-LIN-TLS'
- --filter-uuid=''
- --tools-notinstalled-status='critical'
- --tools-notrunning-status='critical'
- --tools-notup2date-status='warning'
+dnf install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
```
-Expected command output is shown below:
+
+
```bash
-OK: VMTools are OK
+dnf install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
```
-This command above checks the status of the VMTools (```--plugin=apps::vmware::connector::plugin --mode=tools-vm```) of the VM **SRV-LIN-TLS** (```--vm-hostname='SRV-LIN-TLS'```).
-It connects to the VMWare daemon on **localhost** (```--connector-hostname='localhost'```) on the port **5700** (```--connector-port='5700'```).
-Then the command requests the container **vcenter01** (```--container='vcenter01'```) because the VM **SRV-LIN-TLS** is managed by **vcenter01**.
+
+
-It will trigger :
-* WARNING alarm if the VMTools are not up-to-date (```--tools-notup2date-status='warning'```)
-* CRITICAL alarm if the VMTools are not running or installed (```--tools-notinstalled-status='critical' --tools-notrunning-status='critical'```)
+```bash
+apt install centreon-plugin-virtualization-vmware2-connector-plugin
+```
-All available modes with the plugin can be displayed with:
+
+
```bash
-/usr/lib/centreon/plugins/./centreon_vmware_connector_client.pl \
- --plugin=apps::vmware::connector::plugin \
- --list-mode
+yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin
```
-The available options for a mode can be displayed using the ```--help``` parameter:
+
+
+
+## Using the monitoring connector
+
+### Using a host template provided by the connector
+
+1. Log into Centreon and add a new host through **Configuration > Hosts**.
+2. Fill the **Name**, **Alias** & **IP Address/DNS** fields according to your ressource settings.
+3. Apply the **Virt-VMWare2-VM-custom** template to the host. A list of macros appears. Macros allow you to define how the connector will connect to the resource, and to customize the connector's behavior.
+4. Fill in the macros you want. Some macros are mandatory.
+
+| Macro | Description | Default value | Mandatory |
+|:---------------------------|:------------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| CENTREONVMWAREPORT | Connector port (default: 5700) | 5700 | |
+| CENTREONVMWARECONTAINER | Container to use (it depends on the connector's configuration) | default | |
+| CENTREONVMWAREHOST | Connector hostname (required) | localhost | X |
+| VMNAME | Hostname of the VM to check. If not set, we check all VMs | | |
+| VMUUID | Specify the VM's UUID | | |
+| CENTREONVMWAREEXTRAOPTIONS | Any extra option you may want to add to every command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+5. [Deploy the configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). The host appears in the list of hosts, and on the **Resources Status** page. The command that is sent by the connector is displayed in the details panel of the host: it shows the values of the macros.
+
+### Using a service template provided by the connector
+
+1. If you have used a host template and checked **Create Services linked to the Template too**, the services linked to the template have been created automatically, using the corresponding service templates. Otherwise, [create manually the services you want](/docs/monitoring/basic-objects/services) and apply a service template to them.
+2. Fill in the macros you want (e.g. to change the thresholds for the alerts). Some macros are mandatory (see the table below).
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-----------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNINGCPU | Warning threshold | | |
+| CRITICALCPU | Critical threshold | | |
+| WARNINGREADY | Warning threshold | 5 | |
+| CRITICALREADY | Critical threshold | 10 | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| WARNINGUSAGE | Warning threshold | 80 | |
+| CRITICALUSAGE | Critical threshold | 90 | |
+| WARNINGUSAGEMHZ | Warning threshold | | |
+| CRITICALUSAGEMHZ | Critical threshold | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| FILTERDATASTORENAME | Datastore to check. If not set, we check all datastores | .* | |
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNINGMAXTOTALLATENCY | Thresholds | | |
+| CRITICALMAXTOTALLATENCY | Thresholds | | |
+| WARNINGREAD | Thresholds | | |
+| CRITICALREAD | Thresholds | | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| WARNINGWRITE | Thresholds | | |
+| CRITICALWRITE | Thresholds | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state} | %{connection\_state} !~ /^connected$/i | |
+| FILTERDEVICE | Device to check (required). (Example: --device='VirtualCdrom') | | X |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state} | | |
+| WARNINGTOTALDEVICECONNECTED | Warning threshold | | |
+| CRITICALTOTALDEVICECONNECTED | Critical threshold | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:---------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------|:-----------:|
+| CRITICALCPUSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | %{connection\_state} !~ /^connected$/i \|\| %{limit} != -1 | |
+| WARNINGCPUSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | | |
+| CRITICALDISKSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | %{connection\_state} !~ /^connected$/i \|\| %{limit} != -1 | |
+| WARNINGDISKSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | | |
+| CRITICALMEMORYSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | %{connection\_state} !~ /^connected$/i \|\| %{limit} != -1 | |
+| WARNINGMEMORYSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNING | Warning threshold | | |
+| CRITICAL | Critical threshold | | |
+| WARNINGACTIVE | Warning threshold | | |
+| CRITICALACTIVE | Critical threshold | | |
+| WARNINGBALLOONING | Warning threshold | | |
+| CRITICALBALLOONING | Critical threshold | | |
+| WARNINGOVERHEAD | Warning threshold | | |
+| CRITICALOVERHEAD | Critical threshold | | |
+| WARNINGSHARED | Warning threshold | | |
+| CRITICALSHARED | Critical threshold | | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-------------|:----------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| WARNING | Warning threshold for snapshot's age | 259200 | |
+| CRITICAL | Critical threshold for snapshot's age | 432000 | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i | |
+| UNKNOWNOVERALLSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{overall\_status} =~ /gray/i'). You can use the following variables: %{overall\_status} | %{overall\_status} =~ /gray/i | |
+| WARNINGOVERALLSTATUS | Define the conditions to match for the status to be WARNING (Default: '%{overall\_status} =~ /yellow/i'). You can use the following variables: %{overall\_status} | %{overall\_status} =~ /yellow/i | |
+| CRITICALOVERALLSTATUS | Define the conditions to match for the status to be CRITICAL (Default: '%{overall\_status} =~ /red/i'). You can use the following variables: %{overall\_status} | %{overall\_status} =~ /red/i | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING. You can use the following variables: %{connection\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL. You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:----------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:-----------:|
+| UNKNOWNSTATUS | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} | %{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i | |
+| WARNINGSTATUS | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| CRITICALSTATUS | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} | | |
+| WARNINGSWAPIN | Warning threshold | | |
+| CRITICALSWAPIN | Critical threshold | | |
+| WARNINGSWAPOUT | Warning threshold | | |
+| CRITICALSWAPOUT | Critical threshold | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-------------|:----------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| STATUS | Thin provisioning status (default: none). Example: 'active,CRITICAL' or 'notactive,WARNING' | active,WARNING | X |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-------------------|:----------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| NOTINSTALLEDSTATUS | Status if vmtools is not installed (default: critical) | critical | X |
+| NOTRUNNINGSTATUS | Status if vmtools is not running (default: critical) | critical | X |
+| NOTUP2DATESTATUS | Status if vmtools is not up to date (default: warning) | warning | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (e.g. a --verbose flag). All options are listed [here](#available-options) | | |
+
+
+
+
+3. [Deploy the configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). The service appears in the list of services, and on the **Resources Status** page. The command that is sent by the connector is displayed in the details panel of the service: it shows the values of the macros.
+
+## How to check in the CLI that the configuration is OK and what are the main options for?
+
+Once the plugin is installed, log into your Centreon poller's CLI using the
+**centreon-engine** user account (`su - centreon-engine`). Test that the connector
+is able to monitor a resource using a command like this one (replace the sample values by yours):
```bash
-/usr/lib/centreon/plugins/./centreon_vmware_connector_client.pl \
- --plugin=apps::vmware::connector::plugin \
- --mode=tools-vm \
- --help
+/usr/lib/centreon/plugins/centreon_vmware_connector_client.pl \
+ --plugin=apps::vmware::connector::plugin \
+ --mode=swap-vm \
+ --custommode=connector \
+ --connector-hostname='localhost' \
+ --connector-port='5700' \
+ --container='default' \
+ --vm-hostname='' \
+ --filter-uuid='' \
+ --unknown-status='%{connection_state} !~ /^connected$/i or %{power_state} !~ /^poweredOn$/i' \
+ --warning-status='' \
+ --critical-status='' \
+ --warning-swap-in='' \
+ --critical-swap-in='' \
+ --warning-swap-out='' \
+ --critical-swap-out=''
```
-### Why do I get the following error:
+The expected command output is shown below:
-#### UNKNOWN: Unknown container name 'default' |
+```bash
+OK: All virtual machines are ok | '*vm*#vm.swap.in.usage.bytespersecond'=B/s;;;0;'*vm*#vm.swap.out.usage.bytespersecond'=B/s;;;0;
+```
-This error message means that the container invoked in the command doesn't exist in your VMWare connector configuration.
-Check your macro **CENTREONVMWARECONTAINER** on your host or check the file */etc/centreon/centreon_vmware.pm*
+### Troubleshooting
-#### UNKNOWN: Cannot get response (timeout received)
+Please find the [troubleshooting documentation](../getting-started/how-to-guides/troubleshooting-plugins.md)
+for Centreon Plugins typical issues.
-This error message means that the Plugin didn't get a response off the VMWare Daemon.
-Check your connection parameters and the macros **CENTREONVMWAREHOST** and **CENTREONVMWAREPORT**.
+### Available modes
-#### UNKNOWN: Container connection problem |
+In most cases, a mode corresponds to a service template. The mode appears in the execution command for the connector.
+In the Centreon interface, you don't need to specify a mode explicitly: its use is implied when you apply a service template.
+However, you will need to specify the correct mode for the template if you want to test the execution command for the
+connector in your terminal.
-This error message means that you have a issue with the credentials provided for your Container.
-Check your credentials in */etc/centreon/centreon_vmware.pm*.
-You can also take a look into the log for more information: */var/log/centreon/centreon_vmware.log*
+All available modes can be displayed by adding the `--list-mode` parameter to
+the command:
-#### UNKNOWN: Cannot find 'VirtualMachine' object |
+```bash
+/usr/lib/centreon/plugins/centreon_vmware_connector_client.pl \
+ --plugin=apps::vmware::connector::plugin \
+ --list-mode
+```
+
+The plugin brings the following modes:
+
+| Mode | Linked service template |
+|:---------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------|
+| alarm-datacenter [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/alarmdatacenter.pm)] | Not used in this Monitoring Connector |
+| alarm-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/alarmhost.pm)] | Not used in this Monitoring Connector |
+| countvm-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/countvmhost.pm)] | Not used in this Monitoring Connector |
+| cpu-cluster [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/cpucluster.pm)] | Not used in this Monitoring Connector |
+| cpu-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/cpuhost.pm)] | Not used in this Monitoring Connector |
+| cpu-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/cpuvm.pm)] | Virt-VMWare2-Vm-Cpu-Generic-custom |
+| datastore-countvm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastorecountvm.pm)] | Not used in this Monitoring Connector |
+| datastore-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastorehost.pm)] | Not used in this Monitoring Connector |
+| datastore-io [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoreio.pm)] | Not used in this Monitoring Connector |
+| datastore-iops [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoreiops.pm)] | Not used in this Monitoring Connector |
+| datastore-snapshot [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoresnapshot.pm)] | Not used in this Monitoring Connector |
+| datastore-usage [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastoreusage.pm)] | Not used in this Monitoring Connector |
+| datastore-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/datastorevm.pm)] | Virt-VMWare2-Vm-Datastores-Iops-Generic-custom |
+| device-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/devicevm.pm)] | Virt-VMWare2-Vm-Device-Generic-custom |
+| discovery [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/discovery.pm)] | Used for host discovery |
+| getmap [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/getmap.pm)] | Not used in this Monitoring Connector |
+| health-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/healthhost.pm)] | Not used in this Monitoring Connector |
+| licenses [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/licenses.pm)] | Not used in this Monitoring Connector |
+| limit-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/limitvm.pm)] | Virt-VMWare2-Vm-Limit-Generic-custom |
+| list-clusters [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listclusters.pm)] | Not used in this Monitoring Connector |
+| list-datacenters [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listdatacenters.pm)] | Not used in this Monitoring Connector |
+| list-datastores [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listdatastores.pm)] | Not used in this Monitoring Connector |
+| list-nichost [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/listnichost.pm)] | Not used in this Monitoring Connector |
+| maintenance-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/maintenancehost.pm)] | Not used in this Monitoring Connector |
+| memory-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/memoryhost.pm)] | Not used in this Monitoring Connector |
+| memory-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/memoryvm.pm)] | Virt-VMWare2-Vm-Memory-Generic-custom |
+| net-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/nethost.pm)] | Not used in this Monitoring Connector |
+| net-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/netvm.pm)] | Not used in this Monitoring Connector |
+| service-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/servicehost.pm)] | Not used in this Monitoring Connector |
+| snapshot-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/snapshotvm.pm)] | Virt-VMWare2-Vm-Snapshot-Generic-custom |
+| stat-connectors [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statconnectors.pm)] | Not used in this Monitoring Connector |
+| status-cluster [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statuscluster.pm)] | Not used in this Monitoring Connector |
+| status-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statushost.pm)] | Not used in this Monitoring Connector |
+| status-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/statusvm.pm)] | Virt-VMWare2-Vm-Status-Generic-custom |
+| storage-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/storagehost.pm)] | Not used in this Monitoring Connector |
+| swap-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/swaphost.pm)] | Not used in this Monitoring Connector |
+| swap-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/swapvm.pm)] | Virt-VMWare2-Vm-Swap-Generic-custom |
+| thinprovisioning-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/thinprovisioningvm.pm)] | Virt-VMWare2-Vm-Thinprovisioning-Generic-custom |
+| time-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/timehost.pm)] | Not used in this Monitoring Connector |
+| tools-vm [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/toolsvm.pm)] | Virt-VMWare2-Vm-Tools-Generic-custom |
+| uptime-host [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/uptimehost.pm)] | Not used in this Monitoring Connector |
+| vmoperation-cluster [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/vmoperationcluster.pm)] | Not used in this Monitoring Connector |
+| vsan-cluster-usage [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/vmware/connector/mode/vsanclusterusage.pm)] | Not used in this Monitoring Connector |
+
+### Available options
+
+#### Generic options
+
+All generic options are listed here:
+
+| Option | Description |
+|:-------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --mode | Define the mode in which you want the plugin to be executed (see--list-mode). |
+| --dyn-mode | Specify a mode with the module's path (advanced). |
+| --list-mode | List all available modes. |
+| --mode-version | Check minimal version of mode. If not, unknown error. |
+| --version | Return the version of the plugin. |
+| --custommode | When a plugin offers several ways (CLI, library, etc.) to get information the desired one must be defined with this option. |
+| --list-custommode | List all available custom modes. |
+| --multiple | Multiple custom mode objects. This may be required by some specific modes (advanced). |
+| --pass-manager | Define the password manager you want to use. Supported managers are: environment, file, keepass, hashicorpvault and teampass. |
+| --verbose | Display extended status information (long output). |
+| --debug | Display debug messages. |
+| --filter-perfdata | Keep only perfdata that match the regexp. Eg: adding --filter-perfdata='avg' will remove all metrics that do not contain 'avg' from performance data. |
+| --filter-perfdata-adv | Filter perfdata based on a "if" condition using the following variables: label, value, unit, warning, critical, min, max. Variables must be written either %{variable} or %(variable). Eg: adding --filter-perfdata-adv='not (%(value) == 0 and %(max) eq "")' will remove all metrics whose value equals 0 and that don't have a maximum value. |
+| --explode-perfdata-max | Create a new metric for each metric that comes with a maximum limit. The new metric will be named identically with a '\_max' suffix). Eg: it will split 'used\_prct'=26.93%;0:80;0:90;0;100 into 'used\_prct'=26.93%;0:80;0:90;0;100 'used\_prct\_max'=100%;;;; |
+| --change-perfdata --extend-perfdata | Change or extend perfdata. Syntax: --extend-perfdata=searchlabel,newlabel,target\[,\[newuom\],\[min\],\[m ax\]\] Common examples: Convert storage free perfdata into used: --change-perfdata=free,used,invert() Convert storage free perfdata into used: --change-perfdata=used,free,invert() Scale traffic values automatically: --change-perfdata=traffic,,scale(auto) Scale traffic values in Mbps: --change-perfdata=traffic\_in,,scale(Mbps),mbps Change traffic values in percent: --change-perfdata=traffic\_in,,percent() |
+| --extend-perfdata-group | Add new aggregated metrics (min, max, average or sum) for groups of metrics defined by a regex match on the metrics' names. Syntax: --extend-perfdata-group=regex,namesofnewmetrics,calculation\[,\[ne wuom\],\[min\],\[max\]\] regex: regular expression namesofnewmetrics: how the new metrics' names are composed (can use $1, $2... for groups defined by () in regex). calculation: how the values of the new metrics should be calculated newuom (optional): unit of measure for the new metrics min (optional): lowest value the metrics can reach max (optional): highest value the metrics can reach Common examples: Sum wrong packets from all interfaces (with interface need --units-errors=absolute): --extend-perfdata-group=',packets\_wrong,sum(packets\_(discard \|error)\_(in\|out))' Sum traffic by interface: --extend-perfdata-group='traffic\_in\_(.*),traffic\_$1,sum(traf fic\_(in\|out)\_$1)' |
+| --change-short-output --change-long-output | Modify the short/long output that is returned by the plugin. Syntax: --change-short-output=pattern~replacement~modifier Most commonly used modifiers are i (case insensitive) and g (replace all occurrences). Eg: adding --change-short-output='OK~Up~gi' will replace all occurrences of 'OK', 'ok', 'Ok' or 'oK' with 'Up' |
+| --change-exit | Replace an exit code with one of your choice. Example: adding --change-exit=unknown=critical will result in a CRITICAL state instead of an UNKNOWN state. |
+| --range-perfdata | Rewrite the ranges displayed in the perfdata. Accepted values: 0: nothing is changed. 1: if the lower value of the range is equal to 0, it is removed. 2: remove the thresholds from the perfdata. |
+| --filter-uom | Mask the units when they don't match the given regular expression. |
+| --opt-exit | Replace the exit code in case of an execution error (i.e. wrong option provided, SSH connection refused, timeout, etc). Default: unknown. |
+| --output-ignore-perfdata | Remove all the metrics from the service. The service will still have a status and an output. |
+| --output-ignore-label | Remove the status label ("OK:", "WARNING:", "UNKNOWN:", CRITICAL:") from the beginning of the output. Eg: 'OK: Ram Total:...' will become 'Ram Total:...' |
+| --output-xml | Return the output in XML format (to send to an XML API). |
+| --output-json | Return the output in JSON format (to send to a JSON API). |
+| --output-openmetrics | Return the output in OpenMetrics format (to send to a tool expecting this format). |
+| --output-file | Write output in file (can be combined with json, xml and openmetrics options). E.g.: --output-file=/tmp/output.txt will write the output in /tmp/output.txt. |
+| --disco-format | Applies only to modes beginning with 'list-'. Returns the list of available macros to configure a service discovery rule (formatted in XML). |
+| --disco-show | Applies only to modes beginning with 'list-'. Returns the list of discovered objects (formatted in XML) for service discovery. |
+| --float-precision | Define the float precision for thresholds (default: 8). |
+| --source-encoding | Define the character encoding of the response sent by the monitored resource. Default: 'UTF-8'. |
+| --connector-hostname | Connector hostname (required). |
+| --connector-port | Connector port (default: 5700). |
+| --container | Container to use (it depends on the connector's configuration). |
+| --vsphere-address | Address of the vpshere/ESX instance to connect to. |
+| --vsphere-username | Username to use to connect to the vpshere/ESX instance (with --vsphere-address). |
+| --vsphere-password | Password used to connect to the vpshere/ESX instance (with --vsphere-address). |
+| --timeout | Set global execution timeout (Default: 50) |
+| --sampling-period | Choose the sampling period (can change the default sampling for counters). Should be not different from 300 or 20. |
+| --time-shift | Can shift the time. With the following option you can average X counters values (default: 0). |
+| --case-insensitive | Searches are case insensitive. |
+| --unknown-connector-status | Set unknown threshold for connector status (Default: '%{code} \< 0 \|\| (%{code} \> 0 && %{code} \< 200)'). You can use the following variables: %{code}, %{short\_message}, %{extra\_message}. |
+| --warning-connector-status | Set warning threshold for connector status (Default: ''). You can use the following variables: %{code}, %{short\_message}, %{extra\_message}. |
+| --critical-connector-status | Set critical threshold for connector status (Default: ''). You can use the following variables: %{code}, %{short\_message}, %{extra\_message}. |
+
+#### Modes options
+
+All available options for each service template are listed below:
+
+
+
+
+| Option | Description |
+|:---------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. Exemple : --vm-hostname='^((VM-PROD-*))' --filter |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-* | Warning threshold. Can be: 'total-cpu', 'total-cpu-mhz', 'cpu-ready', 'cpu'. |
+| --critical-* | Critical threshold. Can be: 'total-cpu', 'total-cpu-mhz', 'cpu-ready', 'cpu'. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --datastore-name | Datastore to check. If not set, we check all datastores. |
+| --filter-datastore | Datastore name is a regexp. |
+| --display-description | Display the description of the virtual machine. |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-* --critical-* | Thresholds. Can be: 'max-total-latency', 'read', 'write'. |
+
+
+
+
+| Option | Description |
+|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --device | Device to check (required). (Example: --device='VirtualCdrom'). |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state} |
+| --warning-* | Warning threshold. Can be: 'total-device-connected', 'device-connected'. |
+| --critical-* | Critical threshold. Can be: 'total-device-connected', 'device-connected'. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --check-disk-limit | Check disk limits (since vsphere 5.0). |
+| --warning-disk-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --critical-disk-status | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --warning-cpu-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --critical-cpu-status | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --warning-memory-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+| --critical-memory-status | Define the conditions to match for the status to be CRITICAL (Default: '%{connection\_state} !~ /^connected$/i \|\| %{limit} != -1'). You can use the following variables: %{connection\_state}, %{power\_state}, %{limit} |
+
+
+
+
+| Option | Description |
+|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --units | Units of thresholds (Default: '%') ('%', 'B'). |
+| --free | Thresholds are applied on free space left. |
+| --warning-* | Warning threshold. Can be: 'consumed', 'active', 'overhead', 'ballooning', 'shared'. |
+| --critical-* | Critical threshold. Can be: 'consumed', 'active', 'overhead', 'ballooning', 'shared'. |
+
+
+
+
+| Option | Description |
+|:----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --check-consolidation | Check if VM needs consolidation (since vsphere 5.0). |
+| --disconnect-status | Status if VM disconnected (default: 'unknown'). |
+| --nopoweredon-skip | Skip check if VM is not poweredOn. |
+| --empty-continue | Ask to the connector that an empty response is ok. |
+| --unit | Select the unit for performance data and thresholds. May be 's'for seconds, 'm' for minutes, 'h' for hours, 'd' for days, 'w' for weeks. Default is seconds |
+| --warning | Warning threshold for snapshot's age. |
+| --critical | Critical threshold for snapshot's age. |
+
+
+
+
+| Option | Description |
+|:--------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING. You can use the following variables: %{connection\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL. You can use the following variables: %{connection\_state}, %{power\_state} |
+| --unknown-overall-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{overall\_status} =~ /gray/i'). You can use the following variables: %{overall\_status} |
+| --warning-overall-status | Define the conditions to match for the status to be WARNING (Default: '%{overall\_status} =~ /yellow/i'). You can use the following variables: %{overall\_status} |
+| --critical-overall-status | Define the conditions to match for the status to be CRITICAL (Default: '%{overall\_status} =~ /red/i'). You can use the following variables: %{overall\_status} |
+
+
+
+
+| Option | Description |
+|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --display-description | Display the description of the virtual machine. |
+| --unknown-status | Define the conditions to match for the status to be UNKNOWN (Default: '%{connection\_state} !~ /^connected$/i or %{power\_state} !~ /^poweredOn$/i'). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-status | Define the conditions to match for the status to be WARNING (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --critical-status | Define the conditions to match for the status to be CRITICAL (Default: ''). You can use the following variables: %{connection\_state}, %{power\_state} |
+| --warning-* | Warning threshold. Can be: 'swap-in', 'swap-out'. |
+| --critical-* | Critical threshold. Can be: 'swap-in', 'swap-out'. |
-This error message means that the Plugin didn't find the Virtual Machine.
-Check the Virtual Machine name in the macro **HOSTVMNAME**, it's must fit the name defined in your VMWare infrastructure.
+
+
+
+| Option | Description |
+|:--------------------------|:---------------------------------------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --disconnect-status | Status if VM disconnected (default: 'unknown'). |
+| --nopoweredon-skip | Skip check if VM is not poweredOn. |
+| --display-description | Display the description of the virtual machine. |
+| --thinprovisioning-status | Thin provisioning status (default: none). Example: 'active,CRITICAL' or 'notactive,WARNING' |
+
+
+
+
+| Option | Description |
+|:----------------------------|:--------------------------------------------------------------|
+| --vm-hostname | Hostname of the VM to check. If not set, we check all VMs. |
+| --filter | VM hostname is a regexp. |
+| --filter-description | Filter also virtual machines description (can be a regexp). |
+| --filter-os | Filter also virtual machines OS name (can be a regexp). |
+| --scope-datacenter | Search in the following datacenter(s) (can be a regexp). |
+| --scope-cluster | Search in the following cluster(s) (can be a regexp). |
+| --scope-host | Search in the following host(s) (can be a regexp). |
+| --disconnect-status | Status if VM disconnected (default: 'unknown'). |
+| --nopoweredon-skip | Skip check if VM is not poweredOn. |
+| --empty-continue | Ask to the connector that an empty response is ok. |
+| --display-description | Display the description of the virtual machine. |
+| --tools-notinstalled-status | Status if vmtools is not installed (default: critical). |
+| --tools-notrunning-status | Status if vmtools is not running (default: critical). |
+| --tools-notup2date-status | Status if vmtools is not up to date (default: warning). |
+
+
+
+
+All available options for a given mode can be displayed by adding the
+`--help` parameter to the command:
+
+```bash
+/usr/lib/centreon/plugins/centreon_vmware_connector_client.pl \
+ --plugin=apps::vmware::connector::plugin \
+ --mode=swap-vm \
+ --help
+```