node_exporter/docs/node-mixin
Ben Kochie 4b68aeb80a
Merge pull request #1862 from fsschmitt/fix/alerts-label-naming
fix: node_md_disks state label from fail to failed
2021-01-24 14:53:22 +01:00
..
alerts Merge pull request #1862 from fsschmitt/fix/alerts-label-naming 2021-01-24 14:53:22 +01:00
dashboards Use absolute jsonnet import paths 2020-10-20 11:34:43 +02:00
rules docs/node-mixin: Improve memory pressure rule 2019-10-28 15:12:42 +01:00
.gitignore Add Makefile to easily make output files and lint sources 2019-07-06 20:21:56 +02:00
alerts.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
config.libsonnet Configure 2 thresholds for NodeFilesystemAlmostOutOfSpace alert (#1835) 2020-09-18 11:28:32 +02:00
dashboards.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
go.mod *: add mixin tests to CI 2020-08-25 10:03:46 +02:00
go.sum *: add mixin tests to CI 2020-08-25 10:03:46 +02:00
jsonnetfile.json Use absolute jsonnet import paths 2020-10-20 11:34:43 +02:00
Makefile Add Makefile to easily make output files and lint sources 2019-07-06 20:21:56 +02:00
mixin.libsonnet Move node-mixin into docs directory 2019-07-05 19:38:03 +02:00
README.md Mixin: Bump jsonnet requirement to 0.16 to use go-jsonnetcmd 2020-10-27 11:41:46 +01:00
rules.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
tools.go *: add mixin tests to CI 2020-08-25 10:03:46 +02:00

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 get github.com/google/go-jsonnet/cmd/jsonnet
$ go get github.com/google/go-jsonnet/cmd/jsonnetfmt
$ go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb

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.