Recherche de site Web

Création d’un cluster Raspberry PI - Partie IV : Surveillance


Avoir un cluster construit à partir de Raspberry Pi n’est pas seulement amusant, mais facilite également votre travail. Comme nous l’avons vu dans notre dernier article de la série, vous pouvez utiliser le cluster pour compiler des logiciels ou lui faire collecter des données provenant de diverses sources sur Internet. Il existe de nombreuses utilisations pour une telle chose.

Cependant, après avoir compilé pendant une heure d’affilée, vous pourriez être curieux de savoir comment vos nœuds se comportent. Comment ils fonctionnent sous charge, s’ils ne sont pas sous-alimentés ou si la température du processeur n’augmente pas au-dessus des niveaux souhaités. Combien de mémoire vous reste-t-il dans chacun des nœuds pendant qu’ils effectuent des tâches. Plus vous avez de nœuds dans votre rack, plus vous aurez d’informations à parcourir. Heureusement, il existe des logiciels qui peuvent vous aider à visualiser ces informations en une seule fois de différentes manières.

Dans ce tutoriel, vous allez apprendre :

  • Comment installer l’outil de surveillance des regards
  • Comment configurer les coups d’œil
  • Comment utiliser les coups d’œil pour voir les informations du cluster
  • Comment créer une page Web locale pour afficher les coups d’œil

Glances affiche des informations pertinentes concernant chaque nœud de votre cluster Linux.

Bâtiment de la série Raspberry Pi :

  • Création d’un cluster Raspberry PI – Partie I : Acquisition et assemblage du matériel
  • Création d’un cluster Raspberry PI – Partie II : Installation du système d’exploitation
  • Création d’un cluster Raspberry PI – Partie III : Gestion simultanée des nœuds
  • Création d’un cluster Raspberry PI – Partie IV : Surveillance

Configuration logicielle requise et conventions utilisées

CatégorieExigences, conventions ou version du logiciel utilisé
SystèmeRaspbian Linux
LogicielRegards
AutreAccès privilégié à votre système Linux en tant que root ou via la commande sudo.

Glances – l’incontournable dans la surveillance des clusters

Considérez les regards comme un sommet pour les grappes. C’est plus que cela. C’est un couteau suisse pour la surveillance des clusters. Il peut afficher tout ce dont vous avez besoin dans une seule fenêtre de terminal : température du matériel, vitesse du ventilateur, processus en cours d’exécution, utilisation de la RAM et du processeur, IP du nœud et plusieurs autres joyaux intéressants et plus petits. Le logiciel est basé sur ncurses et il vous permettra également de parcourir facilement les nœuds de votre cluster, de configurer ce que la fenêtre d’information affiche et il dispose même d’un mode serveur Web pour vous permettre de générer ces informations dans une page Web.

Installation de Glances

Le logiciel est basé sur Python. Il existe plusieurs façons de l’installer. La plupart des distributions Linux l’ont déjà dans leurs dépôts, donc dans Ubuntu, vous feriez simplement un


sudo apt install glances

et toutes les dépendances du paquet seraient résolues. Si vous préférez le faire à la manière de Python, vous pouvez utiliser pip :


sudo apt install pip
pip install glances

Glances dispose d’une tonne de modules tels que des informations RAID, des informations sur le réseau WiFi, une interface Web ou l’intégration Docker. Pour être sûr de tous les obtenir, si vous utilisez pip, installez des glances avec


pip install 'glances[action,browser,cloud,cpuinfo,docker,export,folders,gpu,graph,ip,raid,snmp,web,wifi]'

Vous pouvez également utiliser un script d’installation qui installe des aperçus sur votre système, quelle que soit la distribution que vous utilisez. Il télécharge la dernière branche master à partir de GitHub et la configure sur votre système. Pour cette utilisation


curl -L https://bit.ly/glances | /bin/bash

Assurez-vous également d’installer des aperçus sur tous les nœuds du cluster.

Configuration des Glances

Après l’installation, glances crée un fichier de configuration dans /etc/glances/ appelé glances.conf. Dans ce fichier, vous pouvez affiner ce que l’interface ncurses vous montrera et comment. Par exemple, si vous souhaitez utiliser un fond blanc au lieu d’un fond noir dans l’écran d’informations système, vous pouvez modifier la ligne


curse_theme=black

À


curse_theme=white

