prometheus/documentation/prometheus-mixin
Will Bollock 839b9e5b53
fix: PrometheusNotIngestingSamples label matching
This alert will never return anything as the left side of the query has
the labels `[component, environment, instance, job, type]` while the
right side has `[component, environment, instance, job]`.

The `type` label was added to `prometheus_tsdb_head_samples_appended_total` in this PR but the mixin wasn't updated
for the new label: https://github.com/prometheus/prometheus/pull/11395

This was found with [pint](https://github.com/cloudflare/pint) PromQL
linting

Signed-off-by: Will Bollock <wbollock@linode.com>
2024-01-31 09:08:36 -05:00
..
.gitignore Add .gitignore file 2019-06-26 15:22:23 +02:00
Makefile Use Go 1.16+ install for mixin tests 2021-10-23 22:52:16 +02:00
README.md docs: Replace `go get` with `go install` for command installation (#9098) 2021-08-27 11:08:21 +02:00
alerts.jsonnet Add Makefile and suitable jsonnet files 2019-06-26 15:30:55 +02:00
alerts.libsonnet fix: PrometheusNotIngestingSamples label matching 2024-01-31 09:08:36 -05:00
config.libsonnet documentation/prometheus-mixin: fix comment typo 2022-09-09 17:03:53 +02:00
dashboards.jsonnet Fix prometheus-mixin dashboards to use grafanaDashboards 2019-07-11 15:40:26 +02:00
dashboards.libsonnet included instance in all necessary descriptions 2024-01-10 19:40:16 +01:00
jsonnetfile.json Use absolute jsonnet import paths 2020-10-20 11:42:30 +02:00
mixin.libsonnet Basic Prometheus dashboard. 2018-11-16 17:17:47 +00:00

README.md

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.