canonical / grafana-agent-k8s-operator

This charmed operator automates the operational procedures of running Grafana Agent, an open-soruce telemetry collector.
https://charmhub.io/grafana-agent-k8s
Apache License 2.0
8 stars 18 forks source link

Add charm tracing #281

Closed mmkay closed 5 months ago

mmkay commented 5 months ago

Summary

Add charm tracing to grafana-agent-k8s.

Testing Instructions

It looks like there's no cross-model bundle support: https://discourse.charmhub.io/t/can-a-bundle-define-a-model/1341/2 (feel free to correct me!) so instructions need to be a bit more complicated.

Deploy cos-lite and tempo-k8s in one model and create offers for tracing and prometheus:

juju deploy cos-lite --channel edge --trust
juju deploy tempo-k8s --channel edge
jhack imatrix fill
juju offer prometheus:receive-remote-write prometheus-receive-remote-write
juju offer tempo-k8s:tracing tracing

Then in another model, deploy the following bundle:

bundle: kubernetes
saas:
  prometheus-receive-remote-write:
    url: microk8s:admin/cos.prometheus-receive-remote-write
  tracing:
    url: microk8s:admin/cos.tracing
applications:
  grafana-agent:
    charm: local:grafana-agent-k8s-0
    scale: 1
    constraints: arch=amd64
    storage:
      data: kubernetes,1,1024M
  zinc-k8s:
    charm: zinc-k8s
    channel: stable
    revision: 132
    resources:
      zinc-image: 117
    scale: 1
    constraints: arch=amd64
    storage:
      data: kubernetes,1,1024M
relations:
- - zinc-k8s:metrics-endpoint
  - grafana-agent:metrics-endpoint
- - grafana-agent:send-remote-write
  - prometheus-receive-remote-write:receive-remote-write
- - grafana-agent:tracing
  - tracing:tracing

You should see traces from grafana-agent in grafana:

Screenshot from 2024-03-18 10-21-36

Upgrade Notes