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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions