- Docker (24+) with Docker Compose V2
- 4 GB+ RAM available for Docker (OpenSearch needs memory)
- Ports available: 3000, 4317, 4318, 5601, 9090, 9200, 16686
git clone https://github.com/TheLoop705/pulse-observability.git
cd pulse-observabilitycp .env.example .env
# Optional: edit .env to customize ports, passwords, etc.docker compose up -dThis starts all 6 core services. First run will pull images (~2 GB).
./scripts/health-check.sh| Service | URL | Credentials |
|---|---|---|
| Grafana | http://localhost:3000 | admin / pulse |
| Prometheus | http://localhost:9090 | — |
| Jaeger | http://localhost:16686 | — |
| OpenSearch Dashboards | http://localhost:5601 | — |
To see telemetry in action without instrumenting your own app:
docker compose -f docker-compose.yml -f docker-compose.demo.yml up -d --buildOr use the helper:
./scripts/demo.shThis builds and starts:
- A Spring Boot demo app (auto-instrumented with OTel Java Agent)
- A load generator that continuously hits the demo endpoints
Within ~1 minute, you'll see metrics, traces, and logs flowing through the Grafana dashboards.
The demo app is accessible at http://localhost:8080.
# Stop everything
./scripts/stop.sh
# Or manually
docker compose -f docker-compose.yml -f docker-compose.demo.yml down
# Remove all data volumes
docker compose down -v- Instrument Your Own App — Add OTel to your project
- Configuration Guide — Deep dive into each config file
- Architecture — Understand the design decisions