2018-11-16 09:23:14 -08:00
|
|
|
# Prometheus Mixin
|
|
|
|
|
2019-06-26 14:24:22 -07: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 06:22:23 -07:00
|
|
|
The Prometheus Mixin is a set of configurable, reusable, and extensible alerts
|
2018-11-16 09:23:14 -08:00
|
|
|
and dashboards for Prometheus.
|
|
|
|
|
2019-06-26 07:22:21 -07:00
|
|
|
To use them, you need to have `jsonnet` (v0.13+) and `jb` installed. If you
|
2019-06-26 06:36:49 -07:00
|
|
|
have a working Go development environment, it's easiest to run the following:
|
|
|
|
```bash
|
|
|
|
$ go get github.com/google/go-jsonnet/cmd/jsonnet
|
|
|
|
$ go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
|
|
|
|
```
|
2019-06-26 06:22:23 -07:00
|
|
|
|
2019-06-26 07:22:21 -07:00
|
|
|
_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](https://github.com/google/jsonnet) if you want to use `make lint`
|
|
|
|
or `make fmt`._
|
2019-06-26 06:22:23 -07:00
|
|
|
|
2019-06-26 06:36:49 -07: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 06:22:23 -07:00
|
|
|
|