Skip to content

feat(monitoring): enable node-exporter ethtool collector and add NIC ring/pause alerts #3891

Description

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

  1. Enable --collector.ethtool (and consider --collector.textfile, --collector.hwmon) on node-exporter.
  2. Add alerts for sustained NIC ring buffer exhaustion / pause-frame storms on physical interfaces:
    • NodeNICReceiveNoBufferrate(node_ethtool_rx_no_buffer_total[5m]) > 0 sustained
    • NodeNICTransmitPauseFramesrate(node_ethtool_tx_pause_frames_total[5m]) > 0 sustained
  3. Add runbook entries.

Acceptance criteria

  • node-exporter extraArgs updated
  • Two alert rules + promtool tests
  • Runbook entries in doc/source/admin/monitoring.rst
  • Release note via reno new
  • Verify scrape volume impact is acceptable

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions