Microsoft IIS Server Restapi
Vue d'ensemble​
Internet Information Services (IIS, anciennement Internet Information Server) est un serveur Web extensible créé par Microsoft pour une utilisation sous Windows Server. IIS prend en charge HTTP, HTTP/2, HTTPS, FTP, FTPS, SMTP et NNTP.
Contenu du connecteur de supervision​
Elements supervisés​
- ApplicationPools
- Websites
Règles de découverte​
Rule name | Description |
---|---|
App-IIS-Restapi-ApplicationPools-Name | Discover application pools hosted by your IIS server |
App-IIS-Restapi-Websites-Name | Discover websites hosted by your IIS server |
Métriques collectées​
- ApplicationPools
- Websites
Metric name | Description |
---|---|
status | Status of the application pool. |
applicationpool.requests.persecond | Number of requests per second by application pools. Unit: requests/second |
Metric name | Description |
---|---|
status | Status of the website. |
website.traffic.in.bitspersecond | Incoming traffic going through the website. Unit: bits/second |
website.traffic.out.bitspersecond | Outgoing traffic going through the website. Unit: bits/second |
website.connections.current.count | Number of current connections by website. Unit: count |
website.connections.total.persecond | Number of total connections per second by website. Unit: requests/second |
Prérequis​
Configuration IIS​
Pour utiliser ce connecteur de supervision, vous devez activer l'API Microsoft IIS Administration. Microsoft fournit une documentation officielle pour la mise en place : https://docs.microsoft.com/en-us/iis-administration/
Installation​
- Online License
- Offline License
- Installer le Plugin sur tous les collecteurs Centreon supervisant des ressources IIS :
yum install centreon-plugin-Applications-Webservers-Iis-Restapi
- Dans l'interface Centreon, installer le connecteur de supervision Microsoft IIS Server Restapi depuis la page Configuration > Gestionnaire de connecteurs de supervision
- Installer le Plugin sur tous les collecteurs Centreon supervisant des ressources IIS :
yum install centreon-plugin-Applications-Webservers-Iis-Restapi
- Installer le RPM du connecteur de supervision sur le serveur Centreon Central:
yum install centreon-pack-applications-webservers-iis-restapi.noarch
- Dans l'interface Centreon, installer le connecteur de supervision Microsoft IIS Server Restapi depuis la page Configuration > Gestionnaire de connecteurs de supervision
Configuration​
- Depuis l'interface Web de Centreon, ajoutez un nouvel Hôte depuis la page "Configuration > Hôtes".
- Appliquez le modèle "App-Webserver-IIS-Restapi-custom" et configurez toutes les macros :
Mandatory | Nom | Description |
---|---|---|
X | IISAPIPORT | Port used. Default is 55539 |
X | IISAPIPROTO | Protocol used. Default is https |
X | IISAPIUSERNAME | Username to access to the API. |
X | IISAPIPASSWORD | Password to access to the API. |
X | IISTOKENAPI | Token to access to the API. |
IISAPIEXTRAOPTIONS | Any extra option you may want to add to the command (eg. a --verbose flag) |
Par défaut IISAPIEXTRAOPTIONS
contient les options : --http-backend=curl --curl-opt="CURLOPT_SSL_VERIFYPEER => 0"
pour utiliser curl
et pour ne pas vérifier le certificat SSL.
Il est recommandé d'utiliser le module de découverte automatique des éléments pour déployer la supervision des application pools/websites. Pour ce faire, allez dans Configuration > Services > Découverte Automatisée > Manuelle puis lancez une découverte
FAQ​
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 avec l'utilisateur centreon-engine :
/usr/lib/centreon/plugins/centreon_iis_restapi.pl \
--plugin apps::iis::restapi::plugin \
--mode websites \
--hostname='www.int.centreon.com' \
--port='55539' \
--proto='https' \
--api-username='John.Doe' \
--api-password='6fbadZEJbsLG' \
--api-token='ZHppZCWPzREgSb9SDYOegsY0_D4KJKgZ5q8QavEWBPmmi8fgt2-8Cw' \
--http-backend='curl' \
--curl-opt="CURLOPT_SSL_VERIFYPEER => 0" \
--filter-name='^www$' \
--critical-status='%{status} !~ /starting|started/' \
--verbose
Cette commande supervise le statut et l'utilisation du site www (--filter-name=^www$
) hébergé sur le serveur IIS www.int.centreon.com
(--hostname='www.int.centreon.com'
).
Un utilisateur (--api-username='John.doe'
), un mot de passe (--api-password='6fbadZEJbsLG'
) et un token API (--api-token='ZHppZCWPzREgSb9SDYOegsY0_D4KJKgZ5q8QavEWBPmmi8fgt2-8Cw'
) générés depuis l'API IIS Administration API sont utilisés pour se connecter.
Le backend curl (--http-backend='curl'
) est utilisé par la commande et le certificat SSL du serveur cible n'est pas vérifié (--curl-opt="CURLOPT_SSL_VERIFYPEER => 0"
).
Cette command déclenchera une alerte CRITIQUE si :
- le status du website est différent de starting ou started.
La commande retourne le message de sortie ci-dessous:
OK: Website 'www' traffic in: 5.41 Kb/s, traffic out: 59.74 Kb/s, current connections: 0, total connections: 8.05/s | 'www#website.traffic.in.bitspersecond'=5407.86206896552b/s;;;0; 'www#website.traffic.out.bitspersecond'=59744b/s;;;0; 'www#website.connections.current.count'=0;;;0; 'www#website.connections.total.persecond'=8.05/s;;;0;
Website 'www' traffic in: 5.41 Kb/s, traffic out: 59.74 Kb/s, current connections: 0, total connections: 8.05/s
Des seuils peuvent être positionnés à l'aide des options --warning- et --critical- sur les métriques.
Pour chaque mode, les options disponibles peuvent être consultées en ajoutant l'option --help à la commande :
/usr/lib/centreon/plugins/centreon_iis_restapi.pl \
--plugin apps::iis::restapi::plugin \
--mode websites \
--help
Vous pouvez afficher tous les modes disponibles à l'aide de la commande suivante :`
/usr/lib/centreon/plugins//centreon_iis_restapi.pl \
--plugin=apps::iis::restapi::plugin \
--list-mode
J'obtiens le message d'erreur suivant:​
UNKNOWN: Cannot load module 'Net::Curl::Easy'
​
Ce message d'erreur indique qu'une librairie Perl est manquante pour utiliser le backend curl.
Pour corriger ce problème, installer la librairie Perl Net::Curl::Easy à l'aide de la commande suivante :
yum install perl-Net-Curl
UNKNOWN: curl perform error : Couldn't connect to server
​
Lors du déploiement de mes contrôles, j'obtiens le message suivant UNKNOWN: curl perform error : Couldn't connect to server |
.
Cela signifie que Centreon n'a pas réussi à se connecter à l'API du serveur IIS.
La plupart du temps, il faut préciser le proxy à utiliser pour requêter l'API du serveur IIS en utilisant
l'option --proxyurl='http://proxy.mycompany:8080'
.