Skip to content

zoneinfo collector (Linux) #641

@knweiss

Description

@knweiss

Feature request: A /proc/zoneinfo collector for Linux.

/proc/zoneinfo is a Linux kernel proc file that contains lots of virtual memory subsystem metrics. Its fields are useful for per NUMA node and/or per memory zone analyses and graphs.

I wrote an initial implementation of a zoneinfo collector in May 2017 while working on Grafana dashboards for the Linux virtual memory subsystem (NUMA stats, transparent huge pages, page migrations, memory usage, etc.) that feature per NUMA node and per memory zone panels.

However, I hesitate to create a PR for several reasons:

  • I assume this implementation would not be accepted "as is" because it is not implemented via https://github.com/prometheus/procfs. Unfortunately, I don't have the time to work on such a port at the moment.
  • The implementation is functional but incomplete: It does not export all available fields but only those I needed for my dashboards. See collector/fixtures/e2e-output.txt for example output of the collector (prefix node_zoneinfo_).
  • The implementation was only tested/used on RHEL/CentOS 6 and 7 kernels. The /proc/zoneinfo file format has changed over time. Well, it now also parses a new section that appeared in Fedora 25 kernels. YMMV.

Ahead of PromCon and despite of all of these shortcomings I decided to rebase my implementation against today's master branch and pushed it "as is" to GitHub:

https://github.com/knweiss/node_exporter/tree/zoneinfo_collector

Maybe someone finds the code interesting.

Feel free to close this issue if you think it is not useful.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions