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
andprometheus_remote_write
), which simplifies firewall configuration, as only outgoing connections would need to be established.
See deployment scenarios for further detail.
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
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 Charmhub docs page.
This charm by default uses the latest
release of the grafana-agent