PowerWatch : surveiller la consommation électrique de ses machines

PowerWatch : surveiller la consommation électrique de ses machines

Je suis tombé sur PowerWatch d’Inpotter, projet léger, pensé pour suivre la consommation électrique d’une machine :

  • il récupère ou estime la consommation des principaux composants (CPU, GPU, RAM et disques) et indique ce qui provient d’une vraie mesure ou ce qui reste une estimation
  • on peut consulter les données en console (CLI ou TUI) et via une WebUI locale
  • il permet également surveiller certains dépassements de consommation et créer des alertes

J’ai fait un fork avec quelques ajouts, packagés en Docker, selon mes besoins :

  • WebUI accessible le réseau local (aucune auth intégrée)
  • intégration du système d’alertes en WebUI avec notifications Apprise/Discord
  • détection RAPL adaptée au fonctionnement en conteneur
  • détection et suivi de tous les disques physiques, en filtrant les couches virtuelles, RAID/LVM et pseudo-périphériques
  • mode headless qui désactive les suggestions destinées à un poste de travail classique
  • historique SQLite persistant avec vue temps réel et périodes personnalisées en heures, jours, semaines, mois ou années
  • calcul de l’énergie consommée en kWh, avec moyenne, minimum et maximum sur la période (si quelqu’un veut se coller à brancher ça sur des tarifs de fournisseur d’électricité, les PR sont les bienvenues !)
  • agrégation automatique des anciennes données
  • TUI (powerwatch-tui) et CLI (powwerwatch) sont disponibles dans le Docker

Pré-requis : un OS qui embarque ces capteurs logiciels et permet leur accès.

Testé sur Ubuntu/Debian, Garuda (Archlinux). Je suppose que ça marche sur UNRAiD, Fedora et au contraire que c’est impossible sur Windaube.
Non fonctionnel sur mes (vieux) Synology. Aucune idée non plus pour TrueNAS.

Exemple de compose :

services:
  powerwatch:
    image: ghcr.io/aerya/powerwatch:latest
    container_name: powerwatch
    hostname: powerwatch
    restart: always
    pid: host
    ports:
      - "3064:3000"
    volumes:
      - /sys:/sys:ro
      - /sys/devices/virtual/powercap/intel-rapl:/host-powercap:ro
      - /home/aerya/docker/powerwatch:/data/.local/share/powerwatch
    read_only: true
    tmpfs:
      - /tmp
    environment:
      POWERWATCH_POWERCAP_PATH: /host-powercap
    security_opt:
      - no-new-privileges:true
networks: {}

S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire