====== Monitoring des consos électriques ======
:!: Ça semble cassé actuellement. La conso n'est plus surveillée par munin au . À réparer… − 11/10/2018 :!:
Voir aussi
* [[:conso_electrique|Consommations électriques]]
* [[https://surveillance.faimaison.net/routeur-bordure/fresk.faimaison.net/mpower_10_10_10_8.html|graphes de consos électriques]] (public)
(graphe réel et à jour des consomations électriques en baie, par type de machin)
{{ https://surveillance.faimaison.net/routeur-bordure/fresk.faimaison.net/mpower_10_10_10_8-month.png }}
Nous monitorons la consommation électrique des appareils en baie à l'aide d'une multiprise (PDU) **Ubiquiti mFi mPower pro**.
{{ :adminsys:reseau:ubnt-mfi-mpower-pro-6-enchufes.jpg?400|}}
LE PDU 6 prises est branché sur l'arrivée Cogent (//domestic outlet//), une multiprise est branchée sur chaque prise du PDU.
//nb: Le PDU supporte 16A en tout, et chaque prise peut délivrer 16A (nb: contrat électrique cogent à 6A), les multiprises du commerce supportent toutes 16A//
* 1. routeurs
* multi 2/3((//multi 2/3// par exemple signifie une multiprise de 3 ports, dont deux sont occupés)) (fresk, camber)
* 2. switches
* multi 2/3 (sw1 : procurve (adhérents) tantad, switch cisco (cœur))
* 3. machines internes
* multi 3/6 (mutine, dramm-hud, orson-ale)
* 4. serveurs rackables adhérents
* multi: 2/6
* 5. mini-serveurs (rpi/nuc/...)
* multi 3/8
* 6. laptops & mini-itx
* multi: 3/8
===== À propose du mPower =====
Cet appareil est pensé pour être utilisé avec un contrôleur domotique de la game mFi. Aussi ses fonctions « standalone » sont un peu pauvres. Néanmoins, c'est du GNU/Linux assez standard, avec un shell, et les infos importantes sont exposées dans ''/proc/power'' et/ou via une API HTTP. On peut donc en tirer quelque-chose…
Il est donc accessible :
* en SSH((Il n'est pas possible de se connecter en SSH depuis un client récent, typiquement, ça passe depuis jessie, pas depuis stretch (ciphers incompatibles). Il vous reste telnet pour pleurer))
* en HTTP (interface web et API JSON)
* en telnet
===== Préparation du mPower =====
L'IP par défaut est //192.168.1.20/24//
==== Mise à jour du firmware ====
À ce jour, la dernière version date de 2015 (vieux), c'est la 2.1.11.
Pour l'installer, attraper un firmware [[https://www.ubnt.com/download/mfi/mpower/mpower-pro-eu|chez le constructeur]] puis rendre sur http://192.168.1.20/system.cgi et l'uploader dans le formulaire ad-hoc. Ça prend quelques minutes. Ça n'écrase pas la conf.
==== Édition de la configuration ====
**NB: rebooter le mpower n'occasionne pas de coupure sur ses prises**
Se fait en SSH ou telnet((les options de conf dans l'interface web sont très très limitées)).
Toutes les opérations se font dans le fichier /tmp/system.cfg si les clefs de configuration mentionnées ne sont pas présentes, il faut les ajouter. Une fois qu'on a édité la conf (vi est le seul éditeur dispo), il faut
- sauvegarder cette conf de manière persistente : ''save''
- l'appliquer : ''reboot'' (et oui !)
Quelques clefs de configuration intéressantes:
=== Adressage statique ===
dhcpc.2.status=disabled
…
netconf.2.ip=10.10.10.8
netconf.2.netmask=255.255.255.0
=== Compte utilisateur et mot de passe ===
users.1.name=faimaison
users.1.password=AREMPLACER
users.1.status=enabled
La ligne ''users.1.password=AREMPLACER'' contient le mot de passe de l'utilisateur hashé en DES (oui oui).
On va donc générer un nouveau mot de passe pour cet utilisateur (depuis une machine externe), par exemple avec la commande mkpasswd:
$ mkpasswd --method=des
puis copier/coller le résultat de la commande à la suite de ''users.1.password=''.
=== Créer un utilisateur non privillégié ===
Utile pour un usage "read-only" en SSH, telnet ou HTTP.
(nb: on utilise pas de ''users.2'' car l'interface web le désactive systématiquement).
users.3.password=AREMPLACER
users.3.name=readonly
users.3.gid=100
users.3.uid=100
users.3.status=enabled
=== Fuseau horaire, localisation ===
NB: pour définir les coordonnées GPS, l'interface web offre une recherche par adresse.
system.latitude=47.203103
system.longitude=-1.550391
system.timezone=GMT-1GDT
=== Serveur NTP ===
(La date est importante pour les stats de conso)
ntpclient.1.server=10.10.10.6
==== Nommer les prises ====
Il est possible de donner des noms aux ports, ça se passe dans le fichier ''/etc/persistent/cfg/config_file''. Il faut y ajouter les lignes suivantes (par ex) :
port.0.label=Routeurs (fresk, camber)
port.1.label=Switches (sw1, tantad)
port.2.label=Machines FAImaison
port.3.label=Serveurs rackables adhérent·e·s
port.4.label=Nano-ordi adhérent·e·s
port.5.label=Laptops & mini-ITX adhérent·e·s
Puis Faire ''save'' (pas besoin de rebooter).
==== Activer les mesures ====
Certaines mesures demandent l'activation de leur collecte, sur chaque prise, on règle ça une bonne fois pour toutes :
cat > /etc/persistent/rc.poststart << EOF
#!/bin/sh
for i in \$(seq 1 6) ; do echo 1 > /proc/power/enabled\${i} ; done
EOF
chmod 0755 /etc/persistent/rc.poststart
# On rend le changement persistant
cfgmtd -w -p /etc
# C'est exécuté au reboot, pour s'épargner un reboot, on lance à la main une fois :
/etc/persistent/rc.poststart
===== Exploitation du mPower =====
==== Interface graphique ====
Permet d'avoir ces infos :
{{ :transparence:screenshot-lut.im_2017-06-13_00-42-15.png?600 |}}
==== Par l'API ====
cf [[https://community.ubnt.com/t5/mFi/mPower-mFi-Switch-and-mFi-In-Wall-Outlet-HTTP-API/td-p/1076449|« doc officielle »]].
=== Récupérer la conso du mois en kwH ===
URLs pour récupérer les mesures :
- http://10.10.10.8/sensors/ toutes les prises
- http://10.10.10.8/sensors/1 uniquement la prise 1
Ensuite, on a du JSON. Parser le champ ''thismonth'' ou ''pastmonth'' pour obtenir les consos en kwH du mois courant ou passer, et à **multiplier par 0.003125** ((un sac de cacahuètes à cellui qui trouve pourquoi 0.003125, pour ma part, c'est une valeur que j'ai trouvé dans le JS de l'interface web)).
=== Calculer l'ampérage moyen ===
Si on souhaite passer d'une conso (ci-dessus) sur un mois à un ampérage moyen sur le mois (pour un mois de 30j) :
amp_moyen = conso_kwh / (tension * coefficient_puissance)/30/24.
Ce qui donne, en prenant les noms de propriétés JSON de l'API :
amp_moyen = prevmonth*0.003125 / (voltage * powerfactor)/30/24.
==== En CLI ====
Tout est dans ''/proc/power'', mais pas forcément évident de déduire de quelle valeur il s'agit pour chaque fichier, ni son unité…
==== Liens ====
* https://blog.vucica.net/2014/08/mfi-mpower-basic-use-without-cloud-and-controller.html
* http://jrnin.com.br/automacao/ArqPA/src_pythonV3/mfi/mfi2.py
* https://git.openrobots.org/projects/mpower/repository/revisions/master/entry/python/mpower.py
* https://community.ubnt.com/t5/mFi/mFi-MPower-script-for-pushing-power-statistics-to-carbon/td-p/1145426
====== A propos du PDU iPoMAN II 1202 ======
Cette machine est comme une multiprise mais elle offre des fonctionnalités supplémentaires :
* mesure de la consommation fournie pour chacune des 12 prises fournies par le PDU
* contrôle ON/OFF de chacune des 12 prises
===== Manuel utilisateur =====
Manuel d'utilisation : {{ :transparence:ipoman_ii1200.pdf |}}
===== Informations pratiques =====
mot de passe par défaut : admin
ip par défaut : 172.17.228.19
mac : 00 E0 D8 0C E4 13
administration par console, telnet, web :
* Console : port série 9600bauds
* Telnet port 23 (configurable)
* interface web : http://172.17.228.19/
Le PDU est bien sûr compatible SNMP.
L'interface Web et le SNMP sont restreignables via des politiques de sécurité basées sur l'IP du client.
Le PDU peut envoyer des emails pour avertir d'événements particuliers et/ou pour avoir un résumé quotidien des opérations (à tester).
===== Changement du mot de passe administrateur =====
Le mot de passe ne peut être changé s'il a été oublié. Lors du boot, sur la sortie Console, on voit une notion de Jumper pour mettre à zéro le mot de passe. Ce jumper n'est pas labélisé en interne dans le boitier :
{{ :transparence:signal-attachment-2019-06-09-232447.jpeg?400 |}}
Par contre on peut tricher en enlevant la carte fille :
{{ :transparence:signal-attachment-2019-06-09-233326.jpeg?400 |}}
En dessous de la carte fille on trouve une petite pile bouton qu'il suffit d'enlever quelques secondes pour mettre à zéro la mémoire du PDU.
{{ :transparence:signal-attachment-2019-06-09-233251_001.jpeg?400 |}}
Après avoir inséré à nouveau la pile puis la carte fille et redémarré le PDU le mot de passe est à nouveau "admin".
===== Notes à propos du reset sur ce PDU =====
Il est possible de faire un reset de l'OS du PDU sans pour autant couper l'alimentation des équipements branchés sur celui-ci.
Reset : simple appui court sur le bouton reset en facade.
===== Vue de l'interface d'admin Web =====
Page d'accueil : état du PDU et consommations des prises :
{{ :transparence:capture_d_ecran_du_2019-06-09_23-38-22.png?400 |}}
Page de contrôle / configuration des prises (renommage, changement de la puissance admissible, des délai d'arrêt/démarrage, de l'état ON/OFF) :
{{ :transparence:capture_d_ecran_du_2019-06-09_23-43-58.png?400 |}}
===== Vue de la console =====
Accueil :
{{ :transparence:capture_d_ecran_du_2019-06-09_23-28-40.png?400 |}}
Vue de l'état des prises et de la consommation de celles-ci :
{{ :transparence:capture_d_ecran_du_2019-06-09_23-29-03.png?400 |}}
===== Vue intérieure =====
{{ :transparence:signal-attachment.jpeg?400 |}}