π Observability with Dapr
This guide provides a quick overview of how to set up observability in applications using Dapr.
1. Introduction
- Observability is key in understanding distributed systems.
- Dapr provides built-in support for:
- Metrics via Prometheus
- Tracing via Zipkin/OpenTelemetry
- Logs from Dapr sidecars and applications
2. Prerequisites
- Dapr CLI installed and initialized
- Docker & Docker Compose
- (Optional) Kubernetes cluster for advanced deployment
3. Observability Stack
- Prometheus β collects metrics
- Grafana β visualizes metrics
- Zipkin β displays traces
- Dapr Sidecars β expose telemetry endpoints
4. Setup in Self-Hosted Mode
A. Run Sample Apps
dapr init
cd quickstarts/tutorials/observability
docker-compose up --build
5. Enable Tracing
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: tracing
spec:
tracing:
samplingRate: "1"
zipkin:
endpointAddress: "http://localhost:9411/api/v2/spans"
Use config:
dapr run --app-id nodeapp --config ./dapr-config.yaml ...
6. Explore Dashboards
Grafana: http://localhost:3000 (admin/admin)
Import Dapr dashboards
Prometheus: http://localhost:9090
Sample query: dapr_runtime_service_invocations_total
Zipkin: http://localhost:9411
Search service traces
7. Extend to Your Apps
Use Dapr sidecars with config
Add tracing context propagation in code (if needed)
Export custom app metrics via Prometheus exporters
Top comments (0)