Tempo Coordinator K8S

  • By Canonical Observability
Channel Revision Published Runs on
latest/edge 12 Today
Ubuntu 22.04
juju deploy tempo-coordinator-k8s --channel edge
Show information

Platform:

Typically, Tempo HA is programmed to only enable the receiver endpoints for the protocols that are being requested by the currently active tracing relations. However, you can still send traces to Tempo HA even though no charm currently related to the coordinator is requesting to enable the receiver you need.

This can be handy if, for example, you have an uncharmed workload that is able to send traces in one of the supported formats of Tempo HA.

Prerequisites

This how-to assumes you already have Tempo HA deployed together with COS-Lite stack. Follow How to deploy charmed Tempo HA with COS-Lite first if you need to deploy the stack.

How to manually configure Tempo HA to enable a specific receiver

The tempo-coordinator-k8s charm exposes, for each tracing protocol it supports, a config option called always_enable_<PROTOCOL>. In order to tell Tempo HA to enable a protocol you need, regardless of whether a Juju integration is requesting it, you must set the respective config option to "true".

For example, to enable the receiver for the jaeger-thrift-http protocol:

juju config tempo-coordinator-k8s always_enable_jaeger_thrift_http=true

How to retrieve the endpoint after you manually enabled a receiver

After enabling the protocol, you should be able to see the receiver endpoint ready to accept traces encoded with it on the list of enabled receivers:

$ juju run tempo-coordinator-k8s/0 list-receivers
Running operation 5 with 1 task
  - task 6 on unit-tempo-coordinator-k8s-0

Waiting for task 6...
jaeger-grpc: 10.211.88.9:14250
jaeger-thrift-http: http://10.211.88.9:14268
otlp-grpc: 10.211.88.9:4317
otlp-http: http://10.211.88.9:4318

This tells you: you can send traces encoded with the jaeger-thrift-http protocol to that URL.

Remember that some workloads might need an API endpoint path suffix, such as /api/traces for jaeger-thrift-http protocol. Consult your workload documentation for reference.

Contributors: @mmkay @ppasotti