Supervision HTTPS Response/expected-content (Centreon)

Hello, nous allons voir dans cet article la supervision HTTPS d’une application web avec Centreon et Centreon Plugin Packs. Dans mon cas, ce sera l’interface web Oracle Manager Enterprise (OEM).

Ce qu’il vous faut :

Voir mes articles sur la supervision systèmes & réseaux :

Centreon HTTPS Monitoring

Nous allons utiliser le plugin Centreon suivant qui permet la supervision HTTPS et HTTP.

apps::protocols::http::plugin

Voici les modes disponibles :

[root@hd-centreon plugins]# perl centreon_plugins.pl --plugin=apps::protocols::http::plugin --list-mode

Plugin Description:
    Check HTTP or HTTPS webpage.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

    --pass-manager
            Use a password manager.

Modes Meta:
   multi

Modes Available:
   expected-content
   json-content
   response
   soap-content
[root@hd-centreon plugins]#

Nous allons utiliser le mode Response :

[root@pixelabs plugins]# perl centreon_plugins.pl --plugin=apps::protocols::http::plugin --mode=response --help

Et le mode Expected-Content :

[root@pixelabs plugins]# perl centreon_plugins.pl --plugin=apps::protocols::http::plugin --mode=expected-content --help

Supervision HTTPS / Response

Supervision en ligne de commande :

[root@pixelabs plugins]# ./centreon_plugins.pl --plugin=apps::protocols::http::plugin --mode=response --hostname=oracle-manager --port=7802 --method='POST' --proto=https --urlpath='/em/faces/logon/core-uifwk-console-login' --credentials --username=oracle --password=PixeLabs --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE"
OK: Response time 0.086s | 'time'=0.086s;;;0; 'size'=416B;;;0;
[root@pixelabs plugins]#

La commande permet de vérifier la page login de l’application web Oracle Entreprise Manager (OEM).

Supervision HTTPS / Expected-Content

Supervision en ligne de commande :

[root@pixelabs plugins]# perl centreon_plugins.pl --plugin=apps::protocols::http::plugin --mode=expected-content --hostname=oracle-manager --port=7802 --proto=https --method='POST' --username=sysadmin --password=PixeLabs --urlpath='/em/faces/core-uifwk-console-overview' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --expected-string='p_AFMaximized'
OK: HTTP test(s) | 'size'=24478B;;;0; 'time'=0.202s;;;0;
[root@pixelabs plugins]#

La commande permet de vérifier après l’authentification si la page web fonctionne bien en vérifiant l’existence d’un code HTML/Class CSS présent sur la page d’accueil. Sur la commande ci-dessus, il s’agit de la classe CSS “p_AFMaximized” présente sur la page web affichée après la connexion.

Vous pouvez afficher le code HTML  avec un outil de développement (extension navigateur) d’une page ou simplement à l’aide de l’outil Chrome > Clic-droit > Inspecter

Oracle Manager HTTPS monitoring

Ou encore via Centreon avec Curl. Si la commande curl ne fonctionne pas, Centreon non plus ne fonctionnera pas.

[root@pixelabs plugins]# curl https://oracle-manager:7802/em/faces/core-uifwk-console-overview --user sysadmin:PixeLabs --negotiate --insecure

Macros personnalisée

Voici les macros nécessaires pour les deux commandes de supervision HTTPS :

  • $_SERVICEPLUGIN$
  • $_SERVICEMODE$
  • $_SERVICEHOST$
  • $_SERVICEURL$
  • $_SERVICEPORT$
  • $_SERVICEPROTO$
  • $_SERVICEUSERNAME$
  • $_SERVICEPASSWORD$
  • $_SERVICESSL$
  • $_SERVICESTRING$
  • $_SERVICEOPTION$
  • $_SERVICEEXTRAOPTIONS$

Création de macro via le menu :  Configuration > Collecteurs > Ressources 

Plus d’information ici : #Macros_personnalisees

Commandes Centreon Web

Création des deux commandes de supervision HTTPS unique via le menu : Configuration > Commandes > Contrôles 

  • Nom de commande : Check-https-response-cred
  • Ligne de commande :
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$_SERVICEHOST$ --urlpath=$_SERVICEURL$ --port=$_SERVICEPORT$ --proto=$_SERVICEPROTO$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --ssl-opt=$_SERVICESSL$ $_SERVICEOPTION$

Exemple de service :

HTTPS Response Monitoring

Remarque : pensez à utiliser les modèles de service pour renseigner certains champs qui ne change pas. Ici, les champs orange sont déjà dans le modèle


  • Nom de commande : Check-https-expected-content
  • Ligne de commande :
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$_SERVICEHOST$ --urlpath=$_SERVICEURL$ --port=$_SERVICEPORT$ --proto=$_SERVICEPROTO$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --ssl-opt=$_SERVICESSL$ --expected-string=$_SERVICESTRING$ $_SERVICEEXTRAOPTIONS$

Exemple de service :

HTTPS Expected Content Monitoring

Remarque : pensez à utiliser les modèles de services pour renseigner certains champs qui ne change pas. Ici, les champs orange sont déjà dans le modèle

Résultat

Relancer votre collecteur pour prendre les modifications.

Oracle Enterprise Manager Monitoring

Amusez-vous bien 🙂

Bonne journée et à très bientôt.

Supervision Systèmes & Réseaux

Voir mes articles sur la supervision systèmes & réseaux :

 
Besoin d’aide ? des questions ?

Venez sur le forum
logo Forum Pixelabs
***********
La rédaction de cette documentation demande beaucoup de temps, de motivation, mais surtout beaucoup de café 🙂

Vous aimez pixelabs ?

Offrez moi un petit café en cliquant sur la tasse ci-dessous.
pixelans_donation
Merci !