prometheus/documentation/prometheus-mixin
Jan Horstmann afde4707c5 Update mixin dashboard
Update and rewrite the mixin dashboards to use the grafonnet ([1])
library.
Grafana has deprecated angular plugins ([2]) as used by grafonnet-lib
([3]) with removal pending for grafana version 12.
Additionally grafonnet-lib is deprecated/unmaintained in favor of
grafonnet.
Therefore the mixin dashboards have been updated to use grafonnet.

Closes: https://github.com/prometheus/prometheus/issues/14404

[1]
https://github.com/grafana/grafonnet

[2]
https://grafana.com/docs/grafana/latest/developers/angular_deprecation/

[3]
https://github.com/grafana/grafonnet-lib

Signed-off-by: Jan Horstmann <horstmann@osism.tech>
2024-12-13 16:32:45 +01:00
..
.gitignore Add .gitignore file 2019-06-26 15:22:23 +02:00
alerts.jsonnet Add Makefile and suitable jsonnet files 2019-06-26 15:30:55 +02:00
alerts.libsonnet notifier: fix increment of metric prometheus_notifications_errors_total 2024-11-26 15:50:02 +01:00
config.libsonnet bugfix: allow opting-out of multi-cluster setups 2024-05-07 23:46:10 +05:30
dashboards.jsonnet Fix prometheus-mixin dashboards to use grafanaDashboards 2019-07-11 15:40:26 +02:00
dashboards.libsonnet Update mixin dashboard 2024-12-13 16:32:45 +01:00
jsonnetfile.json Update mixin dashboard 2024-12-13 16:32:45 +01:00
Makefile Use Go 1.16+ install for mixin tests 2021-10-23 22:52:16 +02:00
mixin.libsonnet Basic Prometheus dashboard. 2018-11-16 17:17:47 +00:00
README.md docs: Replace go get with go install for command installation (#9098) 2021-08-27 11:08:21 +02:00

Prometheus Mixin

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.

The Prometheus Mixin is a set of configurable, reusable, and extensible alerts and dashboards for Prometheus.

To use them, you need to have jsonnet (v0.13+) 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

Note: The make targets lint and fmt need the jsonnetfmt binary, which is available from v.0.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 jsonnetfmt if you want to use make lint or make fmt.

Next, install the dependencies by running the following command in this directory:

$ jb install

You can then build a prometheus_alerts.yaml with the alerts and a directory dashboards_out with the Grafana dashboard JSON files:

$ make prometheus_alerts.yaml
$ make dashboards_out

For more advanced uses of mixins, see https://github.com/monitoring-mixins/docs.