Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
Loading