Mise à jour du 01/10/2015 : nouvelle version pour XtremIO 4.0
En cette période estivale, il est un moment ou les bureaux se vident, les lignes chaudes refroidissent et, par moment, Murphy et sa loi nous laissent un peu tranquille. C’est un moment privilégié pour passer du temps sur des aspects que l’on néglige souvent durant les 300 jours de frénésie de production restants. Vous qui êtes, en majorité je pense, des techniciens ou ingénieurs de production, vous devez sans doute savoir de quoi je parle ;)
Ce début Août m’a permis de trouver enfin le temps de formaliser et structurer un peu les indicateurs Cacti que j’ai pu mettre en oeuvre pour superviser et suivre nos nouvelles baies XtremIO. Voici donc l’aboutissement (version 1 ;) ) de ce travail : un template Cacti complet pour la supervision XtremIO.
Pour le moment, le template ne fonctionne qu’avec des baies “mono X-brick”. Je pense qu’il est relativement facile de l’adapter à des clusters de 2 ou 4 X-Bricks, mais n’ayant pas cette configuration sous la main, j’ai préféré rester humble dans un premier temps plutôt que de compliquer les scripts et intégrer la gestion des tailles de baies. D’autre part, etant donné que j’utilise l’API REST d’XtremIO, je dois stocker le username et le password des baies que je vais superviser. Pour se faire et afin de sécuriser un minimum ces informations sensibles, j’ai utilisé une “astuce” en stockant ces infos dans les champs dédiés à snmp V3. N’oubliez pas, donc, de les renseigner au bon endroit lors de la création des hosts :
… Cela apporte deux avantages majeurs : le traitement du champ password “en base” avec des propriétés d’affichage correspondantes (pas de mot de passe en clair) et la propagation automatique de ces champs dans les champs ad-hoc des scripts de polling (vous rentrez le mot de passe une seule fois pour une baie donnée).
Cette version 1 s’occupe de gérer les indicateurs “essentiels”, c’est à dire:
– Les ratios de déduplication et compression inline
– Les niveaux d’IOps lecteur/écritures globaux (la v2 inclura sans doute des indicateurs spécifiques par taille de blocs)
– Les niveaux de CPUs des processus Xenv de l’appliance
– Les niveaux moyens de latence globaux (la v2 inclura sans doute également les latences par taille de blocs)
– L’occupation de la baie en volume (pourcentage libre restant)
Au final, on obtient donc un template “XtremIO” générant 5 graphiques différents correspondant aux 5 groupes d’indicateurs décrits plus haut:
Les sources de données sont paramétrées pour un polling toutes les 60 secondes. Si vous avez laissé votre Cacti par défaut avec un polling de 5 minutes, cela devrai marcher aussi, mais vous aurez, de-facto une granularité temporelle moins précise, forcément.
Le template est constitué de deux packages : le template proprement dit en XML pour importation directe dans Cacti et un tar.gz contenant les scripts shells, à stocker dans le répertoire <chemin_de_votre_cacti>/scripts/xtremio/
. Si vous souhaitez débugger ces scripts alors qu’ils sont utilisés, vous pouvez activer un mode debug en créant un fichier vide /tmp/debug_on
(un petit “touch” suffira). Dès que les scripts détectent la présence de ce fichier, il écrivent alors leurs paramètres de ligne de commande et leur résultat à chaque appel dans le fichier /tmp/xtremio_debug.log
: attention, dans ce cas, le mot de passe utilisé pour se connecter aux XMS est affiché en clair dans le fichier en question, à n’utiliser que temporairement et ne pas oublier de supprimer le fichier une fois terminé !
Dans la “to-do-list” de la v2, je pense intégrer, en fonction des informations et tu temps dont je pourrai disposer :
– La détection du nombre de X-Brick et la génération auto des graphiques adaptés (plus de Xenv, de-facto, par exemple)
– La supervision de la latence et des IOps par taille de bloc
Le template Cacti est à télécharger ici : http://vblog.io/downloads/xtremio_template.xml
Les scripts (archive tar.gz) sont à télécharger ici : http://vblog.io/downloads/xtremio_scripts_v1.0.tar.gz
A votre disposition pour toute question ou problème dans l’utilisation de ces outils.
Mise à jour du 01/10/2015: la version 2.0 est de sortie ! Elle prend en compte la gestion “multi-cluster” des XMS à partir de la version 4.0. La seule différence par rapport au template v1 c’est que vous pouvez indiquer dans le champ “snmp_context” de votre device le numéro de cluster que vous souhaitez interroger. Si vous ne renseignez pas cette option, pas de souci, c’est le premier qui sera utilisé. Voici les liens vers les fichiers de la v2 :
Le template “v2” : http://vblog.io/downloads/xtremio_template_v2.0.xml
Les scripts (archive tar.gz) “v2” : http://vblog.io/downloads/xtremio_scripts_v2.0.tar.gz
Comme toujours, n’hésitez pas à me contacter en cas de problème.