09 septembre 2021
publié par 

Le robot de surveillance propose de nombreuses possibilités de contrôles :

  • connectivité d'une machine (ping),
  • connectivité FTP, HTTP, NNTP, SNMP, SMTP,
  • connectivité aux bases de données HFSQL client/serveur, tierces en ODBC,
  • réponse d'une serveur d'application WEBDEV,
  • activité d'un serveur de télémétrie,
  • état d'un cluster HFSQL client/serveur,
  • sonde de température,
  • surveillance de l'activité d'une application ...

 

Pour la surveillance de l'activité d'une application, une solution courante est d'utiliser un fichier de paramètres type .INI :

  • l'application signale régulièrement son activité en inscrivant la date et l'heure dans un fichier .INI d'un partage réseau, ou d'un serveur FTP,
  • le contrôle du robot teste la dernière date et heure renseignée afin d'envoyer une alerte s'il n'y a pas eu d'activité signalée depuis un certain délai configuré.

L'inconvénient de cette solution est de devoir conserver un fichier de paramètre .INI accessible en partage réseau ou FTP. Une alternative existe, en s'appuyant sur la base de données du robot de surveillance. En effet, la base du robot de surveillance contient une table "applicationactivity" justement prévue pour stocker la date et l'heure de la dernière activité d'applications. Avantage majeur : la solution nécessite uniquement l'accès à la base de données du robot. La surveillance n'est donc pas limitée aux applications d'un réseau local comme lorsque l'on utilise un .INI stocké sur un partage.

 

Voici les différentes étapes nécessaires à la mise en place d'un contrôle de la surveillance d'une application reposant sur la base du robot :

  • côté application :
    • ajouter une procédure globale qui sera appelée :
      • en boucle par un automatisme de procédure pour la surveillance d'une application,
      • ou dans le code "Exécution du service" pour la surveillance d'un service Windows,
      • ou dans le code d'une procédure de l'application, ou d'une tâche, dont on veut être certain d'une exécution régulière (...)
    • dans la procédure ouvrir une connexion vers le serveur HFSQL client/serveur qui héberge la base du robot de surveillance. Elle a été configurée lors de l'installation du robot :

       

      CnxRobotSurveillance est une Connexion
      CnxRobotSurveillance..Provider = hAccèsHFClientServeur
      CnxRobotSurveillance..Utilisateur = "MonUtilisateur"
      CnxRobotSurveillance..MotDePasse = "MonMotDePasse"
      CnxRobotSurveillance..Serveur = "ServeurHFSQL:4900"
      CnxRobotSurveillance..BaseDeDonnées = "RobotSurveillance"
      CnxRobotSurveillance..Cryptage = hCryptageRC5_16

       

    • déclarer la table applicationactivity de cette base avec la fonction HDéclareExterne :

      sdApplicationActivity est une Source de Données
      HDéclareExterne("applicationactivity.fic", sdApplicationActivity, CnxRobotSurveillance)

    • pour chaque application, service, procédure à surveiller, ajouter un enregistrement avec un identifiant de votre choix, toujours actualiser avec la date et l'heure (locale) d'activité :

      SI HLitRecherchePremier(sdApplicationActivity, Application, "MON_APPLI") ALORS
      sdApplicationActivity.LastActivity = DateHeureLocaleVersUTC(DateHeureSys())
      HModifie(sdApplicationActivity)
      SINON
      sdApplicationActivity.Application = "MON_APPLI"
      sdApplicationActivity.LastActivity = DateHeureLocaleVersUTC(DateHeureSys())
      HAjoute(sdApplicationActivity)
      FIN

  • côté serveur :
    • créer un contrôle de type "Activité d'une application WINDEV",
    • dans la section "Informations sur l'activité" du volet "Paramètres spécifiques", indiquer :
      • "Base de données du robot" pour le sélecteur,
      • le nom donné à la rubrique "applicationactivity.Application" dans le champ "Identifiant de l'application".


C'est tout !


Le contrôle restera au vert du moment que le délai entre la dernière heure écrite par l'application, et l'heure du contrôle par le robot, est inférieur au "Délai d'inactivité avant alerte" du contrôle.

 


Liens utiles

 

 

Présentation du robot de surveillance

 

< Retour

1 commentaire

LESERRE Sébastien
13/09/2021 - 14:49 - Répondre
Merci pour cet article, Attention : le test du robot ne prend pas en compte le paramètre "Base de données du Robot" car une fois paramétré le test échoue sur Test de l'existence du répertoire : "Le répertoire n'existe pas" Néanmoins, lorsque l'on active le contrôle même si le test échoue, le robot prend bien en compte ce paramètre et le contrôle ne passe pas en erreur. Version Windev utilisée : 01F260100j

Publier un commentaire : 
Votre adresse email ne sera pas publiée