L’interface ncurses utilise des couleurs, donc si vous voulez être visuellement contrarié par un CPU en surcharge, vous pouvez définir à quel pourcentage la barre d’utilisation du CPU passera du vert au rouge. Pour cela, modifiez la valeur de cpu_critical=90 en quelque chose entre 10 et 99. Les seuils de RAM, SWAP, Load ont tous les mêmes paramètres :


careful=50
warning=70
critical=90

Vous pouvez modifier leurs valeurs afin que leurs barres respectives changent de couleurs seulement à ce moment-là que la limite définie par la valeur soit atteinte. Décommentez les lignes d’alias Sensors dans la section [capteurs] pour obtenir des informations sur la température du processeur et de la carte mère. Pour cela, vous devrez également avoir les packages hddtemp et psutil installés sur chacun des nœuds du cluster Raspbian :


sudo apt install hddtemp python-psutil

La liste des éléments configurables est longue, mais le fichier /etc/glances/glances.conf est bien documenté et explicite et nécessiterait un article à part entière. Mais voyons ce que vous pouvez faire avec les regards.

Utilisation des coups d’œil

Il existe plusieurs façons d’utiliser les coups d’œil. Si vous souhaitez voir des informations sur un nœud de cluster particulier et que vous y êtes connecté via SSH, vous pouvez simplement appeler la commande avec


glances

Si vous souhaitez lancer des glances en mode serveur sur un nœud de cluster, vous devez ajouter l’attribut -s :


glances -s

Ensuite, sur une autre machine, vous pouvez démarrer glances en tant qu’application client simple et vous connecter au serveur glances avec lequel vous venez de commencer


glances -c 192.168.x.x

où 192.168.x.x est l’adresse IP du serveur Glances. Alternativement, vous pouvez utiliser des noms d’hôte s’ils sont définis dans votre fichier /etc/hosts :


glances -c rpi1

Vous pouvez définir vos nœuds de cluster dans le fichier de configuration. Recherchez la section Client/serveur dans glances.conf et ajoutez vos nœuds :


[serverlist]
Define the static servers list
server_1_name=192.168.1.126
server_1_alias=rpi1
server_1_port=61209
server_2_name=192.168.1.252
server_2_alias=rpi2
server_2_port=61209
server_3_name=192.168.1.150
server_3_alias=rpi3
server_3_port=61209
server_4_name=192.168.1.124
server_4_alias=rpi4
server_4_port=61209

Comme vous pouvez le voir, chaque serveur possède un numéro, un nom, un alias et un port. Le port doit rester 61209 pour tous les nœuds, tandis que l’alias doit correspondre au nom d’hôte de l’adresse IP de chaque nœud de cluster.

Lorsque vous utilisez plusieurs nœuds, pour éviter d’entrer leur mot de passe de connexion à chaque fois que vous vous connectez à un serveur glances, vous pouvez définir ce mot de passe dans plaintex dans le fichier de configuration de glances. Éditez /etc/glances/glances.conf et ajoutez vos nœuds de cluster à la section [mots de passe] :


rpi1=yourpassword
rpi2=yourpassword
rpi3=yourpassword
rpi4=yourpassword

Remplacez votre mot de passe par le mot de passe que vous avez défini dans la troisième partie de cette série et enregistrez le fichier.

Vous pouvez désormais appeler des regards depuis un ordinateur portable avec


glances --browser

et voir tous vos nœuds de cluster dans une liste ncurses consultable. Vous pouvez entrer chacun d’entre eux, voir ce que chacun fait avec ses ressources et ses processus, puis passer au suivant.

Mode serveur Web

Mais que se passe-t-il si vous souhaitez afficher tous vos nœuds de cluster en même temps ? Serait-ce plus agréable ? Et ne serait-il pas encore mieux d’afficher ces informations sur une page Web ? Glances dispose d’un mode serveur web avec lequel vous pouvez commencer :


glances -w

Une fois qu’un serveur Glances est activé en tant que serveur Web, vous pouvez utiliser n’importe quel navigateur Web pour accéder à une page Web détaillant les mêmes informations que vous pouvez afficher dans l’interface ncurses. Il suffit d’entrer l’adresse IP ou le nom d’hôte du nœud dans la barre d’URL de votre navigateur et d’utiliser 61208 comme port.

