monero: check every five minutes again

The probes, the unit check and the public checks ran once a day with 26h
windows, justified as "a multi-week initial sync on a rotating disk". That
stopped being true: the node is synced, and a cold explorer page now renders
in 29s and a warm one in 0.2s - polling every 5 minutes is what keeps it warm.
A dead monerod could go unnoticed for a day.

Back to the standard 5m cadence and 11m heartbeat; the per-host
service_health override on monerod-box is gone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
counterweight 2026-10-19 22:10:24 +02:00
parent 532974634e
commit f33f1a4b67
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
8 changed files with 36 additions and 73 deletions

View file

@ -74,8 +74,9 @@ healthcheck_push_url: ""
# is set: Gatus rejects an unauthenticated push with 401.
healthcheck_push_token: ""
# WHEN TO CHECK. Daily, 30 minutes after monerod's own check so the two do not
# contend for the same cold LMDB pages. See roles/monero/defaults for why the
# name is prefixed and why this is paired with the 26h heartbeat in
# infra/403_service_probe_registration.yml.
xmrblocks_healthcheck_on_calendar: "*-*-* 05:30:00"
# WHEN TO CHECK. Every 5 minutes, offset 2 minutes from monerod's own check so
# the two do not land together. On NVMe a cold page render measured 29s and a
# warm one 0.2s (2026-10-17); a 5-minute poll is what keeps it warm. See
# roles/monero/defaults for why the name is prefixed and why this is paired
# with the 11m heartbeat in infra/403_service_probe_registration.yml.
xmrblocks_healthcheck_on_calendar: "*:2/5"

View file

@ -7,14 +7,13 @@ Description=Onion Monero Blockchain Explorer Health Check Timer
[Timer]
OnBootSec=2min
# ONCE A DAY, not every 5 minutes. See the note in roles/monero's timer: the
# explorer follows the node it reads from, and this check costs a full page
# render out of the LMDB (a cold one measured 68 seconds), so polling it hard
# is not free either. The Gatus heartbeat window is 26h, set in
# Every 5 minutes (see xmrblocks_healthcheck_on_calendar). The check renders a
# full page out of the LMDB: 29s cold, 0.2s warm on NVMe - frequent polling is
# what keeps it warm. The Gatus heartbeat window is the standard 11m, set in
# infra/403_service_probe_registration.yml, and MUST stay above this interval.
OnCalendar={{ xmrblocks_healthcheck_on_calendar }}
# Spread against the other daily pushes leaving this box.
RandomizedDelaySec=900
# Small: a delay comparable to the interval would eat the heartbeat's slack.
RandomizedDelaySec=30
Persistent=true
[Install]