2019-07-06 18:30:40 +00:00
|
|
|
# Node Mixin
|
|
|
|
|
2019-10-10 03:32:22 +00:00
|
|
|
_This is a work in progress. We aim for it to become a good role model for alerts
|
2019-07-06 18:30:40 +00:00
|
|
|
and dashboards eventually, but it is not quite there yet._
|
|
|
|
|
|
|
|
The Node Mixin is a set of configurable, reusable, and extensible alerts and
|
2019-10-10 03:32:22 +00:00
|
|
|
dashboards based on the metrics exported by the Node Exporter. The mixin creates
|
2019-07-06 18:30:40 +00:00
|
|
|
recording and alerting rules for Prometheus and suitable dashboard descriptions
|
|
|
|
for Grafana.
|
|
|
|
|
2020-10-13 11:37:05 +00:00
|
|
|
To use them, you need to have `jsonnet` (v0.16+) and `jb` installed. If you
|
2019-07-06 18:30:40 +00:00
|
|
|
have a working Go development environment, it's easiest to run the following:
|
|
|
|
```bash
|
|
|
|
$ go get github.com/google/go-jsonnet/cmd/jsonnet
|
2020-10-13 11:37:05 +00:00
|
|
|
$ go get github.com/google/go-jsonnet/cmd/jsonnetfmt
|
2019-07-06 18:30:40 +00:00
|
|
|
$ go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
|
|
|
|
```
|
|
|
|
|
|
|
|
Next, install the dependencies by running the following command in this
|
|
|
|
directory:
|
|
|
|
```bash
|
|
|
|
$ jb install
|
|
|
|
```
|
|
|
|
|
|
|
|
You can then build the Prometheus rules files `node_alerts.yaml` and
|
|
|
|
`node_rules.yaml`:
|
|
|
|
```bash
|
|
|
|
$ make node_alerts.yaml node_rules.yaml
|
|
|
|
```
|
|
|
|
|
|
|
|
You can also build a directory `dashboard_out` with the JSON dashboard files
|
|
|
|
for Grafana:
|
|
|
|
```bash
|
|
|
|
$ make dashboards_out
|
|
|
|
```
|
|
|
|
|
2019-09-08 08:55:43 +00:00
|
|
|
Note that some of the generated dashboards require recording rules specified in
|
|
|
|
the previously generated `node_rules.yaml`.
|
|
|
|
|
2019-07-06 18:30:40 +00:00
|
|
|
For more advanced uses of mixins, see
|
|
|
|
https://github.com/monitoring-mixins/docs.
|
|
|
|
|