Prometheus Node Exporter — exposes a node's hardware and OS metrics (CPU, memory, disk, filesystem, network, load) at a /metrics endpoint for Prometheus to scrape. Deployed as a host-networked Nomad service that reads the host read-only; run one per node and point the monitoring pack at it.
Needs nomad-pack on PATH. The script only adds the nomploy registry and runs this pack.
Source ↗ Project ↗ ★ 13.8k ⚑ Report an issue
Save as values.hcl, edit, then run:
# The name of the Nomad job.
job_name = "node-exporter"
# The Nomad namespace to deploy into.
namespace = "default"
# The datacenters to deploy to.
datacenters = ["*"]
# The Node Exporter container image. Pin a tag in production.
image = "quay.io/prometheus/node-exporter:latest"
# Host port for the metrics endpoint (--web.listen-address).
port = 9100
# Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []
# Resources for the Node Exporter task.
resources = {
cpu = 100
memory = 64
}
| Name | Type | Default | Description |
|---|---|---|---|
| job_name | string | "node-exporter" | The name of the Nomad job. |
| namespace | string | "default" | The Nomad namespace to deploy into. |
| datacenters | list | ["*"] | The datacenters to deploy to. |
| image | string | "quay.io/prometheus/node-exporter:latest" | The Node Exporter container image. Pin a tag in production. |
| port | number | 9100 | Host port for the metrics endpoint (--web.listen-address). |
| constraints | list | [] | Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true". |
| resources | object | {
cpu = 100
memory = 64
} | Resources for the Node Exporter task. |
No variables match.
Prometheus Node Exporter — exposes a machine's hardware and OS
metrics (CPU, memory, disk I/O, filesystem, network, load, temperatures) on a /metrics endpoint for Prometheus
to scrape. The standard way to monitor a Linux host.
Single host-networked Nomad service that reads the host read-only.
nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run node-exporter --registry=nomploy
| Variable | Default | Description |
|---|---|---|
port |
9100 |
Metrics port (--web.listen-address). |
image |
quay.io/prometheus/node-exporter:latest |
Container image. Pin a tag in production. |
resources |
{ cpu = 100, memory = 64 } |
Task resources. |
Add a scrape target http://<node-ip>:9100/metrics in Prometheus (the monitoring pack) and import a Node
Exporter dashboard in Grafana. The job bind-mounts / at /host (read-only) with --path.rootfs=/host and uses
the host PID namespace for accurate metrics. Run one instance per node (pin with constraints). The endpoint
is unauthenticated — keep it on an internal network.
Note: the
monitoringpack already bundles node-exporter as a sidecar; use this standalone pack on nodes that aren't running that all-in-one stack.