This project demonstrates a full monitoring and logging stack for a Go (Fiber v3) API, including interactive OpenAPI documentation using Stoplight Elements.
- Go 1.24 + Fiber v3 – REST API server with endpoints
/status/:code,/echo,/metrics - Prometheus – collects application metrics
- Grafana – visualizes metrics and logs
- Loki + Promtail – structured log collection and aggregation
- Stoplight Elements – provides interactive OpenAPI documentation UI
Prerequisites: Docker + Docker Compose
docker compose up --build| Service | URL |
|---|---|
| API Docs | http://localhost:3000/docs |
| OpenAPI Spec | http://localhost:3000/openapi.yaml |
| Prometheus Metrics | http://localhost:3000/metrics |
| Prometheus UI | http://localhost:9090 |
| Grafana | http://localhost:3001 |
🔐 Grafana default credentials: admin / admin
ab -k -c 5 -n 20000 'http://localhost:3000/' & \
ab -k -c 5 -n 2000 'http://localhost:3000/status/400' & \
ab -k -c 5 -n 3000 'http://localhost:3000/status/409' & \
ab -k -c 5 -n 5000 'http://localhost:3000/status/500' & \
ab -k -c 5 -n 2000 'http://localhost:3000/status/403' & \
ab -k -c 5 -n 2000 'http://localhost:3000/status/201' & \
ab -k -c 50 -n 5000 'http://localhost:3000/status/200?sleep=1' & \
ab -k -c 50 -n 2000 'http://localhost:3000/status/200?sleep=2'





