Not every overload is an attack and not every burst is a botnet — but a single IP making hundreds of requests in a minute is outside every normal traffic shape. Rate-Limit Violation Detector assigns every request in your log to a fixed time window, counts requests per IP inside each window, and flags any IP whose window count breaks your configured rate limit.
Unlike brute-force detectors, it watches raw request volume over all status codes — so API scraping, endpoint hammering, and abusive crawlers surface even without a single failed login. Windows are fixed and aligned to the timestamp of the earliest request found in your log: the first window covers [first, first+N) seconds, the next covers [first+N, first+2N), and so on, with every request assigned to exactly one window by its own timestamp. Each flagged IP is reported with its total traffic across the whole file, how many windows tripped your limit, its single busiest window (the peak), and the timestamps of the worst offending windows so you can go straight to blocking or throttling.
By default, any window that exceeds your threshold is reported as a violation: if the policy says 100 requests per minute per IP and a window shows 140, that is a violation, full stop. An optional Min off-peak setting lets you additionally require a sustained pattern across two or more windows, or a very large single-window spike, before flagging — useful for filtering an isolated short burst that only barely clears the limit once and never repeats.