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

バッテリー監視スクリプト・Grafanaダッシュボード on Linux

 2026/02/10

grafana-battery は Linux の sysfs (/sys/class/power_supply/<BAT>/) からバッテリ情報を取得し InfluxDB Line Protocol で出力する Python スクリプトと、Grafana ダッシュボードから構成されています。 Telegraf の exec インプットプラグインから呼び出して収集したデータは InfluxDB に格納され、Grafana で可視化できます。

Screenshot of grafana-battery
Screenshot of grafana-battery

前提条件

  • Linux (/sys/class/power_supply/ が利用可能なこと)

  • Python

  • InfluxDB v2

  • Telegraf

  • Grafana

ファイル

battery-status.py

バッテリー情報を取得し、InfluxDB Line Protocol で出力

grafana-battery.json

Grafana ダッシュボード

telegraf-battery.conf

telegraf 設定例

インストール

Telegraf の設定

  1. Python スクリプトを配置

    battery-status.py を Telegraf が実行できる場所に置き、実行権限を付与します。

    cp battery-monitor/battery-status.py /path/to/
    chmod +x /path/to/battery-status.py
  2. Telegraf の設定

    telegraf.conf (または追加の設定ファイル) に以下を追加します。

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

    また outputs.influxdb_v2 が未設定の場合は以下も追加して下さい。 <INFLUXDB_TOKEN>, <ORG>, <BUCKET> は自身の環境に合わせて設定してください。

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

Grafana ダッシュボードの導入

  1. Grafana → Dashboards → Import

  2. ファイルをアップロード、または JSON を貼り付け

  3. bucketmeasurement を設定

ライセンス

  • GPL-3.0