2018-11-16 17:23:14 +00:00
# Prometheus Mixin
2019-06-26 21:24:22 +00:00
_This is 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._
2019-06-26 13:22:23 +00:00
The Prometheus Mixin is a set of configurable, reusable, and extensible alerts
2018-11-16 17:23:14 +00:00
and dashboards for Prometheus.
2019-06-26 14:22:21 +00:00
To use them, you need to have `jsonnet` (v0.13+) and `jb` installed. If you
2019-06-26 13:36:49 +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-06-16 09:32:06 +00:00
$ go get github.com/google/go-jsonnet/cmd/jsonnetfmt
2019-06-26 13:36:49 +00:00
$ go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
```
2019-06-26 13:22:23 +00:00
2019-06-26 14:22:21 +00:00
_Note: The make targets `lint` and `fmt` need the `jsonnetfmt` binary, which is
2020-06-16 09:32:06 +00:00
available from [v.0.16.0 ](https://github.com/google/jsonnet/releases/tag/v0.16.0 ) in the Go implementation of `jsonnet` . If your jsonnet version is older than 0.16.0 you have to either upgrade or install the [C++ version of
2019-06-26 14:22:21 +00:00
jsonnetfmt](https://github.com/google/jsonnet) if you want to use `make lint`
or `make fmt` ._
2019-06-26 13:22:23 +00:00
2019-06-26 13:36:49 +00:00
Next, install the dependencies by running the following command in this
directory:
```bash
$ jb install
```
You can then build a `prometheus_alerts.yaml` with the alerts and a directory
`dashboards_out` with the Grafana dashboard JSON files:
```bash
$ make prometheus_alerts.yaml
$ make dashboards_out
```
For more advanced uses of mixins, see https://github.com/monitoring-mixins/docs.
2019-06-26 13:22:23 +00:00