Skip to content

Unable to start node_exporter err="could not get power_supply class info: error obtaining power_supply class info: failed to read file \"/sys/class/power_supply/BAT0/current_now\": no such device" #3108

@Kisaragi-ng

Description

@Kisaragi-ng

Host operating system: output of uname -a

Linux hostname 6.8.0-40-generic #40~22.04.3-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 30 17:30:19 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

node_exporter version: output of node_exporter --version

node_exporter, version 1.8.2 (branch: HEAD, revision: f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895)
  build user:       root@03d440803209
  build date:       20240714-11:53:45
  go version:       go1.22.5
  platform:         linux/amd64
  tags:             unknown

node_exporter command line flags

without flags, in systemd service file:

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

node_exporter log output

ts=2024-09-03T09:02:53.463Z caller=node_exporter.go:193 level=info msg="Starting node_exporter" version="(version=1.8.2, branch=HEAD, revision=f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895)"
ts=2024-09-03T09:02:53.463Z caller=node_exporter.go:194 level=info msg="Build context" build_context="(go=go1.22.5, platform=linux/amd64, user=root@03d440803209, date=20240714-11:53:45, tags=unknown)"
ts=2024-09-03T09:02:53.464Z caller=node_exporter.go:196 level=warn msg="Node Exporter is running as root user. This exporter is designed to run as unprivileged user, root is not required."
ts=2024-09-03T09:02:53.464Z caller=filesystem_common.go:111 level=info collector=filesystem msg="Parsed flag --collector.filesystem.mount-points-exclude" flag=^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)
ts=2024-09-03T09:02:53.464Z caller=filesystem_common.go:113 level=info collector=filesystem msg="Parsed flag --collector.filesystem.fs-types-exclude" flag=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
ts=2024-09-03T09:02:53.464Z caller=diskstats_common.go:111 level=info collector=diskstats msg="Parsed flag --collector.diskstats.device-exclude" flag=^(z?ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\d+n\d+p)\d+$
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:111 level=info msg="Enabled collectors"
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=arp
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=bcache
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=bonding
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=btrfs
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=conntrack
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=cpu
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=cpufreq
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=diskstats
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=dmi
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=edac
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=entropy
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=fibrechannel
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=filefd
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=filesystem
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=hwmon
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=infiniband
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=ipvs
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=loadavg
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=mdadm
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=meminfo
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=netclass
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=netdev
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=netstat
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=nfs
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=nfsd
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=nvme
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=os
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=powersupplyclass
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=pressure
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=rapl
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=schedstat
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=selinux
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=sockstat
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=softnet
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=stat
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=tapestats
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=textfile
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=thermal_zone
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=time
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=timex
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=udp_queues
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=uname
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=vmstat
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=watchdog
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=xfs
ts=2024-09-03T09:02:53.465Z caller=node_exporter.go:118 level=info collector=zfs
ts=2024-09-03T09:02:53.465Z caller=tls_config.go:313 level=info msg="Listening on" address=[::]:9100
ts=2024-09-03T09:02:53.465Z caller=tls_config.go:316 level=info msg="TLS is disabled." http2=false address=[::]:9100
ts=2024-09-03T09:03:28.987Z caller=collector.go:169 level=error msg="collector failed" name=powersupplyclass duration_seconds=0.009142353 err="could not get power_supply class info: error obtaining power_supply class info: failed to read file \"/sys/class/power_supply/BAT0/current_now\": no such device"
panic: runtime error: slice bounds out of range [:-1520805024]

goroutine 86 [running]:
github.com/prometheus/node_exporter/collector.sysReadFile({0xc00003fd10?, 0x2?})
        /app/collector/hwmon_linux.go:108 +0x1cb
github.com/prometheus/node_exporter/collector.addValueFile(0xc00016fbd0, {0xc0004636e8, 0x6}, {0xc000463647, 0x5}, {0xc00003fd10?, 0xc00016f788?})
        /app/collector/hwmon_linux.go:76 +0x3b
github.com/prometheus/node_exporter/collector.collectSensorData({0xc0003f26d8, 0x17}, 0xc00016fbd0)
        /app/collector/hwmon_linux.go:152 +0x21a
github.com/prometheus/node_exporter/collector.(*hwMonCollector).updateHwmon(0xc000208320, 0xc00022a840, {0xc0003f26d8, 0x17})
        /app/collector/hwmon_linux.go:172 +0x231
github.com/prometheus/node_exporter/collector.(*hwMonCollector).Update(0xc000208320, 0xc00022a840)
        /app/collector/hwmon_linux.go:466 +0x374
github.com/prometheus/node_exporter/collector.execute({0xbc6c13, 0x5}, {0xcf0120, 0xc000208320}, 0xc00022a840, {0xcef880, 0xc00004e4c0})
        /app/collector/collector.go:161 +0x90
github.com/prometheus/node_exporter/collector.NodeCollector.Collect.func1({0xbc6c13?, 0x0?}, {0xcf0120?, 0xc000208320?})
        /app/collector/collector.go:152 +0x37
created by github.com/prometheus/node_exporter/collector.NodeCollector.Collect in goroutine 59
        /app/collector/collector.go:151 +0xce

Are you running node_exporter in Docker?

No

What did you do that produced an error?

after node_exporter started, send a curl or open using web browser to http://localhost:9100/metrics

What did you expect to see?

metrics are shown

What did you see instead?

curl return curl: (52) Empty reply from server while node_exporter process is crashed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions