personal_infra/ansible/infra
counterweight 2a80f0e3ca
bitcoin-knots: ride out block-time RPC stalls
The RPC probe flapped while every other knots check stayed green. Each burst
lined up with a block: validation on the saturated HDD holds the node busy
while Fulcrum, mempool and DATUM all fetch the block, and bitcoind rejected
calls with "work queue depth exceeded" (93 times on 2026-10-18).

- 403: the probe runs every minute, so failure-threshold 4 rides out a
  1-3 minute burst while a real outage still alerts within ~5 minutes.
  Probes now take an optional failure_threshold over a shared probe_alert.
- rpcworkqueue=64 and rpcthreads=8, so bursts queue instead of failing.

Profiling later showed the stalls are per-input UTXO lookups at ~5 ms each -
HDD seek latency - so this treats the symptom. The fix is chainstate on SSD.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 22:10:25 +02:00
..
nodito monitoring: retire the Uptime-Kuma-era checks, add ZFS pool capacity 2026-09-14 10:18:57 +02:00
01_user_and_access_setup_playbook.yml ansible: delete the duplicated vars files, move globals to group_vars/all 2026-09-13 20:58:46 +02:00
02_firewall_and_fail2ban_playbook.yml ansible: delete the duplicated vars files, move globals to group_vars/all 2026-09-13 20:58:46 +02:00
400_host_monitoring.yml alerting: Signal via signal-cli-rest-api, and faster failure detection 2026-09-14 21:40:37 +02:00
401_service_monitoring.yml gatus: service checks tolerate one failed run 2026-10-19 22:10:24 +02:00
402_public_monitoring.yml monero: check every five minutes again 2026-10-19 22:10:24 +02:00
403_service_probe_registration.yml bitcoin-knots: ride out block-time RPC stalls 2026-10-19 22:10:25 +02:00
409_remove_legacy_monitoring.yml monitoring: retire the Uptime-Kuma-era checks, add ZFS pool capacity 2026-09-14 10:18:57 +02:00
900_install_rsync.yml ansible: delete the duplicated vars files, move globals to group_vars/all 2026-09-13 20:58:46 +02:00
910_docker_playbook.yml new groups, stop using all 2026-09-11 21:51:50 +02:00
920_join_headscale_mesh.yml ansible: move the cross-host ports to host_vars, delete services_config.yml 2026-09-13 21:02:57 +02:00