DEV Community

Siri Varma Vegiraju
Siri Varma Vegiraju

Posted on

Setting up Observability with Dapr

πŸ“Š 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
Enter fullscreen mode Exit fullscreen mode

5. Enable Tracing

apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
  name: tracing
spec:
  tracing:
    samplingRate: "1"
    zipkin:
      endpointAddress: "http://localhost:9411/api/v2/spans"
Enter fullscreen mode Exit fullscreen mode

Use config:

dapr run --app-id nodeapp --config ./dapr-config.yaml ...
Enter fullscreen mode Exit fullscreen mode

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)