Skip to content

feat: send dipper's alerts to Slack - #735

Merged
MoonBoi9001 merged 5 commits into
mb9/reviewfrom
mb9/send-dipper-alerts-to-slack
Oct 8, 2026
Merged

MoonBoi9001 merged 5 commits into
mb9/reviewfrom
mb9/send-dipper-alerts-to-slack

Conversation

@MoonBoi9001

Copy link
Copy Markdown
Member

With a Slack webhook set in the new alerts config section, dipper posts its agreement_cancel_stuck, rpc_blocks_refused and nonce_gap_fill_failed log lines to Slack, at most once per tag every 15 minutes with a count of the rest; without one, nothing changes. Logs are also written without colour codes, which had split tagged fields so log stores couldn't find them.

Dipper wrote terminal colour codes into its logs even when they went to a log store, which
split fields like the event tag so a search for them found nothing. Logs are now plain text.
Dipper's tagged warnings and errors, such as a cancel that keeps failing, were only in its logs.
With a Slack webhook in the config, each listed tag is now posted, at most once per tag every
15 minutes with a count of the rest, without ever holding up the code that logged it.
Slack treats &, < and > in a message as links, mentions or entities, so an error carrying an
HTML page, such as a proxy's 502, came through mangled. They are now escaped.
The count of held-back alerts named the window in whole minutes rounded down, so 30 seconds read
as "the last 0 minutes", and a window under a minute was only checked once a minute. Both now
follow the window as configured.
Alerts dropped because the queue was full only showed up as a warning in dipper's own logs, so
the "N more" figure in Slack was too low during a burst. They are now counted by event into that
figure.
@MoonBoi9001
MoonBoi9001 marked this pull request as ready for review October 8, 2026 19:18
@MoonBoi9001
MoonBoi9001 merged commit 0f7f89c into mb9/review Oct 8, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant