prometheus / prometheus/node_exporter

Add neighbor stats

Open
#535 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accepted enhancement help wanted
Dominant language
Go
Stars
13.8k
Forks
2.7k
Avg merge
1d 23h
Merged PRs (30d)
8

Description

Need:
The node_exporter doesn't provide statistics about neighbors (the ip neighbor's way): numbers, table overload, garbade collections, limts,...

More info:
The neighbors can be found via ip neigh show. The raw data is in /proc/net/stat/arp_cache and /proc/net/stat/ndisc_cache (based on that see "struct neigh_table").

Use case:
I'm working with 5 hosts, more than 120 containers and I discovered in a kernel log file that I have an ARP table overload for the second time. The direct impact is a loss of packet and thus this is a root cause hard to find.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the neighbor information from ip neigh show with the raw statistics in /proc/net/stat/arp_cache and /proc/net/stat/ndisc_cache, using the linked Linux neighbor-subsystem reference. Determine which counts, table-overload indicators, and garbage-collection limits should become exporter metrics; done means node_exporter exposes useful neighbor statistics for detecting ARP or NDISC table exhaustion.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
networking, observability, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.