Haute disponibilité ThingWorx > Surveillance du système haute disponibilité
Surveillance du système haute disponibilité
La configuration de ThingWorx haute disponibilité comporte de nombreux composants. Leur surveillance s'avère complexe et il est recommandé d'utiliser un outil approprié qui peut faciliter les tâches d'administration.
PTC System Monitor
PTC System Monitor (PSM) est un système de surveillance des performances des applications indépendant qui s'appuie sur Dynatrace Production Edition. PTC a adapté Dynatrace Production Edition aux besoins en matière de surveillance des produits PTC comme ThingWorx. PTC System Monitor fournit des tableaux de bords et outils utiles permettant la surveillance du système tout en continuant de respecter les exigences de performances.
Documentation relative à PTC System Monitor :
PTC System Monitor Installation and Deployment Guide – ThingWorx (en anglais, Guide d'installation et de déploiement de PTC System Monitor – ThingWorx)
Dans un déploiement par défaut de PSM, vous disposez d'une solution de surveillance pour chaque serveur ThingWorx et les serveurs de base de données. PSM peut également surveiller d'autres composants de la configuration ThingWorx en mode HA à l'aide de plug-ins supplémentaires.
Surveillance de bases de données avec PSM
PSM intègre une fonctionnalité de surveillance de Microsoft SQL Server.
Il existe également un plug-in de surveillance optionnel pour PostgreSQL. Pour obtenir le dernier plug-in, accédez au référentiel GitHub de Dynatrace (en anglais) et recherchez "postgresql". Les résultats doivent proposer des liens pour télécharger le plug-in ainsi que des instructions d'installation et de configuration. Vous avez également accès aux mesures qui sont surveillées.
Surveillance de ZooKeeper avec PSM
Le dispositif de surveillance JMX Dynatrace peut être utilisé pour rassembler des mesures à partir de ZooKeeper.
Surveillance de HAProxy avec PSM
Le dispositif de surveillance JMX Dynatrace peut être utilisé pour rassembler des mesures à partir de HAProxy.
Informations générales concernant la surveillance
PTC recommande de surveiller la mesure suivante sur chaque serveur dans la configuration de ThingWorx haute disponibilité.
Utilisation du processeur de chaque machine ou processus
Utilisation de la mémoire
Espace sur le disque dur
Ports ouverts
D'autres mesures doivent être surveillées pour chaque composant de l'environnement. Pour plus d'informations sur les mesures des composants, consultez les sections suivantes.
ZooKeeper
Les méthodes de surveillance ZooKeeper sont fournies ici :
ZooKeeper prend en charge deux méthodes de surveillance.
1. Appels du port de commande et renvoi de mots de quatre lettres.
2. JMX
Dans une configuration par défaut, ZooKeeper communique sur les ports suivants :
Port 2181 pour les connexions client
Port 2888 pour les messages de pulsation des suiveurs
Port 3888 pour la communication avec d'autres noeuds ZooKeeper lors de l'élection d'un leader
ZooKeeper utilise Log4j comme solution de journalisation. Vous trouverez plus d'informations sur cette page : https://zookeeper.apache.org/doc/r3.4.12/zookeeperAdmin.html#sc_logging (en anglais)
Pgpool-II
Par défaut, Pgpool-II communique les messages de surveillance sur le port 9000 et les messages de pulsation sur le port 9694.
Pgpool-II avec système de surveillance s'exécute sous la forme d'un processus appelé pgpool à l'emplacement du fichier /usr/sbin/pgpool. Vous pouvez vérifier le statut des processus à l'aide de la commande suivante :
ps -elf | grep pgpool
Une liste de processus doit être renvoyée, ce qui indique que Pgpool-II est en cours d'exécution.
L'ensemble des événements ou erreurs qui se produisent est consigné dans syslog.
Les messages suivants indiquent que Pgpool-II avec système de surveillance a démarré avec succès :
...
wd_init: start watchdog
pgpool-II successfully started. version x.x.x (...)
find_primary_node: primary node id is 0
...
PostgreSQL
PostgreSQL inclut un sous-système de surveillance, appelé collecteur de statistiques, qui est configuré dans le fichier postgresql.conf. Pour plus d'informations, accédez à l'adresse http://www.postgresql.org/docs/current/static/monitoring-stats.html (en anglais). Pour plus d'informations sur les options de surveillance PostgreSQL, accédez à l'adresse https://wiki.postgresql.org/wiki/Monitoring (en anglais).
Par défaut, PostgreSQL accepte les connexions de base de données sur le port 5432.
Dans un environnement Ubuntu, PostgreSQL s'exécute sur un service appelé postgresql.
PostgreSQL stocke ses journaux dans le fichier /var/log/postgresql/postgresql-10.x-main.log. Pour confirmer que le système est en cours d'exécution, le message suivant doit être consigné :
...
(...) LOG: database system is ready to accept connections
...
HAProxy
HAProxy dispose d'une page Web de statut intégrée à laquelle vous pouvez accéder en ajoutant des paramètres de configuration au fichier haproxy.cfg et en accédant à un port configuré dans un navigateur. La configuration par défaut permet la navigation vers la page de statut HAProxy sur le port 1936.
L'utilisation du port HAProxy dépend de la configuration de votre environnement, mais l'exemple de configuration de HAProxy et de ThingWorx utilise le port 8080. Dans un environnement avec SSL, il doit être configuré sur le port 8443. Lorsque vous utilisez le fichier de configuration dans la configuration par défaut, la page de statut HAProxy communique sur le port 1936.
HAProxy s'exécute sur un service appelé haproxy.
HAProxy consigne les informations du service dans /var/log/syslog. Il dispose également de ses propres journaux dans /var/log/haproxy.log. Les erreurs de HAProxy au démarrage ou lors de l'exécution y sont consignées.