A Django web app with blog, chat and notification functionality. Features a prometheus/grafana stack for monitoring and automatic alerts.
Django
- web app framework (chat/blog/user management),redis
- to facilitate chat/notifications usingdjango-channels
,postgres
- SQL database.
- Github actions CI/CD pipeline (workflows defined in
.github/workflows
), - Prometheus metric scraping - targets are:
- Django app (using
django-prometheus
), - Server (through
node-exporter
), - Grafana dashboarding tool,
- Prometheus itself.
- Django app (using
- Loki for log aggregation,
- Grafana for constructing dashboards with visualisations of Prometheus metrics and logs,
- Alertmanager for sending alerts when Prometheus detects certain conditions (alerts are defined in
docker/prometheus/*.rules.yml
files), - MailHog for local SMTP server setup (allows for local alert email testing).
- Clone the repo
- Run
docker compose build && docker compose up