Severity: warning · Fires after: 30m · Rule: central/prometheus/rules/visibility.yml
The visibility-exporter container is not being scraped. Every webmaster_*
and seo_* series stops, and with them every other SEO alert goes blind —
an absent series never satisfies a comparison, so nothing else can fire.
absent(up{job="visibility-exporter"} == 1)
The job is excluded from ServiceDown (critical) on purpose; until 2026-10-01
that exclusion left nothing watching it at all.
ssh jakefear@docker2 'cd /opt/jakemon && docker compose ps visibility-exporter && docker compose logs --tail 100 visibility-exporter'
Usually a crash on a bad edit to the bind-mounted visibility/ tree, or an OOM
(VIS_EXPORTER_MEM_LIMIT, default 128m). Fix, then bin/deploy-central.sh and
docker compose up -d --force-recreate visibility-exporter.
State (sweep cursor, decay history, snapshots) lives in the visibility-data
volume and survives a restart; the gauges themselves are in-memory and reappear
after the first poll, a few minutes in.