The deploy died at 'Unit blackbox-exporter.service not found': a .container without Image= is not generated at all, and the header argued for Network=host it never declared. Completes the unit (digest pinned prom/blackbox-exporter, Network=host) and fixes the bind topology the first cut got wrong: - Prometheus is bridge-networked and the netavark hairpin gap bars it from its own host's LAN IP, so a LAN-only prober bind is unscrapable and a loopback-only bind was claimed to ride the gateway on faith. The prober now binds 9115 on the podman gateway (scrape path) AND the LAN (healthcheck/diagnostics); the listen_address line leaves blackbox.yml so config and Exec cannot disagree. - comfyui probe target http://comfyui:8188 -> http://127.0.0.1:8188: bridge container names do not resolve in the host netns; the published 0.0.0.0:8188 answers on loopback there. - New seam: every observability unit must declare Image= (red on the shipped file by name); copier test pinned module presence instead of the removed listen line. Docs updated to the real topology.
18 lines
778 B
YAML
18 lines
778 B
YAML
# Blackbox exporter modules — the honest answer to "is this HTTP service
|
|
# answering?". A Prometheus scrape cannot express it (an HTML front page is a
|
|
# 200 that fails the scrape protocol), which is why the old `services` and
|
|
# `comfyui` jobs sat permanently red on `unsupported Content-Type`.
|
|
# See serverAppConfigs-docs/Architecture/Stale Signal Audit.md §1.
|
|
# The listen address is NOT set here: the quadlet unit's Exec passes
|
|
# --listen-address (LAN bind — see the unit header for why loopback is
|
|
# unreachable from the bridge-networked Prometheus). Keep this file to
|
|
# modules only, so the two sources cannot disagree.
|
|
|
|
modules:
|
|
http_2xx:
|
|
prober: http
|
|
timeout: 10s
|
|
http:
|
|
preferred_ip_protocol: ip4
|
|
valid_status_codes: [] # default: 2xx + 3xx
|