Skip to content

ethtool error: "panic: "node_ethtool_ err" is not a valid metric name" #2185

@FreeZzzz93

Description

@FreeZzzz93

Node_exporter falls into error at start when adding collector ethtool. Other optional collectors by flag are working fine.
I see this problem only on CentOS and RHEL, in Ubuntu everything works as it should.

panic: "node_ethtool_     err" is not a valid metric name
goroutine 60 [running]:
github.com/prometheus/client_golang/prometheus.MustNewConstMetric(...)
/go/pkg/mod/github.com/prometheus/client_golang@v1.11.0/prometheus/value.go:107
github.com/prometheus/node_exporter/collector.(*ethtoolCollector).Update(0xc0001ea180, 0xc0002107e0, 0x10d9580, 0x0)
         /app/collector/ethtool_linux.go:186 +0x1266
 github.com/prometheus/node_exporter/collector.execute(0xc0f535, 0x7, 0xcf1e00, 0xc0001ea180, 0xc0002107e0, 0xcf1980, 0xc00006f900)
         /app/collector/collector.go:161 +0x84
 github.com/prometheus/node_exporter/collector.NodeCollector.Collect.func1(0xc0002107e0, 0xc000178ba0, 0xcf1980, 0xc00006f900, 0xc0002049c0, 0xc0f535, 0x7, 0xcf1e00, 0xc0001ea180)
         /app/collector/collector.go:152 +0x71
 created by github.com/prometheus/node_exporter/collector.NodeCollector.Collect
         /app/collector/collector.go:151 +0x13c
 node_exporter.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
 node_exporter.service: Failed with result 'exit-code'.

Host operating system: output of uname -a

CentOS-8.4.2105
5.14.14-1.el8.elrepo.x86_64 #1 SMP Tue Oct 19 07:38:35 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux
and RHEL8.3
4.18.0-240.el8.x86_64 #1 SMP Wed Sep 23 05:13:10 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux

node_exporter version: output of node_exporter --version

  node_exporter, version 1.2.2 (branch: HEAD, revision: 26645363b486e12be40af7ce4fc91e731a33104e)
  build user:       root@b9cb4aa2eb17
  build date:       20210806-13:44:18
  go version:       go1.16.7
  platform:         linux/amd64

node_exporter command line flags

/usr/local/bin/node_exporter --collector.ethtool

Are you running node_exporter in Docker?

no

ethtool -S output:

NIC statistics:
     Tx Queue#: 0
       TSO pkts tx: 0
       TSO bytes tx: 0
       ucast pkts tx: 20487
       ucast bytes tx: 1908107
       mcast pkts tx: 83
       mcast bytes tx: 5906
       bcast pkts tx: 4
       bcast bytes tx: 168
       pkts tx err: 0
       pkts tx discard: 0
       drv dropped tx total: 0
          too many frags: 0
          giant hdr: 0
          hdr err: 0
          tso: 0
       ring full: 0
       pkts linearized: 0
       hdr cloned: 0
       giant hdr: 0
     Rx Queue#: 0
       LRO pkts rx: 0
       LRO byte rx: 0
       ucast pkts rx: 25086
       ucast bytes rx: 2404103
       mcast pkts rx: 0
       mcast bytes rx: 0
       bcast pkts rx: 0
       bcast bytes rx: 0
       pkts rx OOB: 0
       pkts rx err: 0
       drv dropped rx total: 0
          err: 0
          fcs: 0
       rx buf alloc fail: 0
     tx timeout count: 0

In ubuntu, the same ethtool -S output looks like this:

NIC statistics:
     rx_packets: 5765
     tx_packets: 3521
     rx_bytes: 7960038
     tx_bytes: 264187
     rx_broadcast: 0
     tx_broadcast: 0
     rx_multicast: 0
     tx_multicast: 0
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     multicast: 0
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     tx_restart_queue: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 7960038
     rx_csum_offload_good: 5723
     rx_csum_offload_errors: 0
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0

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