はっくはっくキッチン
Hack Hack Kitchen

Skript und Grafana-Dashboard zur Überwachung des Batteriestatus unter Linux

 2026/02/10

grafana-battery besteht aus einem Python-Skript, das Batterieinformationen aus dem Linux-sysfs (/sys/class/power_supply/<BAT>/) abruft und sie über das InfluxDB-Line-Protocol ausgibt, sowie aus einem Grafana-Dashboard. Die Daten, die durch Aufrufen des Skripts über das Telegraf-exec-Input-Plugin gesammelt werden, werden in InfluxDB gespeichert und können in Grafana visualisiert werden.

Screenshot von grafana-battery
Screenshot von grafana-battery

Voraussetzungen

  • Linux (erfordert die Verfügbarkeit von /sys/class/power_supply/)

  • Python

  • InfluxDB v2

  • Telegraf

  • Grafana

Dateien

battery-status.py

ruft Batteriedaten ab und gibt sie im InfluxDB Line Protocol aus

grafana-battery.json

Grafana-Dashboard

telegraf-battery.conf

Beispielkonfiguration für Telegraf

Installation

Konfiguration von Telegraf

  1. Platzieren des Python-Skripts

    Kopieren battery-status.py an einen Ort, an dem Telegraf es ausführen kann, und gewähren Sie Ausführungsrechte.

    cp battery-monitor/battery-status.py /path/to/
    chmod +x /path/to/battery-status.py
  1. Konfigurieren von Telegraf

    Fügen Sie Folgendes zu telegraf.conf (oder einer zusätzlichen Konfigurationsdatei) hinzu.

    [[inputs.exec]]
      commands = [ "/path/to/battery-status.py" ]
      data_format = "influx"

    Falls outputs.influxdb_v2 noch nicht konfiguriert ist, fügen Sie außerdem Folgendes hinzu. Ersetzen Sie <INFLUXDB_TOKEN>, <ORG> und <BUCKET> durch die entsprechenden Werte in Ihrer Umgebung.

    [[outputs.influxdb_v2]]
      # urls = ["http://127.0.0.1:8086"]
      token = "<INFLUXDB_TOKEN>"
      organization = "<ORG>"
      bucket = "<BUCKET>"

Grafana-Dashboard installieren

  1. Grafana → Dashboards → Import

  2. Datei hochladen oder JSON einfügen

  3. bucket und measurement festlegen

Lizenz

  • GPL-3.0