Skip to content

Commit

Permalink
Merge f8bc0ea into b12c8ab
Browse files Browse the repository at this point in the history
  • Loading branch information
kavirajk committed Oct 16, 2020
2 parents b12c8ab + f8bc0ea commit c58e5dc
Show file tree
Hide file tree
Showing 8 changed files with 1,404 additions and 0 deletions.
3 changes: 3 additions & 0 deletions postgres_mixin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/alerts.yaml
/rules.yaml
dashboards_out
23 changes: 23 additions & 0 deletions postgres_mixin/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
JSONNET_FMT := jsonnetfmt -n 2 --max-blank-lines 2 --string-style s --comment-style s

default: build

all: fmt lint build clean

fmt:
find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
xargs -n 1 -- $(JSONNET_FMT) -i

lint:
find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
while read f; do \
$(JSONNET_FMT) "$$f" | diff -u "$$f" -; \
done

mixtool lint mixin.libsonnet

build:
mixtool generate all mixin.libsonnet

clean:
rm -rf dashboards_out alerts.yaml rules.yaml
26 changes: 26 additions & 0 deletions postgres_mixin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Postgres Mixin

_This is a 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 Postgres Mixin is a set of configurable, reusable, and extensible alerts and
dashboards based on the metrics exported by the Postgres Exporter. The mixin creates
recording and alerting rules for Prometheus and suitable dashboard descriptions
for Grafana.

To use them, you need to have `mixtool` and `jsonnetfmt` installed. If you
have a working Go development environment, it's easiest to run the following:
```bash
$ go get github.com/monitoring-mixins/mixtool/cmd/mixtool
$ go get github.com/google/go-jsonnet/cmd/jsonnetfmt
```

You can then build the Prometheus rules files `alerts.yaml` and
`rules.yaml` and a directory `dashboard_out` with the JSON dashboard files
for Grafana:
```bash
$ make build
```

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

0 comments on commit c58e5dc

Please sign in to comment.