The directory's refresher alert waits out a restart (#365)
Its rounds come in bursts about twelve hours apart and its count starts again at each restart, so for hours after a deploy no check had been counted and the rule would have fired. It judges only once the directory has been up 13 hours. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -62,8 +62,11 @@ rules = [
|
|||||||
"TypeSafe refused calls as over its limits (#277) or malformed (#257): ipx is asking wrongly."),
|
"TypeSafe refused calls as over its limits (#277) or malformed (#257): ipx is asking wrongly."),
|
||||||
rule("signals-stale", "Signals have stopped", 'max(ipx_signals_last_pass_age_seconds{job="ipx"})', "gt", 900, "5m",
|
rule("signals-stale", "Signals have stopped", 'max(ipx_signals_last_pass_age_seconds{job="ipx"})', "gt", 900, "5m",
|
||||||
"The Signals judge has not finished a pass for 15 minutes; its signals trace shows which Jev call holds it."),
|
"The Signals judge has not finished a pass for 15 minutes; its signals trace shows which Jev call holds it."),
|
||||||
|
# Only once it has been up 13 hours: its rounds come in bursts about twelve hours apart, and the
|
||||||
|
# count starts again at each restart, so a deploy would read as stopped.
|
||||||
rule("directory-refresh", "The directory has stopped checking feeds",
|
rule("directory-refresh", "The directory has stopped checking feeds",
|
||||||
'sum(increase(directory_feed_checks_total{job="ipx-directory"}[13h]))', "lt", 1, "30m",
|
'sum(increase(directory_feed_checks_total{job="ipx-directory"}[13h])) < 1'
|
||||||
|
' and on() max(directory_uptime_seconds{job="ipx-directory"}) > 46800', "lt", 1, "30m",
|
||||||
"No feed checked in 13 hours; each is due every 12.", window=46800),
|
"No feed checked in 13 hours; each is due every 12.", window=46800),
|
||||||
# Tower, which everything shares: a stall here is every request slow (2026-10-18, load 160).
|
# Tower, which everything shares: a stall here is every request slow (2026-10-18, load 160).
|
||||||
rule("load", "Tower is overloaded", 'max(node_load5{job="node"})', "gt", 48, "10m",
|
rule("load", "Tower is overloaded", 'max(node_load5{job="node"})', "gt", 48, "10m",
|
||||||
|
|||||||
Reference in New Issue
Block a user