Par exemple, http://192.168.1.252:61208 afficherons, dans notre réseau local, les informations du serveur web Glances concernant le deuxième nœud du cluster. Le problème est que vous devrez utiliser des pages et des adresses différentes pour chaque nœud. Alors, pourquoi ne pas créer une seule page Web qui affiche les quatre nœuds à la fois en utilisant une simple page HTML avec IFRAMES ?

L’exécution de Glances en mode serveur Web vous permet d’afficher les informations du cluster à l’aide d’un navigateur Web.

Création d’un poste de surveillance de pages Web Glances

Installez Apache sur le premier nœud du cluster. Nous utiliserons rpi1 comme nœud qui affiche ce fichier HTML. Vous pouvez le faire avec


sudo apt install apache2

La racine du serveur web Apache est le dossier /var/www/html/. Créez un nouveau fichier ici et nommez-le index.html :


touch /var/www/html/index.html

Modifiez maintenant ce fichier :


nano /var/www/html/index.html

Ajoutez ceci à son contenu :

out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<body>");
out.println("<h2>My cluster info"</h2>");
out.println("<br>");
out.println("<center>");
out.println("<iframe src="http://rpi1:61208" height="465" width="326"></iframe>"); 
out.println("<iframe src="http://rpi2:61208" height="465" width="326"></iframe>"); 
out.println("<iframe src="http://rpi3:61208" height="465" width="326"></iframe>");
out.println("<iframe src="http://rpi4:61208" height="465" width="326"></iframe></center>");
out.println("</br>");
out.println("</body>");
out.println("</html>");

Enregistrez le fichier avec ctrl+x. Comme vous pouvez le voir, nous utilisons des noms d’hôte au lieu d’IP et le port du serveur Web Glances – 61208. Il existe quatre IFRAMES HTML, un pour chaque nœud de cluster. Modifiez les valeurs de hauteur et de largeur pour que les iframes remplissent votre écran.

Maintenant, il ne reste plus qu’une chose à faire. Ajoutez la ligne suivante à chaque fichier /etc/rc.local de vos nœuds de cluster :


glances -w --theme-white --process-short-name --hide-kernel-threads --fs-free-space --disable-irq --disable-raid --disable-folder --disable-swap

Cela indique à Glances de commencer au démarrage en tant que serveur web, d’utiliser le thème blanc, de réduire la largeur de la liste de processus qu’il affiche et de cacher quelques éléments dont un Raspberry Pi n’a pas besoin ou que vous utiliseriez rarement : informations RAID, informations IRQ, certaines informations de dossier, informations SWAP et les informations sur les threads du noyau. Ainsi, une fois que vous avez redémarré votre cluster et accédé à l’adresse du premier nœud via un navigateur Web, les IFRAMES sont en mesure d’intégrer toutes les informations pertinentes dans leurs fenêtres respectives.

Vous pouvez également décider de la façon dont les pages Web du serveur Web Glances affichent les informations en modifiant leur fichier CSS respectif situé dans /usr/lib/python3/dist-packages/glances/outputs/static/public/css/style.css. La taille de la police, le type de police, les couleurs - tout peut être personnalisé ici pour rendre la page Web d’information du cluster plus jolie.

Conclusion

Les coups d’œil sont un excellent moyen d’extraire des informations pertinentes de votre cluster. Si vous utilisez la méthode de page Web IFRAME, vous pouvez visiter la page d’informations du cluster à tout moment et voir les performances de tous les nœuds dans une seule fenêtre de navigateur. Vous pouvez également utiliser l’interface ncurses dans un écran de terminal pour afficher les mêmes informations. Glances est hautement personnalisable et très utile lorsque vous utilisez un cluster, qu’il s’agisse d’un petit cluster composé de Raspberry Pi.

Appendice

Il n’y a pas de limites. Si le cluster Raspberry PI à 4 nœuds n’est pas à votre satisfaction, vous pouvez toujours ajouter plus de nœuds à tout moment.

L’écran TFT 2.2 pourrait éventuellement ajouter une autre dimension à votre cluster Raspberry PI.

À ce stade, on peut commencer à réfléchir à la façon d’ajouter une sorte de base solide pour s’assurer que le cluster Raspberry PI à 8 nœuds ne perd pas l’équilibre.

« Es-tu là Hal ? » - 2001 : L’Odyssée de l’espace

Cluster Raspberry PI à 8 nœuds

Articles connexes: