Velero Operator COS integration

Integrate with COS

This guide describes how to integrate Charmed Velero with the Canonical Observability Stack (COS).

Requirements

  • A Juju controller bootstrapped on a MicroK8s cloud. Follow this guide for more details.

Deploy COS Lite

Follow Deploy COS Lite on MicroK8s for details on how to set up cos-lite on MicroK8s.

Ensure to set up cos-lite with this offers overlay so that the COS model is ready for cross-model relations. See —relevant section in the above guide here.

Deploy an OpenTelemetry Collector

You can deploy an OpenTelemetry Collector in the same model as the Charmed Velero.

It is used to scrape Prometheus metrics and export them to Prometheus in the COS model. A grafana dashboard is also shipped with Charmed Velero and OpenTelemetry Collector can export it to the COS’s Grafana as well.

To do so, first relate the charms:

juju deploy opentelemetry-collector-k8s --channel 2/stable
juju relate opentelemetry-collector-k8s:metrics-endpoint velero-operator:metrics-endpoint
juju relate opentelemetry-collector-k8s:grafana-dashboard-consumer velero-operator:grafana-dashboard

See Opentelemetry Collector documentation for more details.

The required integration is provided by Juju Offers. Verify if the offers from the COS model are visible:

juju find-offers -m microk8s-controller:cos-model

Now add the necessary relations to the opentelemetry-collector-k8s charm:

juju relate opentelemetry-collector-k8s cos.prometheus-receive-remote-write
juju relate opentelemetry-collector-k8s cos.grafana-dashboards
juju relate opentelemetry-collector-k8s cos.loki-logging

Check metrics

The metrics are available via http://10.43.8.34:80/cos-prometheus-0, which is exposed by COS.

1 Like