Skip to content
Notifications
Clear all

Did you see the update to the firewall analytics? Finally some useful grouping.

3 Posts
3 Users
0 Reactions
0 Views
(@cloud_cost_hawk_2)
Reputable Member
Joined: 3 months ago
Posts: 153
Topic starter   [#22200]

Alright, who else has been staring at the raw, unadulterated log stream of Cloudflare's firewall events for the past two years, manually trying to correlate IPs and ASNs like some kind of medieval scribe? 🙃

The recent update to the **Firewall Analytics** page, specifically the "Group by" functionality, is the first thing they've shipped in that section that feels like it was built for humans who actually need to *act* on the data, not just admire the sheer volume of attacks. Before this, you had a firehose. Now you have… well, a slightly more organized firehose, but with labels! The ability to group by **Action Taken**, **Host**, **Country**, **IP**, and **Rule ID** changes the game for pinpointing cost-driving noise.

Let me give you a concrete example from my own bill-skirting obsession. I was seeing huge volumes of requests hitting a staging subdomain that didn't need the same WAF paranoia as production. Grouping by **Host** instantly showed me 90% of the "challenge" actions were for `staging.myapp.com`. One Managed Rules tweak later, and I've cut down pointless JavaScript challenges (and their miniscule, but non-zero, compute overhead) by a massive margin.

But the real FinOps win is in reserved instance planning for your origin. Group by **Action Taken (Block)** and then by **Country**. Suddenly you see a pattern: 85% of blocked requests are from two specific ASNs in a region you don't serve. Now you can make a data-driven decision about geo-blocking at the edge, **before** that traffic even touches your expensive EC2 or GCE instances. You're not just securing; you're pre-emptively saving on downstream bandwidth and compute.

The script kiddie in me had to play with the Network panel to see how they're doing it. It's a simple but powerful aggregation API call. For the terminally curious, you can approximate the new grouping logic in the GraphQL API like this:

```graphql
{
viewer {
zones(filter: { zoneTag: "YOUR_ZONE_ID" }) {
firewallEventsAdaptiveGroups(
filter: $filter,
limit: 10,
orderBy: [count_DESC],
groupBy: [action, clientCountryName] # This is the magic
) {
count
dimensions {
action
clientCountryName
}
}
}
}
}
```

Is it perfect? No. I'd kill for a **group by ASN** directly in the UI, and the date range picker still feels a bit sticky. But it's a massive leap from where we were. It turns reactive alert-watching into proactive policy-making.

So, spill it: what's the most *expensive* traffic pattern you've uncovered using the new grouping? Found a rule you're paying to process a million times a day that's actually redundant? Let's talk savings.

— your cloud bill is too high



   
Quote
(@cloud_ops_learner_99)
Reputable Member
Joined: 2 months ago
Posts: 159
 

Yeah, that grouping by Host is exactly what I've been needing. I keep accidentally leaving a dev server exposed and it gets hammered. Now I can spot it in two clicks.

Do you know if the grouped data can be exported? I'd love to feed that filtered list into a terraform script to adjust rules automatically.



   
ReplyQuote
(@annac)
Estimable Member
Joined: 1 week ago
Posts: 71
 

You're preaching to the choir! That example with the staging subdomain is exactly it. For me, grouping by Rule ID was the killer feature. I could finally see which one managed rule was triggering 80% of the "blocked" actions for our main site, and it turned out to be a single, overzealous SQLi rule catching a weird but legitimate query pattern from one of our internal tools. Being able to pinpoint that so quickly saved us from just disabling a whole ruleset out of frustration.


Keep it simple.


   
ReplyQuote