Home

Awesome

Prometheus Monitoring Mixin for Django

A set of Grafana dashboards and Prometheus alerts for Django using the metrics from Django Prometheus.

Dashboards

django-overview

django-requests-overview

django-requests-by-view

There are also generated dashboards in the ./dashboards_out directory.

How to use

This mixin is designed to be vendored into the repo with your infrastructure config. To do this, use jsonnet-bundler:

You then have three options for deploying your dashboards

  1. Generate the config files and deploy them yourself
  2. Use jsonnet to deploy this mixin along with Prometheus and Grafana
  3. Use prometheus-operator to deploy this mixin

Or import the dashboard using json in ./dashboards_out, alternatively import them from the Grafana.com dashboard page.

Generate config files

You can manually generate the alerts, dashboards and rules files, but first you must install some tools:

brew install jsonnet jsonnet-bundler

Then, grab the mixin and its dependencies:

git clone https://github.com/adinhodovic/django-mixin
cd django-mixin
jb install

Finally, build the mixin:

make prometheus_alerts.yaml
make dashboards_out

The prometheus_alerts.yaml file then need to passed to your Prometheus server, and the files in dashboards_out need to be imported into you Grafana server. The exact details will depending on how you deploy your monitoring stack.

Alerts

The mixin follows the monitoring-mixins guidelines for alerts.