A self-healing microservice architecture with Docker, Flask, Prometheus, and Grafana
# Clone and deploy
git clone https://github.com/Dasmat13/autohealing-microservices.git
cd autohealing-microservices
docker-compose up -d --build| Component | URL | Credentials |
|---|---|---|
| Service A | http://localhost/a |
- |
| Service B | http://localhost/b |
- |
| Prometheus | http://localhost:9090 |
- |
| Grafana | http://localhost:3000 |
admin:admin |
- Self-healing: Watchtower auto-restarts failed containers
- Monitoring: Prometheus scrapes metrics every 15s
- Visualization: Pre-configured Grafana dashboards
- Load Balancing: Nginx distributes traffic
- Open Grafana:
http://localhost:3000(admin/admin) - Add Prometheus data source: URL →
http://prometheus:9090and click Save & Test - Import dashboards:
- Docker metrics dashboard: Grafana dashboard ID 893 (requires
cadvisorscraping) - Or import custom dashboard JSON (service metrics) — see
grafana/flask-dashboard.json
- Docker metrics dashboard: Grafana dashboard ID 893 (requires
- If Grafana shows "No data": verify Prometheus targets at
http://localhost:9090/targets
Common fixes:
# Rebuild single service
docker-compose up -d --build service-a
# Check container health
docker ps --filter "health=unhealthy"MIT © 2023 Dasmat13



