B2PWeb/Services/Monitoring/TopClient

De TartareFR
Aller à la navigation Aller à la recherche

Installation

TopClient.png

Engine

Le moteur est situé sur sql2-cogent dans le répertoire <path>/root/scripts/monitoring/topclient</path>. Il est lancé par un cron.

# crontab -l  | grep -i 'top\s*client'
# Monitoring - Top client engine
*/15 8-20 * * 1-5 /root/scripts/monitoring/topclient/engine-topclient.php 1>>/var/log/monitoring-engine-topclient.log 2>&1
Important.png
Fichiers utilisés
  • log : /var/log/monitoring-engine-topclient.log
  • lock : /var/lock/b2p/topclient.lock

En éditant le fichier <path>/root/scripts/monitoring/topclient/vars.php</path>, on peut voir le nom du fichier de lock utilisé: <path>/var/lock/b2p/topclient.lock</path>

Le fichier de log est spécifié dans le crontab : <path>/var/log/monitoring-engine-topclient.log</path>

La base de données monitoring est placé sur sql2-cogent.

DROP TABLE IF EXISTS `topclient`;

CREATE TABLE `topclient` (
  `client_id` int(11) NOT NULL,
  `client_name` varchar(50) NOT NULL,
  `cur_hour_act` int(11) DEFAULT NULL,
  `cur_day_act` int(11) DEFAULT NULL,
  `last_week_day_act` int(11) DEFAULT NULL,
  `last_check` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`client_id`),
  KEY `last_check` (`last_check`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Webservice

Le moteur est situé sur tous les WSR dans le répertoire <path>/home/b2pweb.com/services.b2pweb.com/monitoring</path>

monitoring
|-- class
|   |-- bdd.class.php
|   |-- fault.class.php
|   `-- monitoring.class.php
|-- conf
|   `-- config.conf.php
|-- include
|   `-- fonctions.php
|-- index.php
`-- wsdl
    `-- monitoring.wsdl

Client

Le client est situé sur les virtual machine monitoring ( ns1 et ns2 ) du LAN. Il est installé via un paquet RPM dans le répertoire <path>/usr/share/webservice-monitoring/client/</path>.

De plus le fichier de configuration pour Apache est <path>/etc/httpd/conf.d/webservice-monitoring-client.conf</path>

Fonctionnement

  • La partie Engine : Sur sql2-cogent, un script enrichit la base de données, moteur qui est lancé via un cron tous les quart d'heure.
  1. Requêtes mysql sur sql2-cogent
  2. Mise en base des résultats synthétisés
  • La partie serveur du topclient est installé sur tous les WSR et interroge la base monitoring
  • La partie cliente fait une requête HTTP sur le webservice http://services.b2pweb.com/monitoring des WSR.

Interface

La date de dernière mise à jour apparait au survol de la souris sur le champs ClientID.

  • Lorsque le champs ClientID est vert, les informations sont à jour.
  • Lorsque le champs ClientID est orange, les informations commence à être obsolètes ( entre 15 et 20 minutes ).
  • Lorsque le champs ClientID est rouge, les informations sont obsolètes ( supérieures à 20 minutes ).


TopClientInterface.png

F.A.Q.

Le top client ne se met plus à jour !

Important.png
Vérifier le fichier de log
La dernière ligne peut indiquer le problème
  • Si la dernière ligne du fichier de log contient:
    Previous process is still running!
  1. C'est qu'une exécution antérieure ne s'est pas bien terminée et que le fichier de lock est encore présent. Il suffit juste de supprimer ce fichier
    rm -f /var/lock/b2p/topclient.lock
  2. L'engine a planté suite à une erreur
    Fatal error: Uncaught exception 'Bdf_Db_Exception' with message 'Erreur d'execution' in /home/common/Bdf/Bdf/Db/Adapter/MySQLi.class.php:99
    Il faut augmenter les paramètres wait_timeout et interactive_wait_timeout dans le fichier <path>/etc/my.cnf</path> et relancer MySQL.