How It Works
- Upmetr discovers WAF Web ACLs during resource sync (both regional and CloudFront-scoped)
- CloudWatch metrics are polled every 5 minutes via the CloudWatch virtual agent
- Metrics appear in the Infrastructure detail page under the WAF section
- You can create alert rules for WAF metrics (e.g., spike in blocked requests)
WAF monitoring is read-only — it observes metrics from CloudWatch without modifying your WAF configuration. Your Web ACL rules, IP sets, and rate-based rules are not affected.
Prerequisites
Your AWS IAM role or user needs the following permissions:Metrics
Upmetr collects three CloudWatch metrics per Web ACL:| Metric | Description | CloudWatch Name |
|---|---|---|
| Allowed Requests | Requests that matched an Allow rule | AllowedRequests |
| Blocked Requests | Requests that matched a Block rule | BlockedRequests |
| Counted Requests | Requests that matched a Count rule | CountedRequests |
AWS/WAFV2 namespace with three dimensions: WebACL, Region, and Rule (aggregated as “ALL”).
Regional vs Global WAFs
WAFv2 Web ACLs can be scoped as:- REGIONAL — associated with ALBs, API Gateways, or other regional resources. Discovered per-region.
- CLOUDFRONT — associated with CloudFront distributions. Always discovered in
us-east-1regardless of your configured regions.
global in the resource list.
Viewing WAF Metrics
- Go to Infrastructure in the sidebar
- Click on a CloudWatch agent card (the one associated with your AWS account)
- Scroll to the WAF Web ACLs section (pink-themed charts)
Setting Up Alert Rules
WAF metrics support the same alert rules as other CloudWatch metrics. Recommended thresholds:| Rule | Metric | Operator | Threshold | Severity |
|---|---|---|---|---|
| High blocked requests | aws.waf.blocked_requests | > | 500 (10 min) | Warning |
| Critical blocked requests | aws.waf.blocked_requests | > | 2000 (10 min) | Critical |
- Go to Alerts in the sidebar
- Click Create Rule
- Select resource type WAF
- Choose the metric (e.g.,
aws.waf.blocked_requests) - Set the threshold, duration (minimum 600s for CloudWatch), and severity
- Configure notification channels
Troubleshooting
No WAF resources discovered
No WAF resources discovered
- Verify your IAM role has
wafv2:ListWebACLspermission - Ensure you have at least one WAF Web ACL in your account
- Check the Celery worker logs for WAF discovery messages
WAF section not showing in Infrastructure page
WAF section not showing in Infrastructure page
- WAF charts only appear for CloudWatch agents with discovered WAF resources
- Trigger a resource sync from Settings > Cloud Accounts and wait for the next CloudWatch poll (5 min)
Metrics show zero values
Metrics show zero values
- This is normal if your WAF is not receiving traffic
- CloudWatch reports zero when there are no matching requests in the 5-minute window
- For CloudFront-scoped WAFs, verify the distribution is active and receiving requests

