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:
parent
532974634e
commit
f33f1a4b67
8 changed files with 36 additions and 73 deletions
|
|
@ -104,15 +104,17 @@ healthcheck_push_url: ""
|
|||
# is set: Gatus rejects an unauthenticated push with 401.
|
||||
healthcheck_push_token: ""
|
||||
|
||||
# WHEN TO CHECK. Daily, at a fixed hour, rather than an OnUnitActiveSec
|
||||
# interval that drifts with every restart.
|
||||
# WHEN TO CHECK. Every 5 minutes, on the calendar rather than OnUnitActiveSec so
|
||||
# the cadence does not drift with every restart. (It was daily while the node
|
||||
# did its initial sync on a rotating disk; since 2026-10-03 the chain is on NVMe
|
||||
# and fully synced, and get_info answers in well under a second.)
|
||||
#
|
||||
# Prefixed because the generic `healthcheck` role owns the unprefixed
|
||||
# healthcheck_on_calendar; an unprefixed default here would shadow it for any
|
||||
# play that includes both.
|
||||
#
|
||||
# Paired with the 26h Gatus heartbeat in
|
||||
# Paired with the standard 11m Gatus heartbeat in
|
||||
# infra/403_service_probe_registration.yml. Change one and you must change the
|
||||
# other: the window has to stay above the interval or the check alerts on its
|
||||
# own jitter.
|
||||
monero_healthcheck_on_calendar: "*-*-* 05:00:00"
|
||||
monero_healthcheck_on_calendar: "*:0/5"
|
||||
|
|
|
|||
|
|
@ -8,17 +8,13 @@ Description=Monero Node Health Check Timer
|
|||
|
||||
[Timer]
|
||||
OnBootSec=2min
|
||||
# ONCE A DAY, not every 5 minutes.
|
||||
#
|
||||
# A 5-minute poll of monerod buys nothing a daily one does not: the node is a
|
||||
# multi-week initial sync on a rotating disk, and every failing poll is another
|
||||
# Signal message. The cadence and the Gatus heartbeat window are ONE decision -
|
||||
# the window MUST exceed this interval, and it is set to 26h in
|
||||
# infra/403_service_probe_registration.yml. A 24h push under a 24h window races
|
||||
# itself and alerts on jitter alone.
|
||||
# Every 5 minutes (see monero_healthcheck_on_calendar). The cadence and the
|
||||
# Gatus heartbeat window are ONE decision - the window MUST exceed this
|
||||
# interval, and it is the standard 11m in
|
||||
# infra/403_service_probe_registration.yml.
|
||||
OnCalendar={{ monero_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]
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue