Building a Grafana dashboard from Prometheus node exporter metrics turns raw host counters into panels for CPU pressure, available memory, and other Linux system signals. It is useful after Prometheus is already scraping node exporter targets and the operator needs a saved dashboard instead of one-off Explore queries.

Grafana panels query the Prometheus data source with PromQL and render the result with a visualization such as Time series or Stat. Node exporter series are usually prefixed with node_, and the first check should confirm that up{job="node"} returns the intended instance label before panel queries are saved.

A host dashboard usually starts with one CPU busy time series from node_cpu_seconds_total and one memory available stat from node_memory_MemAvailable_bytes. Choose a time range long enough for Prometheus rate calculations to have at least two scrapes, then save the dashboard after each panel returns data.

Steps to build a Grafana dashboard from Prometheus node exporter metrics:

  1. Open Explore.
  2. Select the Prometheus data source.
  3. Run a target check for node exporter series.
    up{job="node"}

    The result should return the host's instance label with value 1. If no series appears, fix the Prometheus scrape job before creating panels.

  4. Open DashboardsNewNew dashboard.
  5. Click the Add new element icon.
  6. Choose Configure visualization.
  7. Select Prometheus as the panel data source.
  8. Switch the query editor to Code mode.
  9. Enter the CPU busy query.
    100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
  10. Click Run queries.

    The query subtracts idle CPU time from 100 and groups the result by instance so each node exporter target stays visible as its own series.

  11. Keep Time series selected.
  12. Set the panel title to CPU busy by instance.
  13. Set the standard unit to Percent (0-100).
  14. Click Save.
  15. Enter a dashboard name and save the dashboard.
  16. Add another visualization from the saved dashboard.
  17. Enter the memory query.
    node_memory_MemAvailable_bytes
  18. Click Run queries.
  19. Change the visualization to Stat.
  20. Set the unit to Bytes (IEC).
  21. Click Save.
  22. Open the saved dashboard and confirm both panels show data for the selected time range.

    A fresh Prometheus target may need another scrape interval before a rate() query shows data.