Platform:

Ubuntu
24.04 22.04 20.04
Channel Revision Published Runs on
0.44/stable 824 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 831 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 816 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 828 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 829 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 833 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 832 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 827 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 830 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 825 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/stable 826 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 893 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 895 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 896 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 897 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 898 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 878 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 880 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 875 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 876 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 872 06 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/candidate 825 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 893 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 895 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 896 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 897 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 898 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 878 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 880 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 875 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 876 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 872 06 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/beta 825 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 898 10 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 897 10 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 896 10 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 895 10 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 893 10 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 880 06 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 878 06 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 876 06 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 875 06 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 872 05 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
0.44/edge 825 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 914 21 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 913 21 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 912 21 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 911 19 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 908 19 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 907 19 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 906 19 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 905 19 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 904 12 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 901 11 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
dev/edge 890 07 Aug 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/stable 851 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/stable 846 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/stable 850 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/stable 849 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/stable 848 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/stable 847 07 Jul 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/candidate 851 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/candidate 846 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/candidate 850 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/candidate 849 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/candidate 848 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/candidate 847 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/beta 851 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/beta 846 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/beta 850 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/beta 849 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/beta 848 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/beta 847 18 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/edge 851 17 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/edge 850 17 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/edge 849 17 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/edge 848 17 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/edge 847 17 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
2/edge 846 17 Jun 2026
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/stable 606 18 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/stable 605 18 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/stable 607 18 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/stable 603 18 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/stable 604 18 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/stable 602 18 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/candidate 606 09 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/candidate 605 09 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/candidate 607 09 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/candidate 603 09 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/candidate 604 09 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/candidate 602 09 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/beta 606 02 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/beta 605 02 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/beta 607 02 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/beta 603 02 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/beta 604 02 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/beta 602 02 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/edge 607 20 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/edge 606 20 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/edge 605 20 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/edge 604 20 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/edge 603 20 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1/edge 602 20 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
juju deploy grafana-agent --channel 0.44/stable

When we relate a metrics provider (e.g. some server) to prometheus, we expect prometheus to post an alert if the server is not responding. With prometheus’s PromQL this can be expressed universally with up and absent expressions:

  • up < 1
  • absent(up)

Instead of having every single charm in the ecosystem duplicate the same alert rules, they are automatically generated by the prometheus-scrape and remote-write charm libraries. This alleviates charm authors from having to implement their own HostHealth rules per charm and reduces implementation error.

Avoiding alert fatigue

The alert rules are designed to be in the Pending state for 5 minutes before transitioning to the Firing state. This is necessary to avoid alerting false positives in cases of new installation, or flapping metric behaviour.

“Host down” vs. “metrics missing”

Note that HostHealth has slightly different semantics between remote-write and scrape:

  • If Prometheus failed to scrape, then the target is down (up < 1).
  • If Grafana Agent failed to remote-write (regardless of whether scrape succeeded) then it’s absent(up).

Scrape

With support for centralized (generic) alerts, Prometheus provides a HostDown alert for each charm and each of its units via alert labels.

The alert rule within prometheus_scrape contains (ignoring annotations):

groups:
  - name: HostHealth
    rules:
    - alert: HostDown
      expr: up < 1
      for: 5m
      labels:
        severity: critical
    - alert: HostMetricsMissing
      # This alert is applicable only when the provider is linked via
      # an aggregator (such as grafana agent)
      expr: absent(up)
      for: 5m
      labels:
        severity: critical

Note: We use absent(up) with for: 5m because the alert transitions from Pending to Firing. If query portability is desired, absent_over_time(up[5m]) is an alternative, but this will trigger without a Pending state after 5 minutes.

Remote write

With support for centralized (generic) alerts, Prometheus provides a HostMetricsMissing alert for Grafana Agent itself and each application that is aggregated by it.

Note: The HostMetricsMissing alert does not show each unit, only the application!

The alert rule within prometheus_remote_write contains (ignoring annotations):

groups:
  - name: AggregatorHostHealth
    rules:
    - alert: HostMetricsMissing
      expr: absent(up)
      for: 5m
      labels:
        severity: critical

Alerting scenarios

Centralized (generic) alerts are supported in the following deployment scenarios

Note: In these example, the aggregator is Grafana Agent.

Note: Check Alertmanager for labelled alerts at either the unit level (HostDown) or at the application level (HostMetricsMissing).

Metrics endpoint (k8s charms)

image

  1. When a unit of some-charm is down for 5 minutes, the HostDown alert fires in the Prometheus UI (showing the specific unit).
  2. If multiple units are down, they show in the labels as well.

With an aggregator (k8s charms)

Scrape

  1. When a unit of some-charm is down for 5 minutes, the HostDown alert fires in the Prometheus UI (showing the specific unit).
  2. If multiple units are down, they show in the labels as well.

Remote write

  1. When Grafana Agent is down for 5 minutes, the HostMetricsMissing alert fires for both the HostHealth and AggregatorHostHealth groups in the Prometheus UI.

With an aggregator (machine charms)

Scrape

  1. When a unit of some-charm is down for 5 minutes, the HostDown alert fires in the Prometheus UI (showing the specific unit).
  2. If multiple units are down, they show in the labels as well.

Remote write

  1. When Grafana Agent is down for 5 minutes, the HostMetricsMissing alert fires for both the HostHealth and AggregatorHostHealth groups in the Prometheus UI.

With Cos-proxy (machine charms)

  1. When cos-proxy is down for 5 minutes, the HostDown alert fires in the Prometheus UI.

References


Help improve this document in the forum (guidelines). Last updated 1 year, 6 months ago.