Modern applications need modern observability. In this guide, you’ll learn how to set up a complete observability stack using Docker Compose, featuring:
-
🛰️ OpenTelemetry Collector
-
📈 Prometheus
-
🔍 Elasticsearch + Kibana
-
📊 Grafana
🔗 Source Code:
The full project is available on GitHub:
github.com/icpmtech/Open-Telemetry-Solutions
Perfect for developers, SREs, and DevOps teams who want logs, metrics, and traces in one place.
🧰 What’s Included?
This stack combines several popular open source tools into a single Docker-based pipeline:
Component | Purpose |
---|---|
OpenTelemetry Collector | Receives and exports telemetry data |
Prometheus | Scrapes and stores application metrics |
Elasticsearch | Stores structured logs and traces |
Kibana | UI to explore and query Elasticsearch |
Grafana | Visualizes metrics and logs in dashboards |
📁 Project Structure
🧪 Getting Started
1. Clone the Repository
2. Launch the Stack
This launches all core services.
3. Access the Interfaces
Interface | URL | Login |
---|---|---|
Grafana | http://localhost:3000 | admin / admin |
Kibana | http://localhost:5601 | – |
Prometheus | http://localhost:9090 | – |
📥 Sending Telemetry Data
You can send telemetry data using:
-
Any app instrumented with OpenTelemetry SDKs
-
The
otel-cli
tool
OTLP Endpoints
-
Metrics (HTTP):
http://localhost:4318/v1/metrics
-
Metrics (gRPC):
grpc://localhost:4317
-
Logs: Use the OTLP exporter with fields like
@timestamp
,trace_id
,message
📊 Preloaded Grafana Dashboard
Grafana comes preloaded with a dashboard that includes:
-
🔍 Log Stream – Live logs from
otel-*
indices -
📈 Time Series Panel – Visualizes log volume over time
📂 You’ll find it under: Folder: otel
→ Dashboard: OpenTelemetry Logs
⚠️ Port Conflicts?
If you get this error:
Fix it by either:
-
Removing the line in
docker-compose.yml
: -
Or changing it to an available port:
Then restart the stack:
🛠️ Extend the Stack
Ideas to grow your observability setup:
-
➕ Add Jaeger for trace visualization
-
🔄 Use Loki instead of Elasticsearch for logs
-
☁️ Deploy to the cloud using the included Bicep templates
🙌 Feedback & Contributions
This project is open source — feel free to open issues or pull requests with suggestions, bugs, or improvements!
📄 License
MIT