This note is for the authors of ethereum-optimism/monitorism#234.
The withdrawal_l2_presence monitor scans WithdrawalProvenExtension1 logs in fixed ranges. The --log.scan.blocks.per.iteration flag sets the range size. If one eth_getLogs call fails, the whole run fails.
The next run retries from the same start block, with the same range size. Some providers reject a range that is too large or that returns too many logs. Some providers time out on such a range. With a fixed range, the monitor can then fail on every run and never move forward. The heartbeat alert fires, but the monitor does not recover without a config change.