{"id":172,"date":"2011-04-18T17:11:00","date_gmt":"2011-04-18T17:11:00","guid":{"rendered":"http:\/\/hoper.dnsalias.net\/atdc\/index.php\/2011\/04\/18\/20110307zabbix-1-8\/"},"modified":"2017-09-21T09:52:55","modified_gmt":"2017-09-21T07:52:55","slug":"20110307zabbix-1-8","status":"publish","type":"post","link":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2011\/04\/18\/20110307zabbix-1-8\/","title":{"rendered":"Zabbix 1.8 : Checks et maps"},"content":{"rendered":"<div class=\"post-content\">\n<p>Il y a quelques temps, j&rsquo;avais <a href=\"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/04\/21\/20100421zabbix-le-graal-des-feignants\/\">d\u00e9j\u00e0 expliqu\u00e9<\/a> \u00e0 quel point le logiciel de supervision Zabbix pouvait rendre service. Aujourd&rsquo;hui nous allons voir ce que la version 1.8 apporte (ou semble apporter) par rapport \u00e0 la 1.4. Bien entendu, j&rsquo;invite tout ceux qui ne connaissent pas du tout zabbix \u00e0 lire mon pr\u00e9c\u00e9dent billet avant celui ci&#8230;<\/p>\n<h3>Quelques notes pr\u00e9alables\u00a0:<\/h3>\n<p>Je ne pr\u00e9tend pas du tout \u00eatre un expert de ce logiciel. Au contraire m\u00eame, je ne suis qu&rsquo;un simple utilisateur, qui se d\u00e9patouille comme il peut avec la doc qu&rsquo;il trouve, et qui est encore loin de comprendre tout ce qu&rsquo;il pourrait faire avec. Il est donc probable que ce billet soit tr\u00e8s incomplet, merci \u00e0 tout ceux qui aurait vraiment \u00e9tudi\u00e9 le sujet de m&rsquo;apporter leurs lumi\u00e8res en commentaire \ud83d\ude42<\/p>\n<p>Je suis tr\u00e8s en retard. Nous en sommes d\u00e9j\u00e0 \u00e0 la version 1.8.4, et la version 2 semble bien avanc\u00e9e. Mais comme je suis du genre \u00e0 utiliser les paquets fournis par mes distributions, je suis rarement \u00e0 jour sur les versions :p<\/p>\n<p>La tentative de jeu de mots dans le titre de ce billet est vraiment foireuse. Pardon, je le ferai plus.<\/p>\n<h3>Ce qui ne change pas<\/h3>\n<p>En r\u00e9sum\u00e9, tout ce qui \u00e9tait pr\u00e9sent dans la 1.4 est toujours la. Les principes restent les m\u00eames\u00a0:<\/p>\n<ul>\n<li>On cr\u00e9e des mod\u00e8les (templates) contenant des \u00e9l\u00e9ments (item).<\/li>\n<li>On cr\u00e9e des machines (hotes), auxquelles on affecte des mod\u00e8les, et qu&rsquo;il est possible d&rsquo;organiser dans des groupes.<\/li>\n<li>On cr\u00e9e des d\u00e9clencheurs (trigger) qui changent d&rsquo;\u00e9tat en fonctions de certaines conditions<\/li>\n<li>On cr\u00e9e des actions (envoi de mails, lancement de scripts&#8230;) en fonction de l&rsquo;\u00e9tat de certains d\u00e9clencheurs (entre autre).<\/li>\n<li>On peut aussi cr\u00e9er des graphiques assez sophistiqu\u00e9es, bas\u00e9s sur l&rsquo;historique des valeurs d&rsquo;un ou plusieurs item.<\/li>\n<li>On peut cr\u00e9er des \u00e9crans (screen), contenant plusieurs graphiques agenc\u00e9s comme on le souhaite, pour simplifier la supervision.<\/li>\n<\/ul>\n<h3>Ce qui a \u00e9t\u00e9 ajout\u00e9<\/h3>\n<ul>\n<li>Traductions plus nombreuses<\/li>\n<li>La cr\u00e9ation de \u00ab\u00a0diapositives\u00a0\u00bb (slides)<\/li>\n<li>La cr\u00e9ation de \u00ab\u00a0cartes\u00a0\u00bb (map).<\/li>\n<li>La gestion de la qualit\u00e9 de service (calcul automatique du SLA).<\/li>\n<li>Am\u00e9liorations des modes de d\u00e9couvertes automatiques des h\u00f4tes.<\/li>\n<li>Plusieurs types de v\u00e9rifications<\/li>\n<\/ul>\n<p>Voyons ces diff\u00e9rents points plus en d\u00e9tail\u00a0:<\/p>\n<h4>Les traductions<\/h4>\n<p>Zabbix est maintenant officiellement traduit dans plus de 16 langues. En ce qui concerne le fran\u00e7ais, c&rsquo;est une vraie r\u00e9ussite. (Chose qui est assez rare en informatique pour \u00eatre soulign\u00e9e). Vraiment, je f\u00e9licite le traducteur. Et en cas d&rsquo;appel \u00e0 l&rsquo;aide aupr\u00e8s d&rsquo;une communaut\u00e9 anglophone, il suffit de deux clics pour revenir \u00e0 l&rsquo;anglais. Mais en utilisation courante, je trouve m\u00eame certains menus plus explicites en fran\u00e7ais\u00a0!<\/p>\n<h4>Les diapositives<\/h4>\n<p>Je n&rsquo;ai pas test\u00e9, mais l&rsquo;id\u00e9e est simple. Cr\u00e9er un \u00ab\u00a0d\u00e9filement d&rsquo;\u00e9crans\u00a0\u00bb. C&rsquo;est donc une nouvelle notion qui vient se placer \u00ab\u00a0au dessus\u00a0\u00bb des \u00e9crans. On cr\u00e9e des graphiques, on les utilise pour cr\u00e9er des \u00e9crans, puis on place les \u00e9crans dans un ordre pr\u00e9cis pour cr\u00e9er une pr\u00e9sentation qui d\u00e9filera automatiquement.<\/p>\n<h4>Les cartes<\/h4>\n<p>Le but est d&rsquo;avoir une repr\u00e9sentation graphique de son r\u00e9seau, avec les liens entre les \u00e9quipements (switchs, machines&#8230;). Bien sur, cette carte est dynamique est doit afficher les alertes qui remontent sur les diff\u00e9rents \u00e9quipements. Je n&rsquo;ai pas pass\u00e9 beaucoup de temps sur cette fonction qui me semble encore bien jeune (et quelque peu bugu\u00e9e&#8230;) Tout ceci s&rsquo;arrangera probablement avec la version 2 en cours de d\u00e9veloppement.<\/p>\n<h4>La QOS<\/h4>\n<p>Voila quelque chose de tr\u00e8s int\u00e9ressant&#8230; Superviser des machines, c&rsquo;est bien. Intervenir (peut \u00eatre m\u00eame automatiquement) en cas de probl\u00e8mes, c&rsquo;est super. Mais pouvoir en plus, \u00e0 la fin de l&rsquo;ann\u00e9e, montrer \u00e0 vos clients ou \u00e0 votre patron qu&rsquo;au final le service attendu \u00e0 \u00e9t\u00e9 rendu 99,99% du temps, la c&rsquo;est la cerise sur le g\u00e2teau. Et c&rsquo;est exactement \u00e0 cela que sert la nouvelle notion de \u00ab\u00a0service\u00a0\u00bb.<\/p>\n<p>Prenons un exemple tr\u00e8s simple. Vous \u00eates pay\u00e9s pour fournir un service d&rsquo;hebergement web. Le service (et donc vos objectifs) sont atteints lorsque\u00a0:<\/p>\n<ul>\n<li>Le serveur fonctionne correctement (le cpu n&rsquo;est pas d\u00e9bord\u00e9 etc)<\/li>\n<li>Le serveur web tourne normalement (apache est lanc\u00e9, et ces m\u00e9triques sont bonnes)<\/li>\n<li>Le serveur de base de donn\u00e9es fonctionne aussi (car si le SGBD ne fonctionne pas, le site web ne fonctionnera en fait plus non plus).<\/li>\n<\/ul>\n<p>Et bien il est maintenant possible, dans Zabbix, de lui indiquer cela. De le param\u00e9trer en lui expliquant que le service \u00ab\u00a0web-prod\u00a0\u00bb par exemple, n&rsquo;est rendu que si ces trois conditions sont respect\u00e9es. Mais on peut m\u00eame faire mieux. Peut etre que votre contrat avec vos clients pr\u00e9cisent que vous avez le droit de mettre le site web \u00e0 l\u2019arr\u00eat pendant 2 heures tous les mois, afin de proc\u00e9der aux mises \u00e0 jour etc. La encore, Zabbix saura en tenir compte. Il suffira de lui indiquer les plages horaires \u00e0 ne pas prendre en compte dans ces calculs. Et au final, Zabbix vous affichera donc de jolis graphiques avec les calculs de SLA correspondant. Vous serez donc en mesure de d\u00e9montrer que vos objectifs sont atteints, et que le site web \u00e0 \u00e9t\u00e9 op\u00e9rationnel pendant X % du temps sur l&rsquo;ann\u00e9e.<\/p>\n<p>A titre personnel, et juste pour rigoler, j&rsquo;ai cr\u00e9e un \u00e9l\u00e9ment qui stock le temps de ping entre mon lan et une machine chez mon FAI. J&rsquo;estime que ma qualit\u00e9 de connexion n&rsquo;est pas bonne lorsque ce temps d\u00e9passe les 60 ms. J&rsquo;ai aussi indiqu\u00e9 que j&rsquo;accepte de mon FAI un SLA de 90% (autrement dit, tant que la dur\u00e9e pendant laquelle le temps de ping est sup\u00e9rieur \u00e0 60 ms ne d\u00e9passe pas 90% du temps, tout va bien).<\/p>\n<p>Voici le graphique obtenu (ne pas tenir comptes des premiers barres):<\/p>\n<p><a title=\"SLA_Internet.png\" href=\"https:\/\/hoper.dnsalias.net\/tdc2\/public\/SLA_Internet.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"SLA_Internet.png, avr. 2011\" src=\"https:\/\/hoper.dnsalias.net\/tdc2\/public\/.SLA_Internet_m.jpg\" alt=\"SLA_Internet.png\" width=\"448\" height=\"182\" \/><\/a><\/p>\n<p>En moyenne, et sur une journ\u00e9e, j&rsquo;ai donc un ping correct plus de 95% du temps. Je peux donc objectivement dire que je suis satisfait de mon FAI \ud83d\ude42<\/p>\n<h4>Nouveaux mode de d\u00e9couvertes.<\/h4>\n<p>N&rsquo;utilisant pas du tout cette fonction, je n&rsquo;ai rien de particulier \u00e0 dire sur le sujet&#8230;<\/p>\n<h4>Nouveaux modes de v\u00e9rifications<\/h4>\n<p>La par contre&#8230;<\/p>\n<p>Le nombre de m\u00e9thodes de supervision devient tellement important qu&rsquo;il me semble important de les reprendre un par un. Voila donc ce dont Zabbix est actuellement capable de faire en la mati\u00e8re. Je rappel une derni\u00e8re fois que, dans tous les cas, le but est le m\u00eame. Obtenir une valeur (num\u00e9rique ou chaine de caract\u00e8re) et l&rsquo;associer \u00e0 un \u00e9l\u00e9ment. Notez aussi qu&rsquo;une \u00e9toile (*) en face du nom de la m\u00e9thode indique que le d\u00e9ploiement d&rsquo;un agent est n\u00e9cessaire sur la machine \u00ab\u00a0cliente\u00a0\u00bb pour profiter de ce mode de supervision.<\/p>\n<h5>Zabbix agent (passif) *<\/h5>\n<p>Le serveur se connecte r\u00e9guli\u00e8rement a l&rsquo;agent et demande la valeur de l\u2019\u00e9l\u00e9ment. En plus de toutes les fonctions implant\u00e9s par d\u00e9faut, ce mode de fonctionnement permet d&rsquo;obtenir les valeurs en lan\u00e7ant des scripts cot\u00e9 clients. (Si l\u2019ex\u00e9cution de commandes a distances sont autoris\u00e9s, voir le fichier de config).<\/p>\n<h5>Zabbix agent (actif) *<\/h5>\n<p>L&rsquo;agent se connecte p\u00e9riodiquement au serveur, et obtient une liste de valeurs \u00e0 renvoyer. Cela permet de d\u00e9porter la charge de travail du serveur de supervision sur la machine \u00e0 superviser. (Mais si la machine cliente \u00e0 un soucis, le serveur n&rsquo;en saura peut \u00eatre rien&#8230;)<\/p>\n<h5>V\u00e9rification simple<\/h5>\n<p>Simples tests r\u00e9seaux depuis le serveur (connexion ftp, http etc).<\/p>\n<h5>Zabbix Interne<\/h5>\n<p>Test sur des valeurs internes \u00e0 Zabbix, d\u00e9j\u00e0 dans la base (quantit\u00e9 d&rsquo;item etc).<\/p>\n<h5>Agent SNMP v1, v2 ou v3<\/h5>\n<p>Le serveur interroge la machine cible en utilisant le protocole SNMP.<\/p>\n<h5>V\u00e9rifications agr\u00e9g\u00e9es<\/h5>\n<p>Calcul d&rsquo;une nouvelle donn\u00e9e, \u00e0 partir de valeurs d\u00e9j\u00e0 pr\u00e9sentes dans la base<\/p>\n<h5>Items calcul\u00e9s *<\/h5>\n<p>Calcul d&rsquo;une nouvelle donn\u00e9 \u00e0 partir de donn\u00e9es r\u00e9cup\u00e9r\u00e9s \u00e0 un instant t via l&rsquo;agent.<\/p>\n<h5>V\u00e9rifications externe<\/h5>\n<p>Lancement d&rsquo;un script ou d&rsquo;un binaire cot\u00e9 serveur<\/p>\n<h5>Agent ssh ou telnet<\/h5>\n<p>Connexion ssh faite par le serveur sur la machine cliente et lancement d&rsquo;un script.<\/p>\n<h5>Zabbix trapper<\/h5>\n<p>Le serveur ne fait rien de son cot\u00e9. Il attend simplement que les donn\u00e9es lui soient envoy\u00e9es, directement par l&rsquo;applicatif \u00e0 superviser. (voir Zapcat Trapper) Cette m\u00e9thode implique donc que l&rsquo;application supervis\u00e9e soit d\u00e9velopp\u00e9e pour envoyer les infos \u00e0 Zabbix.<\/p>\n<h3>Conclusions<\/h3>\n<p>Beaucoup de bonnes choses. Zabbix \u00e9volue vite, et il \u00e9volue bien. Comme on pouvait l&rsquo;\u00e9sp\u00e9rer, la mise \u00e0 jour des agents n&rsquo;est pas n\u00e9cessaires, et un serveur en version 1.8 par exemple, pourra parfaitement interroger de agents avec une version inf\u00e9rieure.<\/p>\n<p>Si vous \u00eates un geek, que vos machines sont d\u00e9j\u00e0 parfaitement s\u00e9curis\u00e9s (sauvegardes etc), mais qu&rsquo;elles n&rsquo;\u00e9taient pas encore v\u00e9ritablement supervis\u00e9es&#8230; Vous savez ce qu&rsquo;il vous reste \u00e0 faire\u00a0: A vos claviers\u00a0!<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Il y a quelques temps, j&rsquo;avais d\u00e9j\u00e0 expliqu\u00e9 \u00e0 quel point le logiciel de supervision Zabbix pouvait rendre service. Aujourd&rsquo;hui nous allons voir ce que la version 1.8 apporte (ou semble apporter) par rapport \u00e0 la 1.4. Bien entendu, j&rsquo;invite tout ceux qui ne connaissent pas du tout zabbix \u00e0 lire mon pr\u00e9c\u00e9dent billet avant [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","category-geekitude"],"_links":{"self":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/comments?post=172"}],"version-history":[{"count":2,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":959,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/172\/revisions\/959"}],"wp:attachment":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/media?parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/categories?post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/tags?post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}