node_exporter/docs/node-mixin
beorn7 c6914477f5 Fix the normalization for the cluster-wide dashboards
We actually have to count or sum, respectively, _all_ the selected
metrics for the cluster-wide view. Which means it's easiest to use the
`scalar` approach after all (but only in the cluster dashboard). This
still propagates all the labels.

I have extended the comment for the `nodeExporterSelector` to note
that the cluster dashboard only makes sense if all the selected node
exporter actually belong to the same cluster.

Since this is jsonnet, users can easily disable the cluster
dashboard. Or even create multiple instances of the dashboards with
different `nodeExporterSelector`s for different clusters.

Signed-off-by: beorn7 <beorn@grafana.com>
2019-10-30 22:52:36 +01:00
..
alerts Fix node-mixin prometheus alert rules to use percentage 2019-09-11 08:47:24 +00:00
dashboards Fix the normalization for the cluster-wide dashboards 2019-10-30 22:52:36 +01: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 Fix the normalization for the cluster-wide dashboards 2019-10-30 22:52:36 +01:00
dashboards.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
jsonnetfile.json Use promgrafonnet as a vendored library from its source 2019-07-06 21:11:23 +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 Two quick typo fixes 2019-10-09 20:42:27 -07:00
rules.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +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.13+) 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/jsonnet-bundler/jsonnet-bundler/cmd/jb

Note: The make targets lint and fmt need the jsonnetfmt binary, which is currently not included in the Go implementation of jsonnet. For the time being, you have to install the C++ version of jsonnetfmt if you want to use make lint or make fmt.

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.