Tutorial: Full observability stack
เนื้อหานี้ยังไม่ได้แปลเป็นภาษาไทย แสดงเป็นภาษาอังกฤษแทน
This tutorial extends the lightweight observability wiring from First-app step 6 into a full local stack: OTLP collector + Grafana + Tempo + Loki + Mimir, with dependency-health dashboards and SLO templates pre-loaded.
What you’ll build
Section titled “What you’ll build”- a docker-compose stack that runs Grafana, Tempo, Loki, Mimir, and the OTLP collector.
- dashboards for engine startup, REST latency, dependency-health, eventing throughput, and DLQ depth.
- recording rules for SLI/SLO budget tracking.
- alerts for
/healthfailures, dependency probe regressions, and slow traces.
Reference compose
Section titled “Reference compose”services: otel-collector: image: otel/opentelemetry-collector-contrib:0.112.0 volumes: [./otel-collector-config.yaml:/etc/otel-collector-config.yaml] command: ["--config=/etc/otel-collector-config.yaml"] ports: ["4317:4317", "13133:13133"]
tempo: image: grafana/tempo:2.6.0 command: ["-config.file=/etc/tempo.yaml"] volumes: [./tempo.yaml:/etc/tempo.yaml]
loki: image: grafana/loki:3.2.0
mimir: image: grafana/mimir:2.14.0 command: ["-config.file=/etc/mimir.yaml"]
grafana: image: grafana/grafana:11.4.0 environment: GF_SECURITY_ADMIN_PASSWORD: admin GF_FEATURE_TOGGLES_ENABLE: traceqlEditor volumes: - ./grafana/provisioning:/etc/grafana/provisioning - ./grafana/dashboards:/var/lib/grafana/dashboards ports: ["3000:3000"]Provider-specific switches
Section titled “Provider-specific switches”The CephalonEngine observability adapters cover Alibaba Cloud, AWS, Azure Monitor, DigitalOcean, GCP, Grafana Cloud, Huawei Cloud, Kubernetes, New Relic, OpenShift, Oracle Cloud, Serilog, and Tanzu. Switching is a config change:
{ "Observability": { "Provider": "AzureMonitor", "ConnectionString": "InstrumentationKey=..." }}Status
Section titled “Status”The full step-by-step lands in the next docs push. See Technology → Observability for the package catalogue and per-provider notes.