{"id":157,"date":"2010-04-21T13:04:00","date_gmt":"2010-04-21T13:04:00","guid":{"rendered":"http:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/04\/21\/20100421zabbix-le-graal-des-feignants\/"},"modified":"2018-01-23T15:15:26","modified_gmt":"2018-01-23T14:15:26","slug":"20100421zabbix-le-graal-des-feignants","status":"publish","type":"post","link":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/04\/21\/20100421zabbix-le-graal-des-feignants\/","title":{"rendered":"Zabbix : le graal des feignants"},"content":{"rendered":"<p>Vous savez ce que c&rsquo;est hein&#8230; on installe un serveur&#8230; puis un autre.. puis un troisi\u00e8me chez un pote&#8230; Et tr\u00e8s vite se retrouve administrateur de plusieurs machines (famille et amis). Ce qui prenait quelques minutes par jour commence \u00e0 vous prendre de plus en plus de temps. Car oui, en tant \u00ab\u00a0qu&rsquo;admin\u00a0\u00bb responsable, vous vous inqui\u00e9tez de l&rsquo;\u00e9tat de vos b\u00e9b\u00e9s. Les Raids sont ils toujours OK\u00a0? Pas de disques HS\u00a0? Les syst\u00e8mes de fichiers ont ils encore de l&rsquo;espace\u00a0? Pas de messages d&rsquo;erreurs bizarres dans les logs\u00a0? Pas d&rsquo;alertes \u00ab\u00a0Smart\u00a0\u00bb ou autre\u00a0? Bref, les quatre ou cinq commandes que vous lanciez r\u00e9guli\u00e8rement sont \u00e0 multiplier par le nombre de machines, et il faut \u00eatre franc, on a beaucoup mieux \u00e0 faire de ces journ\u00e9es.<\/p>\n<p>La solution, vous la connaissez d\u00e9j\u00e0 bien sur. Utiliser un logiciel de supervision. Le plus connu est Nagios. Sauf que tout ce qu&rsquo;on vous \u00e0 dit sur Nagios doit \u00eatre vrai\u00a0: Une usine \u00e0 gaz, qui ne se configure qu&rsquo;en \u00e9ditant \u00e0 la main des fichiers de config, et qui n\u00e9cessite un temps d&rsquo;apprentissage certain. Sans parler de son auteur qui s&rsquo;est mis toute la communaut\u00e9 \u00e0 dos (car son produit est de plus en plus ferm\u00e9), ce qui \u00e0 g\u00e9n\u00e9r\u00e9 <a href=\"http:\/\/www.monitoring-fr.org\/2009\/05\/icinga-fork-nagios\/\">des forks<\/a> etc&#8230;<\/p>\n<p>Alors quoi\u00a0? Et bien la solution s&rsquo;appelle <a href=\"http:\/\/www.zabbix.com\/\">ZABBIX<\/a>. Cette petite merveille se param\u00e8tre enti\u00e8rement via une interface web, et une fois que l&rsquo;on a bien compris le fonctionnement, on fait rapidement tout ce que l&rsquo;on veut avec. Une merveille je vous dit.<\/p>\n<h3>Comment \u00e7a fonctionne\u00a0?<\/h3>\n<p>Le principe de base est le suivant. Zabbix enregistre r\u00e9guli\u00e8rement des valeurs (nombres ou textes), et stocke tout (les valeurs elles m\u00eames ou les diff\u00e9rences par rapport \u00e0 la valeur pr\u00e9c\u00e9dente) dans une base de donn\u00e9e (oracle, mysql, postgres&#8230;) Un grand nombre de donn\u00e9es \u00e0 surveiller sont param\u00e9tr\u00e9es de base (occupation cpu, nombre de processus, ram disponible, espace libre sur les fs etc). Mais libre \u00e0 vous d&rsquo;ajouter tout ce que vous voulez. Toutes ces valeurs sont donc enregistr\u00e9s au fur et \u00e0 mesure (dur\u00e9e de l&rsquo;historique param\u00e9trable \u00e9videment) ce qui permet de tracer tous les graphiques que vous voulez\u00a0:<\/p>\n<p><a title=\"zabbix_Graphiques\" href=\"https:\/\/hoper.dnsalias.net\/tdc\/public\/Zabbix_screen.png\"><img decoding=\"async\" class=\"aligncenter\" title=\"zabbix_Graphiques, avr. 2010\" src=\"https:\/\/hoper.dnsalias.net\/tdc\/public\/.Zabbix_screen_m.jpg\" alt=\"zabbix_Graphiques\" \/><\/a><\/p>\n<h3>Quel int\u00e9r\u00eat\u00a0?<\/h3>\n<p>M\u00eame si en tant que simple particulier on ne vas pas faire du capacity planning, stocker toutes ces informations permet par exemple de savoir quand un fichier syst\u00e8me \u00e0 \u00e9t\u00e9 modifi\u00e9 pr\u00e9cis\u00e9ment. M\u00eame si cette information doit aussi \u00eatre disponible dans la base de votre logiciel de backup incr\u00e9mental (<a href=\"http:\/\/www.bacula.org\/fr\/\">bacula<\/a> chez moi), \u00e7a reste Int\u00e9ressant quand m\u00eame. Bien sur il est aussi possible de voir graphiquement quelles sont les plages horaires durant laquelle le r\u00e9seau est le plus utilis\u00e9, ou \u00e0 quelle heure un \u00e9v\u00e9nement quelconque \u00e0 eu lieu etc.<\/p>\n<h3>C&rsquo;est tout !?<\/h3>\n<p>Non bien sur. Le but d&rsquo;un logiciel de supervision c&rsquo;est surtout de vous avertir quand quelque chose ne va pas. Donc une fois que vous avez param\u00e9tr\u00e9 tout ce que vous voulez que zabbix surveille et enregistre, vous allez pouvoir param\u00e9trer des \u00ab\u00a0triggers\u00a0\u00bb. Un trigger c&rsquo;est juste une condition qui se v\u00e9rifie ou non. Par exemple\u00a0: \u00ab\u00a0la derni\u00e8re valeur enregistr\u00e9e pour le param\u00e8tre %_libre_\/home est inf\u00e9rieur \u00e0 5\u00a0\u00bb. Si l&rsquo;espace libre dans \/home est inf\u00e9rieur \u00e0 5%, alors ce trigger est actif. Il ne reste alors plus qu&rsquo;a d\u00e9finir des actions. Les conditions de d\u00e9clenchement d&rsquo;une action peuvent \u00eatre assez compl\u00e8tes, genre si le trigger A est actif, et que le trigger B l&rsquo;est aussi, ou seulement le trigger C, alors on fait ceci. Et \u00ab\u00a0ceci\u00a0\u00bb c&rsquo;est bien \u00e9videment vous avertir qu&rsquo;il y a un soucis. Envoi de mails, lancement d&rsquo;un script, ou m\u00eame envoi d&rsquo;un sms si vous avez un modem connect\u00e9 sur la machine&#8230; On peut imaginer \u00e0 peu pr\u00e8s tous les cas de figure.<\/p>\n<p><a title=\"Zabbix_action\" href=\"https:\/\/hoper.dnsalias.net\/tdc\/public\/Zabbix_Action.png\"><img decoding=\"async\" class=\"aligncenter\" title=\"Zabbix_action, avr. 2010\" src=\"https:\/\/hoper.dnsalias.net\/tdc\/public\/.Zabbix_Action_m.jpg\" alt=\"Zabbix_action\" \/><\/a><\/p>\n<h3>C&rsquo;est compliqu\u00e9 \u00e0 configurer\u00a0?<\/h3>\n<p>Bof. Il faut \u00e9videment pr\u00e9voir quelques heures pour lire un peu la doc et se faire la main avec le site web (qui sert \u00e0 la fois \u00e0 l&rsquo;administration et au reporting). Mais quelqu&rsquo;un qui maitrise correctement le shell n&rsquo;aura aucun soucis pour lui faire faire n&rsquo;importe quoi, y compris des trucs pas du tout pr\u00e9vu \u00e0 la base. J&rsquo;ai par exemple ajout\u00e9 cette ligne toute simple dans le fichier de config\u00a0:<\/p>\n<pre>UserParameter=custom.who,who | grep -v hoper | wc -l\r\n<\/pre>\n<p>Vous avez devin\u00e9\u00a0? custom.who est le nom du param\u00e8tre dans lequel seront stock\u00e9s les valeurs. Tout ce qui est apr\u00e8s la virgule sera ex\u00e9cut\u00e9. Et oui, il s&rsquo;agit tout simplement de compter le nombre de personne connect\u00e9s avec un login autre que hoper. Simple non\u00a0? \ud83d\ude42 Des trucs sympa comme \u00e7a, j&rsquo;en ai d\u00e9finit tout un tas&#8230;<\/p>\n<h3>Et au final\u00a0?<\/h3>\n<p>Bien\u00a0! Je ne perd plus mon temps \u00e0 me connecter un peu partout pour v\u00e9rifier que tout fonctionne. A la moindre alerte potentielle, je re\u00e7ois un message sur mon t\u00e9l\u00e9phone. Ahh&#8230; si tout pouvais \u00eatre aussi simple&#8230;<\/p>\n<p>EDIT\u00a0: Le produit \u00e9volue constamment, et un nouveau billet sur le sujet est disponible <a href=\"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2011\/04\/18\/20110307zabbix-1-8\/\">ici<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous savez ce que c&rsquo;est hein&#8230; on installe un serveur&#8230; puis un autre.. puis un troisi\u00e8me chez un pote&#8230; Et tr\u00e8s vite se retrouve administrateur de plusieurs machines (famille et amis). Ce qui prenait quelques minutes par jour commence \u00e0 vous prendre de plus en plus de temps. Car oui, en tant \u00ab\u00a0qu&rsquo;admin\u00a0\u00bb responsable, vous [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-157","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\/157","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=157"}],"version-history":[{"count":2,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"predecessor-version":[{"id":1123,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/157\/revisions\/1123"}],"wp:attachment":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}