Skip to content

Commit 19d70d3

Browse files
[DNS Firewall] Dashboard analytics (#24317)
* Add intro and placeholder structure * Fill in available dimensions * Add placeholder sections per panel * Fill in pannel descriptions * Fix Top N description and consolidate info on filters and time frame * Mention expand and search functionality * Make info on filters and time frame more visible * Adjust #query-overview description for Auth DNS analytics * Add info on hitorical data and maximum duration * Add details on processing vs response and 90th percentile * Add new dimensions as per PM feedback and DashButton * Overall review and make response-reasons a heading 2 * Apply suggestions from code review and PM request
1 parent 71d7640 commit 19d70d3

File tree

4 files changed

+72
-5
lines changed

4 files changed

+72
-5
lines changed

src/content/docs/dns/additional-options/analytics.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ The DNS analytics dashboard contains [four main panels](#dns-analytics-panels).
4444
- Protocol
4545
- IP version
4646

47-
#### DNS analytics panels
47+
#### Panels
4848

49-
- **Query overview**: the number of queries per hour and their distribution over time. This information is segmented by each of the [available dimensions](#available-dimensions) and the graph displays the top five values. You can select the dimensions through the different tabs above the graph and quickly filter for or exclude a certain value from the results by hovering over it and selecting **Filter** or **Exclude**.
49+
- **Query overview**: the number of queries and their distribution over time. This information is segmented by each of the [available dimensions](#available-dimensions) and the graph displays the top five values. You can select the dimensions through the different tabs above the graph and quickly filter for or exclude a certain value from the results by hovering over it and selecting **Filter** or **Exclude**.
5050

5151
- **Query statistics**: an overview of query metrics based on your filters and selected time frame. Namely, **Total queries**, **Average queries per second**, and **Average processing time**. The average processing time is displayed in milliseconds and includes upstream queries in the case of [flattened CNAME records](/dns/cname-flattening/).
5252

src/content/docs/dns/dns-firewall/analytics.mdx

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,60 @@ sidebar:
66

77
---
88

9-
import { Badge } from "~/components";
9+
import { Badge, FeatureTable, Details, DashButton } from "~/components";
1010

1111
Consider the sections below to learn how to access analytics and logs for your DNS Firewall.
1212

1313
## Analytics
1414

15+
DNS Firewall analytics allow you to evaluate data about DNS queries to your account.
16+
17+
### Availability and limits
18+
19+
The historical data available covers 62 days and the maximum time interval you can get data for is also 62 days.
20+
21+
### Dashboard
22+
23+
For a quick summary, view your DNS Firewall analytics on the dashboard. The DNS analytics dashboard contains [four main panels](#panels). The filters and time frame that you specify at the top of the page apply to all of them.
24+
25+
1. In the Cloudflare dashboard, go to the **DNS Firewall** page.
26+
27+
<DashButton url="/?to=/:account/dns-firewall" />
28+
29+
2. Go to **Analytics**.
30+
31+
#### Available dimensions
32+
33+
- Query name
34+
- Query type (same as DNS record type)
35+
- Cluster
36+
- Cluster IP
37+
- Response code
38+
- Response reason (refer to [descriptions](#response-reasons) below)
39+
- Response cached (cached or uncached)
40+
- Response stale (stale or fresh)
41+
- Data center
42+
- Source IP
43+
- Upstream nameserver IP
44+
- Protocol (UDP or TCP)
45+
- IP version (IPv4 or IPv6)
46+
47+
#### Panels
48+
49+
The filters and time frame that you specify at the top of the page apply to all of the available panels.
50+
51+
- **Query summary**: the number of queries and their distribution over time. This information is segmented by each of the [available dimensions](#available-dimensions). You can select the dimensions through the different tabs above the graph and quickly filter for or exclude a certain value from the results by hovering over it and selecting **Filter** or **Exclude**.
52+
53+
- **Query statistics**: an overview of query metrics. Namely, **Total queries**, **Cached queries**, **Uncached queries**, and **Stale cache queries**.
54+
55+
<Details header="Processing time and response time"> Processing time refers to the total time taken to handle a query within DNS Firewall, meaning cached queries served directly from Cloudflare's servers. For uncached queries, the metric used is response time, which considers the time to get the answers from your upstream nameservers. The processing and response times are displayed in milliseconds.</Details>
56+
57+
<Details header="90th percentile (p90)"> Aside from the average for both processing and response times, `p90` values show you the maximum time that 90% of queries took to resolve. For example, if the p90 is 1 millisecond, it means 90% of the queries were resolved in 1 millisecond or less.</Details>
58+
59+
- **DNS queries by data center**: a map indicating which Cloudflare data centers have handled DNS queries to your account. You can also find a list of the top ten results and quickly filter for or exclude a certain data center from the results by hovering over it and selecting **Filter** or **Exclude**.
60+
61+
- **Top query statistics**: a breakdown of the top queries grouped by the [available dimensions](#available-dimensions). You can expand each card to list more results and search for specific values.
62+
1563
### GraphQL
1664

1765
Use the [GraphQL API](/analytics/graphql-api/) to access DNS Firewall analytics. Refer to the GraphQL Analytics API documentation for guidance on how to [get started](/analytics/graphql-api/getting-started/).
@@ -21,16 +69,17 @@ The DNS Firewall analytics has two [schemas](/analytics/graphql-api/getting-star
2169
* `dnsFirewallAnalyticsAdaptive`: Retrieve information about individual DNS Firewall queries.
2270
* `dnsFirewallAnalyticsAdaptiveGroups`: Get reports on aggregate information only.
2371

24-
### Cloudflare API <Badge text="Legacy" variant="caution" size="medium" />
72+
### API <Badge text="Legacy" variant="caution" size="medium" />
2573

2674
You can also use the DNS Firewall API [reports endpoint](/api/resources/dns_firewall/subresources/analytics/subresources/reports/).
2775

76+
---
2877

2978
## Logs
3079

3180
You can [set up Logpush](/logs/logpush/) to deliver [DNS Firewall logs](/logs/logpush/logpush-job/datasets/account/dns_firewall_logs/) to a storage service, SIEM, or log management provider.
3281

33-
### Response reasons
82+
## Response reasons
3483

3584
When analyzing why Cloudflare DNS Firewall responded in one way or another to a specific query, consider the `responseReason` log field.
3685

@@ -47,3 +96,6 @@ The following table provides a description for each of the values that might be
4796
| `chaos_success` | Response for [Chaos class](https://en.wikipedia.org/wiki/Chaosnet) was successfully served. |
4897
| `attack_mitigation_block` | Query was blocked as part of [random prefix attack mitigation](/dns/dns-firewall/random-prefix-attacks/). |
4998
| `unknown` | There was an unknown error. |
99+
100+
[^1]: the total time taken to handle a query within DNS Firewall.
101+
[^2]: the time it takes when an answer is not cached and Cloudflare has to get the answer from your upstream nameservers.

src/content/docs/dns/dns-firewall/setup.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Prior to setting up DNS Firewall, you need:
3030

3131
<DashButton url="/?to=/:account/dns-firewall" />
3232

33+
2. Go to **Clusters**.
3334
3. Select **Add Firewall Cluster**.
3435
4. Fill out the required fields, including:
3536
- **IP Addresses**: The upstream IPv4 and/or IPv6 addresses of your authoritative nameservers.

src/content/plans/index.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,20 @@
757757
"pro": "No",
758758
"biz": "No",
759759
"ent": "Paid add-on"
760+
},
761+
"historical_data_account": {
762+
"title": "Historical data",
763+
"free": "N/A",
764+
"pro": "N/A",
765+
"biz": "N/A",
766+
"ent": "62 days"
767+
},
768+
"maximum_duration_account": {
769+
"title": "Maximum time interval",
770+
"free": "N/A",
771+
"pro": "N/A",
772+
"biz": "N/A",
773+
"ent": "62 days"
760774
}
761775
}
762776
},

0 commit comments

Comments
 (0)