node_exporter/docs/node-mixin
Julian Wiedmann 3e6f4ce627
mixin: exclude iowait and steal from CPU Utilisation (#2194)
'iowait' and 'steal' indicate specific idle/wait states, which shouldn't
be counted into CPU Utilisation. Also see
https://github.com/prometheus-operator/kube-prometheus/pull/796 and
https://github.com/kubernetes-monitoring/kubernetes-mixin/pull/667.

Per the iostat man page:

%idle
    Show the percentage of time that the CPU or CPUs were idle and the
    system did not have an outstanding disk I/O request.

%iowait
     Show the percentage of time that the CPU or CPUs were idle during
     which the system had an outstanding disk I/O request.

%steal
     Show the percentage of time spent in involuntary wait by the
     virtual CPU or CPUs while the hypervisor was servicing another
     virtual processor.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
2021-11-04 11:03:27 +01:00
..
alerts docs/node-mixin/alerts: make NodeFilesystemAlmostOutOfSpace fire earlier 2021-08-16 16:35:58 +02:00
dashboards mixin: exclude iowait and steal from CPU Utilisation (#2194) 2021-11-04 11:03:27 +01: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
Makefile Fix up mixin tests (#2167) 2021-10-14 11:06:01 +02:00
README.md docs: Replace `go get` with `go install` for command installation 2021-07-20 12:16:46 +02:00
alerts.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
config.libsonnet Refactor USE method mixin dashboards with grafonnet-lib, add multi-cluster support. 2021-07-27 16:32:05 +02:00
dashboards.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00
jsonnetfile.json Use absolute jsonnet import paths 2020-10-20 11:34:43 +02:00
mixin.libsonnet Move node-mixin into docs directory 2019-07-05 19:38:03 +02:00
rules.jsonnet Create jsonnet files to create output files 2019-07-06 20:11:27 +02:00

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.