Grafana Agent
- Canonical Observability
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 260 | 10 Dec 2024 | |
latest/stable | 225 | 03 Dec 2024 | |
latest/stable | 223 | 03 Dec 2024 | |
latest/stable | 226 | 03 Dec 2024 | |
latest/stable | 224 | 03 Dec 2024 | |
latest/candidate | 319 | 10 Dec 2024 | |
latest/candidate | 224 | 01 Aug 2024 | |
latest/candidate | 226 | 01 Aug 2024 | |
latest/candidate | 225 | 01 Aug 2024 | |
latest/candidate | 223 | 01 Aug 2024 | |
latest/beta | 335 | 03 Dec 2024 | |
latest/beta | 332 | 03 Dec 2024 | |
latest/beta | 334 | 03 Dec 2024 | |
latest/beta | 333 | 03 Dec 2024 | |
latest/edge | 364 | 17 Dec 2024 | |
latest/edge | 363 | 17 Dec 2024 | |
latest/edge | 362 | 17 Dec 2024 | |
latest/edge | 361 | 17 Dec 2024 | |
latest/edge | 356 | 10 Dec 2024 |
juju deploy grafana-agent --channel edge
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
The grafana-agent
charm has two limitations:
- Only one instance of the charm should be related to each application.
- Only one instance should run per machine.
Failing to enforce these constraints can lead to configuration conflicts and errors.
When applications allow multiple relations with different instances of grafana-agent
(e.g., ga-one
and ga-two
), or several instances of grafana-agent
are running in the same machine, several issues can arise:
-
Single service and config file: Even if multiple
grafana-agent
charms are related, only one service and one configuration file are installed on the machine, overwritten by all related charms. -
Conflicting confinement settings: If different
grafana-agent
instances use different confinement types (classic
vsstrict
), the snap will apply only one type, potentially causing inconsistencies. -
Errors when removing relations: Removing a relation may uninstall the
grafana-agent
snap entirely, leaving other related charms in an error state as they attempt to manage a service that no longer exists.
More information about this, can be found in this post.
Recommended Implementation and Safeguards
-
Applications should use a
limit
in theirmetadata.yaml
/charmcraft.yaml
to restrict relations to only one instance ofgrafana-agent
.cos-agent: interface: cos_agent limit: 1
-
Ensure that only one
grafana-agent
instance runs per machine to avoid configuration conflicts and unexpected behaviour. -
Two probes (in
draft
state right now) can be executed in order to verify whether only onegrafana-agent
is related to a charm or only onegrafana-agent
deployed in a machine:juju export-bundle | ./probe_bundle.py juju status --format=yaml | ./probe_status.py
Following these practices ensures stable and predictable deployments in production environments.