Monitoring and Alerting for Security Events

By Davy Rogers

Good logs mean nothing if no one looks at them. Build alerts that surface real threats.

Every alert that pages should require action. >20% false positives = team ignores everything.

What to monitor

Application: 401/403 spikes (credential stuffing), 500 spikes (exploitation), unusual response volume (exfiltration), login from new geo.

Infrastructure: Outbound to unusual IPs, unexpected processes, IAM assumption from unexpected source.

Business logic: Gift card redemption spike, mass account creation, password reset spike.

Severity levels

SevResponseExample
P1ImmediateActive breach, RCE
P21 hourCredential stuffing
P31 dayUnusual login
P4Next triageSingle failed login

Alert structure

Every alert: enough context to investigate without querying logs. Links to runbook and relevant logs.

Reducing noise

Deduplication: 50 identical alerts = 1 alert with count.

Correlation: Single 404 normal. 500 distinct 404s to /admin/* from same IP = attack.

Baseline comparison: Use percentages, not raw counts.

Runbooks

Every P1/P2 links to a runbook: What does this mean? How to investigate? How to contain? Who to contact?

Tuning

Track every alert outcome. Review weekly. Tune thresholds. Retire stale alerts. After incidents: "What alert would have caught this?"

The takeaway

Monitor app, infra, business logic. Clear severity with response expectations. Enough context to investigate. Link to runbooks. Deduplicate, correlate, tune continuously.

Want a professional to look at it?Get an AppSec Health Check.