canonical / loki-k8s-operator

https://charmhub.io/loki-k8s
Apache License 2.0
10 stars 16 forks source link

Workload tracing #473

Closed mmkay closed 5 days ago

mmkay commented 6 days ago

Issue

Loki was missing workload traces.

Solution

Configure Loki to send workload traces using environment variables.

Context

Implemented workload traces with an assumption of the split to charm and workload traces, as descibed here: https://discourse.charmhub.io/t/cos-endpoint-split-into-charm-tracing-and-workload-tracing/15978

Testing Instructions

See that the integration tests pass, or run the following bundle:

bundle: kubernetes
applications:
  loki:
    charm: local:loki-k8s-0
    base: ubuntu@20.04/stable
    scale: 1
    constraints: arch=amd64
    storage:
      active-index-directory: kubernetes,1,1024M
      loki-chunks: kubernetes,1,1024M
    trust: true
  minio:
    charm: minio
    channel: latest/edge
    revision: 383
    base: ubuntu@20.04/stable
    resources:
      oci-image: 545
    scale: 1
    options:
      access-key: accesskey
      secret-key: secretkey
    constraints: arch=amd64
    storage:
      minio-data: kubernetes,1,10240M
    trust: true
  s3-integrator:
    charm: s3-integrator
    channel: latest/edge
    revision: 83
    scale: 1
    options:
      bucket: tempo
      endpoint: minio-0.minio-endpoints.test-workload-tracing-5vcc.svc.cluster.local:9000
    constraints: arch=amd64
  tempo:
    charm: tempo-coordinator-k8s
    channel: latest/edge
    revision: 37
    resources:
      nginx-image: 5
      nginx-prometheus-exporter-image: 3
    scale: 1
    constraints: arch=amd64
    storage:
      data: kubernetes,1,1024M
    trust: true
  tempo-worker:
    charm: tempo-worker-k8s
    channel: latest/edge
    revision: 40
    resources:
      tempo-image: 4
    scale: 1
    constraints: arch=amd64
    storage:
      data: kubernetes,1,1024M
    trust: true
relations:
- - tempo:s3
  - s3-integrator:s3-credentials
- - tempo:tempo-cluster
  - tempo-worker:tempo-cluster
- - loki:workload-tracing
  - tempo:tracing
- - tempo:logging
  - loki:logging

Upgrade Notes

If you have COS components deployed together with Tempo and related using a tracing integration in your Juju model, please remove the tracing relation before the upgrade and re-relate the applications to tempo after the upgrade.