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