diff --git a/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/cloud-ovh-restapi.md b/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/cloud-ovh-restapi.md index cf0e843d5d2f..cb44db9331c5 100644 --- a/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/cloud-ovh-restapi.md +++ b/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/cloud-ovh-restapi.md @@ -2,30 +2,338 @@ id: cloud-ovh-restapi title: OVH --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -## Prerequisites +## Contenu du pack -### Centreon Plugin +### Modèles -Install this plugin on each needed poller: +Le connecteur de supervision **OVH** apporte un modèle d'hôte : -``` shell +* **Cloud-Ovh-Restapi-custom** + +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 | +|:------------|:-------------------------------------|:----------------------------------------------------------| +| Quota-Usage | Cloud-Ovh-Quota-Usage-Restapi-custom | Contrôle permettant de vérifier l'espace de stockage | +| Sms | Cloud-Ovh-Sms-Restapi-custom | Contrôle permettant de vérifier le nombre de SMS restants | + +> Les services listés ci-dessus sont créés automatiquement lorsque le modèle d'hôte **Cloud-Ovh-Restapi-custom** est utilisé. + + + + +### Métriques & statuts collectés + +Voici le tableau des services pour ce connecteur, détaillant les métriques rattachées à chaque service. + + + + +| Métrique | Unité | +|:----------------|:------| +| *service*#usage | 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é | +|:------------|:------| +| *sms*#left | sms | + +> Pour obtenir ce nouveau format de métrique, incluez la valeur **--use-new-perfdata** dans la macro de service **EXTRAOPTIONS**. + + + + +## Prérequis + +Des identifiants valides sont requis pour accéder à l'API OVH, avec les clés appropriées et les autorisations adaptées à l'environnement ciblé. + +## 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 : + + + + +```bash +dnf install centreon-pack-cloud-ovh-restapi +``` + + + + +```bash +dnf install centreon-pack-cloud-ovh-restapi +``` + + + + +```bash +apt install centreon-pack-cloud-ovh-restapi +``` + + + + +```bash +yum install centreon-pack-cloud-ovh-restapi +``` + + + + +2. Quel que soit le type de la licence (*online* ou *offline*), installez le connecteur **OVH** +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. + +> Plus d'informations dans la section [Installer le plugin](/docs/monitoring/pluginpacks/#installer-le-plugin). + +Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation : + + + + +```bash +dnf install centreon-plugin-Cloud-Ovh-Restapi +``` + + + + +```bash +dnf install centreon-plugin-Cloud-Ovh-Restapi +``` + + + + +```bash +apt install centreon-plugin-cloud-ovh-restapi +``` + + + + +```bash yum install centreon-plugin-Cloud-Ovh-Restapi ``` -## Centreon Configuration + + + +## Utiliser le connecteur de supervision + +### Utiliser un modèle d'hôte issu du connecteur + +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 **Cloud-Ovh-Restapi-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 | +|:---------------------|:-----------------------------------------------------------------------------------------------------|:------------------|:-----------:| +| OVHAPPLICATIONKEY | OVH API applicationKey | | X | +| OVHAPPLICATIONSECRET | OVH API applicationSecret | | X | +| OVHCONSUMERKEY | OVH API consumerKey | | X | +| OVHTYPE | Can be: OVH\_API\_EU or OVH\_API\_CA (default: OVH\_API\_EU) | OVH\_API\_EU | | +| OVHEXTRAOPTIONS | Any extra option you may want to add to every command (a --verbose flag for example). 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. -### Create a host using the appropriate template + + -Go to *Configuration \> Hosts* and click *Add*. Then, fill the form as shown by -the following table: +| Macro | Description | Valeur par défaut | Obligatoire | +|:--------------|:---------------------------------------------------------------------------------------------------|:------------------|:-----------:| +| FILTERSERVICE | Filter service name (can be a regexp) | | | +| WARNINGUSAGE | Warning threshold | | | +| CRITICALUSAGE | Critical threshold | | | +| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | | + + + + +| Macro | Description | Valeur par défaut | Obligatoire | +|:--------------|:---------------------------------------------------------------------------------------------------|:------------------|:-----------:| +| FILTERSERVICE | Filter service name (can be a regexp) | | | +| WARNINGLEFT | Warning threshold | | | +| CRITICALLEFT | Critical threshold | | | +| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | | + + + + +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_ovh_restapi.pl \ + --plugin=cloud::ovh::restapi::plugin \ + --mode=sms \ + --ovh-type='OVH_API_EU' \ + --ovh-application-key='xxxxxxx' \ + --ovh-consumer-key='xxxxxxx' \ + --ovh-application-secret='xxxxxxx' \ + --filter-service='' \ + --warning-left='' \ + --critical-left='' \ + --verbose +``` + +La commande devrait retourner un message de sortie similaire à : + +```bash +OK: All sms services are ok | '*sms*#left'=sms;;;0; +``` -| Field | Value | -| :----------------------------------- | :------------------------- | -| Host name | *Name of the host* | -| Alias | *Host description* | -| IP | *Host IP Address* | -| Monitored from | *Monitoring Poller to use* | -| Host Multiple Templates | Cloud-Ovh-Restapi | +### Diagnostic des erreurs communes -Click on the *Save* button. +Rendez-vous sur la [documentation dédiée](../getting-started/how-to-guides/troubleshooting-plugins.md#http-and-api-checks) +des plugins basés sur HTTP/API. + +### 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_ovh_restapi.pl \ + --plugin=cloud::ovh::restapi::plugin \ + --list-mode +``` + +Le plugin apporte les modes suivants : + +| Mode | Modèle de service associé | +|:-------------------------------------------------------------------------------------------------------------------------|:-------------------------------------| +| quota-usage [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/cloud/ovh/restapi/mode/quotausage.pm)] | Cloud-Ovh-Quota-Usage-Restapi-custom | +| sms [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/cloud/ovh/restapi/mode/sms.pm)] | Cloud-Ovh-Sms-Restapi-custom | + +### 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). Example: 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. Example: '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'. | +| --ovh-type | Can be: OVH\_API\_EU or OVH\_API\_CA (default: OVH\_API\_EU). | +| --ovh-application-key | OVH API applicationKey | +| --ovh-application-secret | OVH API applicationSecret | +| --ovh-consumer-key | OVH API consumerKey | +| --timeout | Set HTTP timeout | +| --http-peer-addr | Set the address you want to connect to. Useful if hostname is only a vhost, to avoid IP resolution. | +| --proxyurl | Proxy URL. Example: http://my.proxy:3128 | +| --proxypac | Proxy pac file (can be a URL or a local file). | +| --insecure | Accept insecure SSL connections. | +| --http-backend | Perl library to use for HTTP transactions. Possible values are: lwp (default) and curl. | +| --ssl-opt | Set SSL Options (--ssl-opt="SSL\_version =\> TLSv1" --ssl-opt="SSL\_verify\_mode =\> SSL\_VERIFY\_NONE"). | +| --curl-opt | Set CURL Options (--curl-opt="CURLOPT\_SSL\_VERIFYPEER =\> 0" --curl-opt="CURLOPT\_SSLVERSION =\> CURL\_SSLVERSION\_TLSv1\_1" ). | + +#### Options des modes + +Les options disponibles pour chaque modèle de services sont listées ci-dessous : + + + + +| Option | Description | +|:-----------------|:------------------------------------------------| +| --filter-service | Filter service name (can be a regexp). | +| --warning-* | Warning threshold. Can be: 'usage'. | +| --critical-* | Critical threshold. Can be: 'usage'. | +| --units | Units of thresholds (default: '%') ('%', 'B'). | +| --free | Thresholds are on free space left. | + + + + +| Option | Description | +|:-----------------|:-----------------------------------------| +| --filter-service | Filter service name (can be a regexp). | +| --warning-* | Warning threshold. Can be: 'left'. | +| --critical-* | Critical threshold. Can be: 'left'. | + + + + +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_ovh_restapi.pl \ + --plugin=cloud::ovh::restapi::plugin \ + --mode=sms \ + --help +``` diff --git a/pp/integrations/plugin-packs/procedures/cloud-ovh-restapi.md b/pp/integrations/plugin-packs/procedures/cloud-ovh-restapi.md index cf0e843d5d2f..02747cfea586 100644 --- a/pp/integrations/plugin-packs/procedures/cloud-ovh-restapi.md +++ b/pp/integrations/plugin-packs/procedures/cloud-ovh-restapi.md @@ -2,30 +2,337 @@ id: cloud-ovh-restapi title: OVH --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Pack assetsf + +### Templates + +The Monitoring Connector **OVH** brings a host template: + +* **Cloud-Ovh-Restapi-custom** + +The connector brings the following service templates (sorted by the host template they are attached to): + + + + +| Service Alias | Service Template | Service Description | +|:--------------|:-------------------------------------|:------------------------| +| Quota-Usage | Cloud-Ovh-Quota-Usage-Restapi-custom | Check web hosting space | +| Sms | Cloud-Ovh-Sms-Restapi-custom | Check SMS left | + +> The services listed above are created automatically when the **Cloud-Ovh-Restapi-custom** host template is used. + + + + +### Collected metrics & status + +Here is the list of services for this connector, detailing all metrics linked to each service. + + + + +| Metric name | Unit | +|:----------------|:------| +| *service*#usage | N/A | + +> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro. + + + + +| Metric name | Unit | +|:------------|:------| +| *sms*#left | sms | + +> To obtain this new metric format, include **--use-new-perfdata** in the **EXTRAOPTIONS** service macro. + + + ## Prerequisites -### Centreon Plugin +Valid credentials are required to access the OVH API, including the appropriate keys and permissions tailored to the targeted environment. + +## 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 Connector 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: + + + + +```bash +dnf install centreon-pack-cloud-ovh-restapi +``` + + + + +```bash +dnf install centreon-pack-cloud-ovh-restapi +``` + + + + +```bash +apt install centreon-pack-cloud-ovh-restapi +``` + + + + +```bash +yum install centreon-pack-cloud-ovh-restapi +``` + + + + +2. Whatever the license type (*online* or *offline*), install the **OVH** connector through +the **Configuration > Monitoring Connector Manager** menu. + +### Plugin + +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. + +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 + +> More information in the [Installing the plugin](/docs/monitoring/pluginpacks/#installing-the-plugin) section. + +Use the commands below according to your operating system's package manager: + + + + +```bash +dnf install centreon-plugin-Cloud-Ovh-Restapi +``` + + + -Install this plugin on each needed poller: +```bash +dnf install centreon-plugin-Cloud-Ovh-Restapi +``` + + + + +```bash +apt install centreon-plugin-cloud-ovh-restapi +``` + + + -``` shell +```bash yum install centreon-plugin-Cloud-Ovh-Restapi ``` -## Centreon Configuration + + + +## 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 in the **Name**, **Alias** & **IP Address/DNS** fields according to your resource's settings. +3. Apply the **Cloud-Ovh-Restapi-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 | +|:---------------------|:-----------------------------------------------------------------------------------------------------|:------------------|:-----------:| +| OVHAPPLICATIONKEY | OVH API applicationKey | | X | +| OVHAPPLICATIONSECRET | OVH API applicationSecret | | X | +| OVHCONSUMERKEY | OVH API consumerKey | | X | +| OVHTYPE | Can be: OVH\_API\_EU or OVH\_API\_CA (default: OVH\_API\_EU) | OVH\_API\_EU | | +| OVHEXTRAOPTIONS | Any extra option you may want to add to every command (a --verbose flag for example). 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 | +|:--------------|:---------------------------------------------------------------------------------------------------|:------------------|:-----------:| +| FILTERSERVICE | Filter service name (can be a regexp) | | | +| WARNINGUSAGE | Warning threshold | | | +| CRITICALUSAGE | Critical threshold | | | +| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | | + + + + +| Macro | Description | Default value | Mandatory | +|:--------------|:---------------------------------------------------------------------------------------------------|:------------------|:-----------:| +| FILTERSERVICE | Filter service name (can be a regexp) | | | +| WARNINGLEFT | Warning threshold | | | +| CRITICALLEFT | Critical threshold | | | +| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | | + + + + +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_ovh_restapi.pl \ + --plugin=cloud::ovh::restapi::plugin \ + --mode=sms \ + --ovh-type='OVH_API_EU' \ + --ovh-application-key='xxxxxxx' \ + --ovh-consumer-key='xxxxxxx' \ + --ovh-application-secret='xxxxxxx' \ + --filter-service='' \ + --warning-left='' \ + --critical-left='' \ + --verbose +``` + +The expected command output is shown below: + +```bash +OK: All sms services are ok | '*sms*#left'=sms;;;0; +``` + +### Troubleshooting + +Please find the troubleshooting documentation for the API-based plugins in +this [chapter](../getting-started/how-to-guides/troubleshooting-plugins.md#http-and-api-checks). + +### Available modes + +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. + +All available modes can be displayed by adding the `--list-mode` parameter to +the command: + +```bash +/usr/lib/centreon/plugins/centreon_ovh_restapi.pl \ + --plugin=cloud::ovh::restapi::plugin \ + --list-mode +``` + +The plugin brings the following modes: -### Create a host using the appropriate template +| Mode | Linked service template | +|:-------------------------------------------------------------------------------------------------------------------------|:-------------------------------------| +| quota-usage [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/cloud/ovh/restapi/mode/quotausage.pm)] | Cloud-Ovh-Quota-Usage-Restapi-custom | +| sms [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/cloud/ovh/restapi/mode/sms.pm)] | Cloud-Ovh-Sms-Restapi-custom | -Go to *Configuration \> Hosts* and click *Add*. Then, fill the form as shown by -the following table: +### Available options -| Field | Value | -| :----------------------------------- | :------------------------- | -| Host name | *Name of the host* | -| Alias | *Host description* | -| IP | *Host IP Address* | -| Monitored from | *Monitoring Poller to use* | -| Host Multiple Templates | Cloud-Ovh-Restapi | +#### Generic options -Click on the *Save* button. +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 | 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). Example: 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. Example: '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'. | +| --ovh-type | Can be: OVH\_API\_EU or OVH\_API\_CA (default: OVH\_API\_EU). | +| --ovh-application-key | OVH API applicationKey | +| --ovh-application-secret | OVH API applicationSecret | +| --ovh-consumer-key | OVH API consumerKey | +| --timeout | Set HTTP timeout | +| --http-peer-addr | Set the address you want to connect to. Useful if hostname is only a vhost, to avoid IP resolution. | +| --proxyurl | Proxy URL. Example: http://my.proxy:3128 | +| --proxypac | Proxy pac file (can be a URL or a local file). | +| --insecure | Accept insecure SSL connections. | +| --http-backend | Perl library to use for HTTP transactions. Possible values are: lwp (default) and curl. | +| --ssl-opt | Set SSL Options (--ssl-opt="SSL\_version =\> TLSv1" --ssl-opt="SSL\_verify\_mode =\> SSL\_VERIFY\_NONE"). | +| --curl-opt | Set CURL Options (--curl-opt="CURLOPT\_SSL\_VERIFYPEER =\> 0" --curl-opt="CURLOPT\_SSLVERSION =\> CURL\_SSLVERSION\_TLSv1\_1" ). | + +#### Modes options + +All available options for each service template are listed below: + + + + +| Option | Description | +|:-----------------|:------------------------------------------------| +| --filter-service | Filter service name (can be a regexp). | +| --warning-* | Warning threshold. Can be: 'usage'. | +| --critical-* | Critical threshold. Can be: 'usage'. | +| --units | Units of thresholds (default: '%') ('%', 'B'). | +| --free | Thresholds are on free space left. | + + + + +| Option | Description | +|:-----------------|:-----------------------------------------| +| --filter-service | Filter service name (can be a regexp). | +| --warning-* | Warning threshold. Can be: 'left'. | +| --critical-* | Critical threshold. Can be: 'left'. | + + + + +All available options for a given mode can be displayed by adding the +`--help` parameter to the command: + +```bash +/usr/lib/centreon/plugins/centreon_ovh_restapi.pl \ + --plugin=cloud::ovh::restapi::plugin \ + --mode=sms \ + --help +```