Monitower is a containerized monitoring stack designed to provide observability and alerting for your infrastructure. This project leverages Docker Compose to orchestrate multiple services for metrics collection, visualization, error tracking, alert management, authentication, and container registry management.
- Prometheus: Collects and stores metrics from configured targets.
- Grafana: Visualizes metrics and dashboards.
- Alertmanager: Handles alerts sent by Prometheus.
- Node Exporter: Exposes hardware and OS metrics for Prometheus.
- Glitchtip: Provides error tracking and monitoring for your applications.
- Registry: A private Docker registry for storing and distributing your container images.
- Keycloak: Provides identity and access management, enabling single sign-on (SSO) and secure authentication for your services.
-
Clone this repository:
git clone https://github.com/yourusername/monitower.git cd monitower -
Start all services:
docker-compose up -d
-
Access the dashboards and services:
- Grafana: http://localhost:3000
- Prometheus: http://localhost:9090
- Alertmanager: http://localhost:9093
- Glitchtip: http://localhost:8000
- Registry: http://localhost:5000
- Keycloak: http://localhost:8080
-
Stop the stack:
docker-compose down
- Edit
prometheus.ymlto add scrape targets. - Configure Grafana dashboards and data sources as needed.
- Adjust alert rules in Prometheus and Alertmanager configurations.
- Set up projects and configure error reporting in Glitchtip.
- Configure authentication and storage for the Registry as needed.
- Set up realms, clients, and users in Keycloak to manage authentication and authorization for your services.
Monitower provides a quick way to deploy a full-featured monitoring stack using Docker Compose. It is suitable for development, testing, or small-scale production environments, and includes a private registry for managing your container images, as well as integrated authentication with Keycloak.
MIT