Skip to content

ethtool collector doesn't properly work when 2 interfaces are present #2125

@aned

Description

@aned

node_exporter version="1.2.0"
Running on

node_uname_info{domainname="(none)",machine="x86_64",nodename="host A",release="5.4.80",sysname="Linux",version="#1 SMP Mon Dec 7 00:28:18 UTC 2020"} 1

2 interfaces present enp23s0f0 and enp23s0f1

ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
6: enp23s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 0c:42:a1:a0:1e:e1 brd ff:ff:ff:ff:ff:ff
7: enp23s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 0c:42:a1:a0:1e:e2 brd ff:ff:ff:ff:ff:ff

It collects only "node_network" stats on enp23s0f0, it should have ethtool stats but it doesn't:

curl localhost:9100/metrics | grep enp23s0f0
node_network_address_assign_type{device="enp23s0f0"} 0
node_network_carrier{device="enp23s0f0"} 1
node_network_carrier_changes_total{device="enp23s0f0"} 13
node_network_carrier_down_changes_total{device="enp23s0f0"} 6
...
node_network_up{device="enp23s0f0"} 1

It works as expected on enp23s0f1 interface (with all 0 values since the interface is down)

curl localhost:9100/metrics | grep enp23s0f1
node_ethtool_ch0_aff_change{device="enp23s0f1"} 0
node_ethtool_ch0_arm{device="enp23s0f1"} 0
node_ethtool_ch0_eq_rearm{device="enp23s0f1"} 0
node_ethtool_ch0_events{device="enp23s0f1"} 0
node_ethtool_ch0_force_irq{device="enp23s0f1"} 0
node_ethtool_ch0_poll{device="enp23s0f1"} 0
node_ethtool_ch10_aff_change{device="enp23s0f1"} 0
node_ethtool_ch10_arm{device="enp23s0f1"} 0
node_ethtool_ch10_eq_rearm{device="enp23s0f1"} 0
...
node_ethtool_received_prio5_discards{device="enp23s0f1"} 0
node_ethtool_received_prio5_packets{device="enp23s0f1"} 0
node_ethtool_received_prio6_bytes{device="enp23s0f1"} 0
node_ethtool_received_prio6_discards{device="enp23s0f1"} 0
node_ethtool_received_prio6_packets{device="enp23s0f1"} 0
node_ethtool_received_prio7_bytes{device="enp23s0f1"} 0
node_ethtool_received_prio7_discards{device="enp23s0f1"} 0
node_ethtool_received_prio7_packets{device="enp23s0f1"} 0
....
node_ethtool_transmitted_prio0_bytes{device="enp23s0f1"} 0
node_ethtool_transmitted_prio0_packets{device="enp23s0f1"} 0
node_ethtool_transmitted_prio1_bytes{device="enp23s0f1"} 0
node_ethtool_transmitted_prio1_packets{device="enp23s0f1"} 0
node_ethtool_transmitted_prio2_bytes{device="enp23s0f1"} 0
node_ethtool_transmitted_prio2_packets{device="enp23s0f1"} 0
node_ethtool_transmitted_prio3_bytes{device="enp23s0f1"} 0
node_ethtool_transmitted_prio3_packets{device="enp23s0f1"} 0
node_ethtool_transmitted_prio4_bytes{device="enp23s0f1"} 0
node_ethtool_transmitted_prio4_packets{device="enp23s0f1"} 0
node_ethtool_transmitted_prio5_bytes{device="enp23s0f1"} 0
node_ethtool_transmitted_prio5_packets{device="enp23s0f1"} 0
...
node_network_address_assign_type{device="enp23s0f1"} 0
node_network_carrier_changes_total{device="enp23s0f1"} 0
node_network_carrier_down_changes_total{device="enp23s0f1"} 0
node_network_carrier_up_changes_total{device="enp23s0f1"} 0
node_network_device_id{device="enp23s0f1"} 0
node_network_flags{device="enp23s0f1"} 4098

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