Skip to content

This charmed operator automates the operational procedures of running Grafana Agent, an open-soruce telemetry collector.

License

Notifications You must be signed in to change notification settings

canonical/grafana-agent-k8s-operator

Repository files navigation

Grafana Agent Charmed Operator for Kubernetes

Charmhub Badge Release Edge Discourse Status

⚠️ Are you looking for the Grafana Agent machine charm?

The charms have been split into separate repositories. The machine charm is now available here.

Description

Grafana Agent is a telemetry collector for sending metrics, logs, and trace data to the opinionated Grafana observability stack.

The Grafana Agent Charmed Operator deploys Grafana Agent in Kubernetes using Juju and the Charmed Operator Lifecycle Manager (OLM).

As a single entry point to the Canonical Observability Stack, the Grafana Agent charm brings several conveniences when deployed inside a monitored cluster:

  • Charms are related to the Grafana Agent charm, instead of to Prometheus and Loki individually. In typical deployments this would reduce the number of cross-model relations that would have been otherwise needed.
  • Conversion from scraping to remote writing: Grafana Agent would collect telemetry inside the cluster network and push it to the COS cluster (via loki_push_api and prometheus_remote_write), which simplifies firewall configuration, as only outgoing connections would need to be established.

See deployment scenarios for further detail.

Usage

Create a Juju model for your operators, say "cos":

juju add-model cos

The Grafana agent may be deployed using the juju command line:

juju deploy grafana-agent-k8s --trust

If required, you can remove the deployment completely:

juju destroy-model -y cos --no-wait --force --destroy-storage

Relations

Currently, supported relations are:

requires:
  send-remote-write:
    interface: prometheus_remote_write
  metrics-endpoint:
    interface: prometheus_scrape
  logging-consumer:
    interface: loki_push_api

provides:
  self-metrics-endpoint:
    interface: prometheus_scrape
  grafana-dashboard:
    interface: grafana_dashboard
  logging-provider:
    interface: loki_push_api

More detailed information about these relations can be found in the Charmhub docs page.

OCI Images

This charm by default uses the latest (minor) release of the grafana-agent.