Closed mmkay closed 5 months ago
This PR adds charm tracing support to Grafana charm.
Use charm_tracing library with OTLP/HTTP(S) protocol.
charm_tracing
Use the following bundles to test: Without TLS:
bundle: kubernetes applications: alertmanager: charm: alertmanager-k8s channel: stable revision: 96 series: focal resources: alertmanager-image: 84 scale: 1 constraints: arch=amd64 storage: data: kubernetes,1,1024M trust: true catalogue: charm: catalogue-k8s channel: stable revision: 33 series: focal resources: catalogue-image: 32 scale: 1 options: description: "Canonical Observability Stack Lite, or COS Lite, is a light-weight, highly-integrated, \nJuju-based observability suite running on Kubernetes.\n" tagline: Model-driven Observability Stack deployed with a single command. title: Canonical Observability Stack constraints: arch=amd64 trust: true grafana-k8s: charm: local:grafana-k8s-0 series: focal scale: 1 constraints: arch=amd64 storage: database: kubernetes,1,1024M trust: true loki: charm: loki-k8s channel: stable revision: 105 series: focal resources: loki-image: 88 scale: 1 constraints: arch=amd64 storage: active-index-directory: kubernetes,1,1024M loki-chunks: kubernetes,1,1024M trust: true prometheus: charm: prometheus-k8s channel: stable revision: 159 series: focal resources: prometheus-image: 134 scale: 1 constraints: arch=amd64 storage: database: kubernetes,1,1024M trust: true tempo-k8s: charm: tempo-k8s channel: candidate revision: 22 resources: tempo-image: 14 scale: 1 constraints: arch=amd64 storage: data: kubernetes,1,1024M traefik: charm: traefik-k8s channel: stable revision: 166 series: focal resources: traefik-image: 155 scale: 1 constraints: arch=amd64 storage: configurations: kubernetes,1,1024M trust: true relations: - - traefik:ingress-per-unit - prometheus:ingress - - traefik:ingress-per-unit - loki:ingress - - traefik:ingress - alertmanager:ingress - - prometheus:alertmanager - alertmanager:alerting - - loki:alertmanager - alertmanager:alerting - - prometheus:metrics-endpoint - traefik:metrics-endpoint - - prometheus:metrics-endpoint - alertmanager:self-metrics-endpoint - - prometheus:metrics-endpoint - loki:metrics-endpoint - - catalogue:ingress - traefik:ingress - - catalogue:catalogue - prometheus:catalogue - - catalogue:catalogue - alertmanager:catalogue - - tempo-k8s:tracing - grafana-k8s:tracing - - tempo-k8s:grafana-source - grafana-k8s:grafana-source - - traefik:traefik-route - grafana-k8s:ingress
With TLS:
bundle: kubernetes applications: alertmanager: charm: alertmanager-k8s channel: stable revision: 96 series: focal resources: alertmanager-image: 84 scale: 1 constraints: arch=amd64 storage: data: kubernetes,1,1024M trust: true catalogue: charm: catalogue-k8s channel: stable revision: 33 series: focal resources: catalogue-image: 32 scale: 1 options: description: "Canonical Observability Stack Lite, or COS Lite, is a light-weight, highly-integrated, \nJuju-based observability suite running on Kubernetes.\n" tagline: Model-driven Observability Stack deployed with a single command. title: Canonical Observability Stack constraints: arch=amd64 trust: true grafana-k8s: charm: local:grafana-k8s-0 series: focal scale: 1 constraints: arch=amd64 storage: database: kubernetes,1,1024M trust: true loki: charm: loki-k8s channel: stable revision: 105 series: focal resources: loki-image: 88 scale: 1 constraints: arch=amd64 storage: active-index-directory: kubernetes,1,1024M loki-chunks: kubernetes,1,1024M trust: true prometheus: charm: prometheus-k8s channel: stable revision: 159 series: focal resources: prometheus-image: 134 scale: 1 constraints: arch=amd64 storage: database: kubernetes,1,1024M trust: true self-signed-certificates: charm: self-signed-certificates channel: stable revision: 72 scale: 1 constraints: arch=amd64 tempo-k8s: charm: tempo-k8s channel: candidate revision: 22 resources: tempo-image: 14 scale: 1 constraints: arch=amd64 storage: data: kubernetes,1,1024M traefik: charm: traefik-k8s channel: stable revision: 166 series: focal resources: traefik-image: 155 scale: 1 constraints: arch=amd64 storage: configurations: kubernetes,1,1024M trust: true relations: - - traefik:ingress-per-unit - prometheus:ingress - - traefik:ingress-per-unit - loki:ingress - - traefik:ingress - alertmanager:ingress - - prometheus:alertmanager - alertmanager:alerting - - loki:alertmanager - alertmanager:alerting - - prometheus:metrics-endpoint - traefik:metrics-endpoint - - prometheus:metrics-endpoint - alertmanager:self-metrics-endpoint - - prometheus:metrics-endpoint - loki:metrics-endpoint - - catalogue:ingress - traefik:ingress - - catalogue:catalogue - prometheus:catalogue - - catalogue:catalogue - alertmanager:catalogue - - self-signed-certificates:certificates - grafana-k8s:certificates - - tempo-k8s:tracing - grafana-k8s:tracing - - tempo-k8s:grafana-source - grafana-k8s:grafana-source - - traefik:traefik-route - grafana-k8s:ingress - - traefik:certificates - self-signed-certificates:certificates
Issue
This PR adds charm tracing support to Grafana charm.
Solution
Use
charm_tracing
library with OTLP/HTTP(S) protocol.Testing Instructions
Use the following bundles to test: Without TLS:
With TLS:
Release Notes