node_exporter/docs/node-mixin
Justin Lei 5d713dc40a Add differentiating label for alerts that use nodeCriticalSeverity
This affects the following alerts:

- NodeFilesystemAlmostOutOfFiles
- NodeFilesystemSpaceFillingUp
- NodeFilesystemAlmostOutOfSpace
- NodeFilesystemFilesFillingUp

Each alert is actually two alerting rules, one for the warning level,
and one for the critical level. However, the critical one can be set to
emit as a warning by using $._config.nodeCriticalSeverity. When this is
true, both alerting rules will generate alerts with an identical set of
labels, which is an error when both alerts fire.

We add an extra label to these alerting rules in order to differentiate
between the two levels when $._config.nodeCriticalSeverity is set to
`warning`.

Signed-off-by: Justin Lei <lei.justin@gmail.com>
2024-11-21 15:11:56 -08:00
..
alerts Add differentiating label for alerts that use nodeCriticalSeverity 2024-11-21 15:11:56 -08:00
dashboards Add AIX dashboard 2024-09-28 15:58:02 +02:00
lib Add AIX dashboard 2024-09-28 15:58:02 +02:00
rules mixin: exclude iowait and steal from CPU Utilisation (#2194) 2021-11-04 11:03:27 +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 chore: fix typo in comment 2024-04-10 14:24:02 +02:00
dashboards.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
jsonnetfile.json Add darwin dashboard to mixin 2022-04-20 15:18:43 +04:00
Makefile Fix up mixin tests (#2167) 2021-10-14 11:06:01 +02:00
mixin.libsonnet Move node-mixin into docs directory 2019-07-05 19:38:03 +02:00
README.md fix the following markdownlint issues (#2362) 2022-06-28 05:50:06 +02: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.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.