Background
Incident in Zendesk #369707 / RCA in #369908: the smoking gun on the affected Mellanox mlx5 bonds was sustained rx_no_buffer and tx_pause_frames counters, indicating ring buffer exhaustion and upstream backpressure. node-exporter ships an ethtool collector that exposes these counters but it is not enabled in our deployment.
Current state: roles/kube_prometheus_stack/vars/main.yml configures node-exporter extraArgs without --collector.ethtool.
Proposal
- Enable
--collector.ethtool (and consider --collector.textfile, --collector.hwmon) on node-exporter.
- Add alerts for sustained NIC ring buffer exhaustion / pause-frame storms on physical interfaces:
NodeNICReceiveNoBuffer — rate(node_ethtool_rx_no_buffer_total[5m]) > 0 sustained
NodeNICTransmitPauseFrames — rate(node_ethtool_tx_pause_frames_total[5m]) > 0 sustained
- Add runbook entries.
Acceptance criteria
References
Background
Incident in Zendesk #369707 / RCA in #369908: the smoking gun on the affected Mellanox
mlx5bonds was sustainedrx_no_bufferandtx_pause_framescounters, indicating ring buffer exhaustion and upstream backpressure. node-exporter ships anethtoolcollector that exposes these counters but it is not enabled in our deployment.Current state:
roles/kube_prometheus_stack/vars/main.ymlconfigures node-exporterextraArgswithout--collector.ethtool.Proposal
--collector.ethtool(and consider--collector.textfile,--collector.hwmon) on node-exporter.NodeNICReceiveNoBuffer—rate(node_ethtool_rx_no_buffer_total[5m]) > 0sustainedNodeNICTransmitPauseFrames—rate(node_ethtool_tx_pause_frames_total[5m]) > 0sustainedAcceptance criteria
extraArgsupdateddoc/source/admin/monitoring.rstreno newReferences