Présentation des “monitors” VPlex

English sum-up :
A technical overview of the integrated monitoring system inside VPlex, the “monitors” section

Si vous administrez une plateforme VPlex, vous avez certainement eu la volonté de superviser ces équipements, d’une manière ou d’une autre. J’en ai parlé à plusieurs reprise sur ce blog, en présentant les solutions que nous avions adopté pour arriver à nos fins en matière de supervision et capacity planning. Malgré tout, et comme je suis d’une curiosité insatiable en la matière, je me suis récemment plongé dans le système des “monitors” de VPlex. Vous trouverez ici une première approche de ces outils ainsi que quelques petites “découvertes” qui ne sont pas forcément écrites dans la doc officielle ;)

VPlex utilise deux concepts complémentaires pour générer des statistiques. Les moniteurs, au sens strict, définissent la liste des indicateurs à superviser ; les “sink” (évier en Français, traduction pas très heureuse pour le coup …) sont en fait des cibles vers lesquelles les moniteurs vont envoyer les informations récoltées. Vous avez accès à 2 sinks : console et file. Le sink “console” va imprimer l’ensemble des indicateurs directement sur le terminal sur laquelle vous êtes connecté ; le sink “file”, plus intéressant à mon sens, permet de rediriger les stats vers des fichiers, soit en mode tabulaire soit, mieux, en mode csv.

De base, chaque VPlex a un certain nombre de moniteurs activés, qu’on appelle aussi les “perpetual monitors”. Ils permettent d’une part de disposer d’une base d’analyse et de diagnostic direct en cas de problème de performance ou lors d’un incident de production et d’autre part, de fournir les statistiques remontées par la console web. Ces moniteurs sont facilement identifiables car ils portent la mention “PERPETUAL” dans leur nom. De plus, ils sont impossibles à modifier ou à supprimer (tant mieux ;) ) car utilisés par le support EMC.

Pour pouvoir consulter la liste des moniteurs déclarés dans un cluster, vous pouvez utiliser la commande suivante :

A Noter, chose très curieuse (et un peu déstabilisante au départ) : selon que vous êtes connecté à la console du cluster 1 ou 2, l’affichage ne sera pas le même ! En effet, contrairement à quasiment l’ensemble des autres commandes CLI de VPlex qui agissent sur l’ensemble de votre configuration, la création des moniteurs va être liée à la control-station sur laquelle vous vous trouvez.

Cela se traduit par un affichage différent desdits moniteurs en fonction de la console. Exemple, voici l’affichage du moniteur “chu_stats_director” du directeur 2-1-B sur la console de l’engine 2 (là ou le moniteur a été créé) :

… et voici l’affichage sur la console de l’engine 1 :

Vous notez que d’un coté, Ownership et Collecting sont à “true” alors que de l’autre, ils sont à “false”. D’autre part, le nom est également différent avec un préfixe “DEFAULT_” sur la console où le moniteur n’a PAS été créé.

En gros, ce qu’il faut retenir de tout cela, c’est que lorsque vous créez des moniteurs et que vous y ajoutez des “sink”, la collection et l’output seront exécutés par la console sur laquelle vous êtes connecté au départ.

Concernant la liste des indicateurs utilisables, il existe une commande très pratique vous permettant de “faire votre marché” pour construire vos propres moniteurs, c’est “monitor stat-list”. Voici quelques exemples d’informations issues de celle-ci :

Certains indicateurs, commme com-cluster-io.avg-lat, ont une “target”. Cela veux dire que lors de la création du moniteur, vous devrez indiquer non seulement l’indicateur à superviser mais aussi sur quelle cible il porte. Pour notre exemple la cible est de type “cluster” : dans un VPlex Metro, vous disposez habituellement de deux clusters, il faut donc indiquez quel cluster doit être interrogé pour renvoyer les résultats attendus. Voici un exemple de création d’un moniteur portant sur les indicateurs com-cluster-io dont la target est “cluster-2” :

Pour les détails de la commande, je vous renvoie au CLI guide, qui explique en détail tout cela, mais vous pouvez notez malgré tout qu’un moniteur doit disposer au moins d’un nom, d’une période de polling et d’un directeur de référence (le directeur où les mesures sont faites).

Une fois le moniteur créé, il est juste défini, mais non actif. Il nous reste à définir un “sink” pour le lancer :

Normalement, si tout se passe bien, en consultant la liste des moniteur du directeur 1-1-A (celui que vous avez indiqué comme référence), vous obtenez désormais une liste de ce type :

Le moniteur “director-1-1-A_chu_stats_cluster1” est actif, modulo 1 minute. Vous devriez récupérer en retour un fichier “director-1-1-A_chu_stats_cluster1.log” dans le répertoire /var/log/VPlex/cli de la control station courante contenant les données récoltées :

Charge à vous ensuite, de récupérer ces fichiers (via SFTP) et construire vos graphs. Ca peut donner des choses comme cela :
graph

J’espère que cette petite introduction vous aura permis de dégrossir un peu le principe des moniteurs, leurs spécificités et leur exploitation. A votre disposition pour échanger à ce sujet.

Sources :
CLI Guide VPlex 5.2 (via https://support.emc.com)
Admin Guide VPlex 5.2 (via https://support.emc.com)

Laisser un commentaire

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