grafana-battery
は Linux の sysfs (/sys/class/power_supply/<BAT>/) からバッテリ情報を取得し InfluxDB Line Protocol で出力する
Python スクリプトと、Grafana ダッシュボードから構成されています。
Telegraf の exec インプットプラグインから呼び出して収集したデータは InfluxDB に格納され、Grafana で可視化できます。
前提条件
-
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 の設定
-
Python スクリプトを配置
battery-status.pyを Telegraf が実行できる場所に置き、実行権限を付与します。cp battery-monitor/battery-status.py /path/to/ chmod +x /path/to/battery-status.py -
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 ダッシュボードの導入
-
Grafana → Dashboards → Import
-
ファイルをアップロード、または JSON を貼り付け
-
bucketとmeasurementを設定
Repository
ライセンス
-
GPL-3.0