{"id":3924,"date":"2020-01-06T18:00:37","date_gmt":"2020-01-06T17:00:37","guid":{"rendered":"https:\/\/www.unicoda.com\/?p=3924"},"modified":"2020-01-06T10:31:45","modified_gmt":"2020-01-06T09:31:45","slug":"onduleur-nut-en-client-direct","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=3924","title":{"rendered":"Onduleur &#8211; Nut en client direct"},"content":{"rendered":"\n<p>Il y a de cela quelques semaines, j&rsquo;ai fait l&rsquo;acquisition d&rsquo;une pi\u00e8ce manquante de mon r\u00e9seau interne, \u00e0 savoir: un onduleur. Je n&rsquo;avais pas, jusqu&rsquo;\u00e0 pr\u00e9sent, consid\u00e9r\u00e9 cet \u00e9l\u00e9ment comme indispensable, mais la perspective d&rsquo;un d\u00e9placement professionnel de plus d&rsquo;une dizaine de jours m&rsquo;a pouss\u00e9 \u00e0 l&rsquo;achat. J&rsquo;esp\u00e8re ainsi prot\u00e9ger mes services auto-h\u00e9berg\u00e9s d&rsquo;une \u00e9ventuelle coupure de courant.<\/p>\n\n\n\n<p>Une coupure de courant reste un \u00e9v\u00e9nement relativement exceptionnel, du moins dans mon environnement g\u00e9ographique, puisqu&rsquo;apr\u00e8s plusieurs ann\u00e9es d&rsquo;auto-h\u00e9bergement, je n&rsquo;ai jamais eu d&rsquo;arr\u00eat de service provoqu\u00e9 par un d\u00e9faut d&rsquo;alimentation. Apr\u00e8s avoir consid\u00e9r\u00e9 ces facteurs, un onduleur a donc trouv\u00e9 sa place dans mon logement, \u00e0 proximit\u00e9 du routeur, du switch, etc&#8230; N&rsquo;ayant pas not\u00e9 d&rsquo;interruption de service durant mon d\u00e9placement, je peux en d\u00e9duire que l&rsquo;onduleur a rempli son r\u00f4le&#8230;, ou que le r\u00e9seau \u00e9lectrique est rest\u00e9 stable, comme \u00e0 son habitude.<\/p>\n\n\n\n<p>Bref, apr\u00e8s m&rsquo;\u00eatre content\u00e9 du raccordement \u00e9lectrique des p\u00e9riph\u00e9riques \u00e0 l&rsquo;onduleur, je me suis int\u00e9ress\u00e9 \u00e0 la configuration d&rsquo;un service de surveillance de l&rsquo;\u00e9tat de l&rsquo;onduleur. Le but \u00e9tant de d\u00e9tecter un \u00e9tat de batterie faible subs\u00e9quent \u00e0 une coupure de courant, et d&rsquo;\u00eatre ainsi en mesure de proc\u00e9der proprement et automatiquement \u00e0 l&rsquo;extinction des composants critiques du r\u00e9seau, serveurs et routeur en particulier.<\/p>\n\n\n\n<p>Voici donc, \u00e0 la suite, la configuration d\u00e9ploy\u00e9e sur la machine charg\u00e9e de la surveillance de l&rsquo;onduleur. Les deux \u00e9l\u00e9ments sont connect\u00e9s via le cable USB fournit avec l&rsquo;onduleur. Une derni\u00e8re chose, mon onduleur est de marque Eaton. Entrons maintenant dans le vif du sujet.<\/p>\n\n\n\n<p>Apr\u00e8s avoir connect\u00e9  l&rsquo;onduleur, un petit tour du c\u00f4t\u00e9 du contenu de <code>dmesg<\/code>, me permet de v\u00e9rifier que celui-ci est d\u00e9tect\u00e9. Je proc\u00e8de \u00e9galement \u00e0 l&rsquo;installation de nut via <code>aptitude install nut<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[238029.826593] hid-generic 0003:0463:FFFF.0001: hiddev96,hidraw0: USB HID v1.10 Device [EATON Ellipse PRO] on usb-3f980000.usb-1.5\/input0<\/pre>\n\n\n\n<p>Avant d&rsquo;aller plus loin et pour pouvoir commencer \u00e0 configurer nut, il est n\u00e9cessaire de d\u00e9terminer le driver \u00e0 utiliser pour l&rsquo;onduleur. Pour trouver cette information, il est conseill\u00e9 de s&rsquo;aider de la page \u00ab\u00a0<a rel=\"noreferrer noopener\" aria-label=\"Hardware compatibility list (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/networkupstools.org\/stable-hcl.html\" target=\"_blank\">Hardware compatibility list<\/a>\u00ab\u00a0. Pour ma part, je n&rsquo;ai pas trouv\u00e9 mon mod\u00e8le dans la liste (Eaton Ellipse Pro), mais les mod\u00e8les pr\u00e9sents les plus r\u00e9cents et les plus proches de la gamme \u00ab\u00a0Ellipse Pro\u00a0\u00bb, indiquent de choisir usbhid-ups.<\/p>\n\n\n\n<p>Munis de cette information, je peux donc passer \u00e0 l&rsquo;\u00e9dition du fichier <code>\/etc\/nut\/ups.conf<\/code>, afin de d\u00e9clarer l&rsquo;onduleur dans nut.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[nom_onduleur]\n        driver = usbhid-ups\n        port = auto\n        desc = \"EATON UPS\"<\/pre>\n\n\n\n<p>A ce stade, il est d\u00e9j\u00e0 possible d&rsquo;effectuer un premier test de fonctionnement.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo upsdrvctl start\nNetwork UPS Tools - UPS driver controller 2.7.4\nNetwork UPS Tools - Generic HID driver 0.41 (2.7.4)\nUSB communication driver 0.33\nUsing subdriver: MGE HID 1.39<\/pre>\n\n\n\n<p>Apr\u00e8s avoir v\u00e9rifi\u00e9 avec la commande ci-dessus que notre d\u00e9claration de l&rsquo;onduleur est correct, c&rsquo;est-\u00e0-dire, que nut communique bien avec l&rsquo;onduleur, je passe \u00e0 l&rsquo;\u00e9dition du fichier <code>\/etc\/nut\/upsd.conf<\/code>, afin de n&rsquo;autoriser que les connexions provenant de la machine locale.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">LISTEN 127.0.0.1<\/pre>\n\n\n\n<p>Il convient ensuite de d\u00e9finir un utilisateur qui sera ensuite autoris\u00e9 \u00e0 acc\u00e9der \u00e0 l&rsquo;\u00e9tat de l&rsquo;onduleur. Cette fois, les modifications sont apport\u00e9es au fichier <code>\/etc\/nut\/upsd.users<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[nom_utilisateur]\n     password = PASSWORD_HERE\n     upsmon master<\/pre>\n\n\n\n<p>Pour la suite, je modifie <code>\/etc\/nut\/upsmon.conf<\/code>, pour configurer la surveillance de l&rsquo;onduleur. A noter qu&rsquo;il est possible de configurer la commande d&rsquo;extinction, en modifiant la propri\u00e9t\u00e9 SHUTDOWNCMD. J&rsquo;ai de mon c\u00f4t\u00e9 configur\u00e9 la propri\u00e9t\u00e9 NOTIFYCMD, en pr\u00e9cisant le chemin vers un script relativement simple ayant pour r\u00f4le de m&rsquo;envoyer un mail pour les \u00e9v\u00e9nements ONLINE, ONBATT et LOWBATT, comme l&rsquo;indique la pr\u00e9sence de l&rsquo;instruction EXEC pour chacune des trois lignes NOTIFYFLAG.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">MONITOR nom_onduleur@localhost 1 nom_utilisateur PASSWORD_HERE master\n\nNOTIFYCMD \/path\/to\/script\/notif-ups.sh\nNOTIFYFLAG ONLINE       EXEC+SYSLOG+WALL\nNOTIFYFLAG ONBATT       EXEC+SYSLOG+WALL\nNOTIFYFLAG LOWBATT      EXEC+SYSLOG+WALL<\/pre>\n\n\n\n<p>Enfin, le dernier fichier \u00e0 modifier est <code>\/etc\/nut\/nut.conf<\/code>, pour d\u00e9terminer le mode de fonctionnement de nut. L&rsquo;utilisation se limitant \u00e0 une seule machine pour le moment, j&rsquo;utilise donc le mode client seul.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">MODE=standalone<\/pre>\n\n\n\n<p>Maintenant que l&rsquo;ensemble est configur\u00e9, il est possible de r\u00e9cup\u00e9rer les informations de l&rsquo;onduleur par appel \u00e0 la commande <code>upsc nom_onduleur@localhost<\/code>. Ayant r\u00e9ussi \u00e0 obtenir les informations d&rsquo;\u00e9tat de l&rsquo;onduleur, il reste \u00e0 effectuer un dernier test, en simulant une situation n\u00e9cessitant l&rsquo;arr\u00eat de la machine connect\u00e9e \u00e0 l&rsquo;onduleur.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo upsmon -c fsd<\/pre>\n\n\n\n<p>La demande d&rsquo;ex\u00e9cution de l&rsquo;arr\u00eat forc\u00e9 est particuli\u00e8rement int\u00e9ressante, puisqu&rsquo;elle m&rsquo;a permit de v\u00e9rifier la bonne extinction de la machine surveillant l&rsquo;onduleur. J&rsquo;ai \u00e9t\u00e9 un peu surpris, car l&rsquo;onduleur, simule \u00e9galement une coupure compl\u00e8te et un retour du courant sur toutes les prises. Quelques appareils ont donc subi un arr\u00eat un peu rude, mais cela m&rsquo;a permis de v\u00e9rifier que tout le syst\u00e8me est capable de revenir \u00e0 un fonctionnement normal automatiquement.<\/p>\n\n\n\n<p>Il faudra n\u00e9anmoins que je pr\u00e9vois un test de coupure compl\u00e8te en d\u00e9branchant l&rsquo;onduleur, afin de tester le comportement de l&rsquo;ensemble dans cette situation. Par ailleurs, il me reste \u00e0 modifier cette configuration de surveillance de l&rsquo;onduleur, afin de passer \u00e0 un mod\u00e8le client-serveur et d&rsquo;\u00eatre en mesure de partager les informations d&rsquo;\u00e9tat avec les autres composants branch\u00e9s \u00e0 l&rsquo;onduleur et que ces derniers soient en mesure de d\u00e9clencher leur arr\u00eat avant une coupure totale du courant.<\/p>\n\n\n\n<p>Source :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" aria-label=\"Monitoring a UPS with nut on Debian or Ubuntu Linux (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/blog.shadypixel.com\/monitoring-a-ups-with-nut-on-debian-or-ubuntu-linux\/\" target=\"_blank\">Monitoring a UPS with nut on Debian or Ubuntu Linux<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Onduleur et Raspberry Pi, d\u00e9tecter et agir en cas de panne de courant (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/blog.bandinelli.net\/index.php?post\/2013\/10\/10\/Onduleur-et-Raspberry-Pi%2C-d%C3%A9tecter-et-agir-en-cas-de-panne-de-courant\" target=\"_blank\">Onduleur et Raspberry Pi, d\u00e9tecter et agir en cas de panne de courant<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Configurer et surveiller un onduleur avec NUT (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/wiki.debian-fr.xyz\/Configurer_et_surveiller_un_onduleur_avec_NUT\" target=\"_blank\">Configurer et surveiller un onduleur avec NUT<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Network UPS Tools User Manual (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/networkupstools.org\/docs\/user-manual.chunked\/\" target=\"_blank\">Network UPS Tools User Manual<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"Ubuntu-fr - Network UPS Tools (NUT) (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/doc.ubuntu-fr.org\/nut\" target=\"_blank\">Ubuntu-fr &#8211; Network UPS Tools (NUT)<\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a de cela quelques semaines, j&rsquo;ai fait l&rsquo;acquisition d&rsquo;une pi\u00e8ce manquante de mon r\u00e9seau interne, \u00e0 savoir: un onduleur. Je n&rsquo;avais pas, jusqu&rsquo;\u00e0 pr\u00e9sent, consid\u00e9r\u00e9 cet \u00e9l\u00e9ment comme indispensable, mais la perspective d&rsquo;un d\u00e9placement professionnel de plus d&rsquo;une dizaine de jours m&rsquo;a pouss\u00e9 \u00e0 l&rsquo;achat. J&rsquo;esp\u00e8re ainsi prot\u00e9ger mes services auto-h\u00e9berg\u00e9s d&rsquo;une \u00e9ventuelle &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=3924\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Onduleur &#8211; Nut en client direct&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[316,31],"tags":[470,468,469],"class_list":["post-3924","post","type-post","status-publish","format-standard","hentry","category-configuration","category-installation","tag-eaton","tag-nut","tag-onduleur"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3924"}],"version-history":[{"count":7,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3924\/revisions"}],"predecessor-version":[{"id":3976,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3924\/revisions\/3976"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}