node_exporter/docs/node-mixin
Stefan Andres fe71568130
Add UIDs to dashboards (#3042)
Automatically add a uid to each dashboard.
This prevents changing URLs when restarting a grafana pod and
re-importing the dashboards via ConfigMaps.

Signed-off-by: Stefan Andres <sandres@anaconda.com>
2024-07-14 14:22:52 +02:00
..
alerts Fix description for NodeDiskIOSaturation alert (#2929) 2024-02-16 08:58:22 +01:00
dashboards Add UIDs to dashboards (#3042) 2024-07-14 14:22:52 +02:00
lib Add UIDs to dashboards (#3042) 2024-07-14 14:22:52 +02:00
rules
.gitignore
Makefile
README.md
alerts.jsonnet
config.libsonnet chore: fix typo in comment 2024-04-10 14:24:02 +02:00
dashboards.jsonnet
jsonnetfile.json
mixin.libsonnet
rules.jsonnet

README.md

Node Mixin

This is a work in progress. We aim for it to become a good role model for alerts and dashboards eventually, but it is not quite there yet.

The Node Mixin is a set of configurable, reusable, and extensible alerts and dashboards based on the metrics exported by the Node Exporter. The mixin creates recording and alerting rules for Prometheus and suitable dashboard descriptions for Grafana.

To use them, you need to have jsonnet (v0.16+) and jb installed. If you have a working Go development environment, it's easiest to run the following:

go install github.com/google/go-jsonnet/cmd/jsonnet@latest
go install github.com/google/go-jsonnet/cmd/jsonnetfmt@latest
go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@latest

Next, install the dependencies by running the following command in this directory:

jb install

You can then build the Prometheus rules files node_alerts.yaml and node_rules.yaml:

make node_alerts.yaml node_rules.yaml

You can also build a directory dashboard_out with the JSON dashboard files for Grafana:

make dashboards_out

Note that some of the generated dashboards require recording rules specified in the previously generated node_rules.yaml.

For more advanced uses of mixins, see https://github.com/monitoring-mixins/docs.