blackbox-exporter

Blackbox Exporter Machine Charm

Channel Revision Published Runs on
latest/edge 12 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 11 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 10 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 9 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 8 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 7 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 6 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 5 03 Feb 2026
Ubuntu 24.04 Ubuntu 22.04
juju deploy blackbox-exporter --channel edge
Show information

Platform:

Ubuntu
24.04 22.04

Learn about configurations >

  • config_file | string

    Supply a configuration file for Blackbox Exporter in which modules and their parameters are specified. The provided config file must be a valid YAML and contain a modules section. If this value is unset, the default below will be used.

    modules: http_2xx: prober: http timeout: 10s tcp_connect: prober: tcp timeout: 10s icmp: prober: icmp timeout: 10s icmp: preferred_ip_protocol: "ip4" ip_protocol_fallback: true

    Automatic connectivity checks require the ICMP module. If you need automatic cross-unit connectivity checks, do NOT remove the ICMP module. If your ICMP checks require DNS resolution for a target e.g. charmhub.io, ensure the parameter ip_protocol_fallback is set to true. Refer to https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md for more information.

  • probes_file | string

    Scrape config for Opentelemetry Collector in YAML format. Refer to https://github.com/prometheus/blackbox_exporter#prometheus-configuration for full details. The scrape jobs defined via this option are added to the self monitoring and, if enabled, automatic cross-unit ICMP connectivity checks. They are then forwarded over relation data to Opentelemetry Collector. Scrape config should follow the upstream format: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. An example file would be: scrape_configs: - job_name: check-charmhub-connectivity metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - charmhub.io - ubuntu.com

    Ensure your file starts with scrape_configs. Separate jobs using different job names. The charm will prepend its principal's hostname to the job name. For example, the job name check-charmhub-connectivity will become <hostname>-check-charmhub-connectivity. You can provide custom labels under the labels section. However, the charm will automatically set the following labels:

    1. source: equal to the name of the principal unit.
    2. source_hostname: equal to the hostname of the machine hosting the unit.

    Upon changing the config, the provided scrape jobs will be validated. If they are invalid, the charm will be set to Blocked along with a dedicated message and the provided jobs will NOT be forwarded over relation data to Opentelemetry Collector. When specifying targets, do NOT include the scheme. That means charmhub.io is a valid target, but https://charmhub.io is not.