Gadget Apple pour le monitoring : BigTop

Apple livre avec ses derniers developer tools (XCode 2.2) une petite application de monitoring qui semble être passée inaperçue : BigTop. Fourni avec le package optionnel "CHUD", ce petit utilitaire permet de surveiller graphiquement et avec des alertes différents paramètres de la machine locale et de machines distantes. Bien que manquant de beaucoup de choses il offre des possibilités interessantes (profiling, monitoring...).

BigTop.app est livré avec les outils de développement Apple, on le trouve dans /Developer/Applications/Performance Tools/. Au lancement, BigTop affiche une fenêtre "BigTop", avec des indicateurs généraux.

premiere fenetre Cette première fenêtre est la liste des systèmes que l'application surveille. Pour chaque système sont affichés le nom de la machine, l'IP correspondante, et une série de paramètres comme "CPU" ou "Disk". La première opération à faire est sans doute de sélectionner "Show Advanced Statistics" dans le menu "View". Cela ajoute des paramètres à ceux déjà présents. Par défaut, seule la machine locale est présente dans la liste.
Les indicateurs pour chaque machine sont plutôt laconiques : une puce de couleur verte, orange, ou rouge en fonction de l'état du paramètre considéré ("bas", "moyen", "haut"). Rien de très satisfaisant, d'autant que le sens même de ces indicateurs peut sembler obscur pour certains paramètres. C'est pour cela qu'on double-clique sur le nom de la machine sans plus attendre.

seconde fenetre Le double-clic ouvre une seconde fenêtre, nommée d'après le nom d'hôte de la machine sélectionnée, et dont le fonctionnement est plutôt intuitif : à gauche on peut choisir les paramètres à afficher, pour tous les processus, ou pour un processus donné.
À droite, le graphique représentant les données agrégées depuis le lancement de BigTop, dans la limite de la fenêtre de temps configurée (60 secondes par défaut). Pour finir, en bas de la fenêtre il est possible de régler la fréquence d'échantillonnage et la durée représentée.
Les préférences de BigTop permettent de régler une nouvelle valeur par défaut de l'échantillonnage et du tampon, elles permettent aussi de changer le dégradé de fond pour les graphiques, ou la représentation des axes et autres échelles. Néanmoins, on évitera soigneusement l'option "log" pour l'échelle des Y, elle fait invariablement planter BigTop.

Il est aussi possible de configurer BigTop pour générer des alertes en fonction de certains paramètres. Malheureusement cette fonction est très superficielle. On peut juste choisir des valeurs limites pour les niveaux moyens et haut évoqués au dessus. Ce sont ces limites qui gèrent les changement de couleurs des puces dans la fenêtre principale.

Ajouter des machines.

Un des gros intérêt de BigTop c'est sa capacité d'agréger des données de machines distantes. Seulement, on ne peut pas se contenter d'ajouter les machines via la fenêtre principale de l'application. Il faut que BigTop soit lancé sur la machine distante pour que cette dernière collecte les données et les transmette au BigTop local.
Sur les machines distantes on peut éviter de lancer BigTop dans l'interface graphique en lançant statsCollector (/usr/libexec/statsCollector). Cette application, autrement lancée par BigTop, ouvre le port TCP 47497 pour que le client BigTop puisse récupérer les données (attention à vos firewall donc).

Sécurité

Cette connexion n'est ni protégée par login et mot de passe, ni chiffrée. Une fois le serveur statsCollector lancé sur une machine, n'importe quel client BigTop peut s'y connecter. Comme le serveur tourne en root, il convient de ne pas le lancer de manière inconsidérée sur n'importe quelle machine. Attention aussi au fait que c'est un serveur en setuid root : il sera lancé en root quelque soit l'utilisateur qui le lance.
Il est donc recommandé d'utiliser BigTop en réseau local uniquement, et avec un firewall configuré avec soin pour n'autoriser les connexions qu'à partir de machines souhaitées.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.