Observability demo for GitHub metrics using Prometheus + Grafana + github-exporter.
Designed to showcase observability practices and CI in GitHub Actions, without needing to install anything locally.
Based on community work (github-monitoring). This fork is used for educational purposes.
- Prometheus scrapes metrics from the GitHub exporter.
- Grafana with a dashboard for statistics (stars, forks, issues) of sample repos.
- CI: workflow
compose-validatevalidatesdocker-compose.ymlon each push/PR.
.
├─ grafana/ # dashboards and provisioning
├─ prometheus/ # Prometheus configuration
├─ images/ # screenshots used in this README
├─ docker-compose.yml
└─ config.monitoring # example variables (REPOS, etc.)
Running locally is not required to review the code or CI.
If someone wants to execute it locally with Docker Compose:
- Create a GitHub Personal Access Token (PAT) with
public_reposcope (orrepoif private). - Define environment variables:
REPOS(comma-separated, e.g.freeCodeCamp/freeCodeCamp,docker/docker)GITHUB_TOKEN(your PAT)
- Launch:
docker compose up -d- Grafana:
http://localhost:3000(useradmin, password defined inconfig.monitoring) - Prometheus:
http://localhost:9090
This repository automatically runs:
docker compose -f docker-compose.yml config→ validates syntax and references.
Original stack from the community (github-monitoring) + presentation and CI adjustments by @mariano-tp.
See also: Code of Conduct · Contributing · Security



