The following shows how to generate the authoritative-dns-traffic-by-time
report using either the Reporting API's Generate a report POST operation or the Get a cacheable report GET operation. Details about each report's supported products, metrics, filters, and available data intervals are also available dynamically by running the API's Get a report type operation, also shown below. See also other available reports.
Report definition
Provides DNS requests/sec and NXDomain response/sec.
This report allows you to configure the aggregation interval for each data record. Available interval
values are: MONTH
, WEEK
, DAY
, HOUR
, FIVE_MINUTES
.
Business object: edns
Data available for: 90 days
Available metrics
Metric | Description |
---|---|
Data metrics | |
sum_hits | The number of responses per second. |
sum_nxdomain | The number of NXDOMAIN requests per second. |
sum_requests | The number of responses minus the number of NXDOMAIN requests. |
Summary metrics | |
peak_hits | Maximum (peak) DNS requests per second. |
peak_nxhits | Maximum (peak) NXDOMAIN responses per second. |
total_hits | Total DNS requests. |
total_nxhits | Total NXDOMAIN responses. |
total_percent_nx_domain_responses | The percentage of NXDOMAIN responses. |
POST request
POST /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6/report-data{?start,end,interval}
Sample: /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6/report-data?start=2024-01-03T13%3A55%3A00Z&end=2024-01-03T14%3A15%3A00Z&interval=FIVE_MINUTES
For other granularity, you need to adjust start and end dates:
Sample with longer interval: /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6/report-data?start=2023-09-01&end=2024-01-01&interval=MONTH
Query parameters
Parameter | Type | Sample | Description |
---|---|---|---|
Required | |||
start | String | 2024-01-03T13:55:00Z | Specifies the start of the reported period as an ISO-8601 timestamp with optional time zone. The report includes data that matches the start value’s timestamp. |
end | String | 2024-01-03T14:15:00Z | Specifies the end of the reported period as an ISO-8601 timestamp with optional time zone. The report excludes any data that matches the end value’s timestamp. |
interval | Enumeration | FIVE_MINUTES | The duration of each data record. Available values: MONTH , WEEK , DAY , HOUR , FIVE_MINUTES . |
JSON request members
Member | Type | Description |
---|---|---|
objectIds | Array | Specifies the set of edns values you want to report on. |
objectIds | Enumeration | As an alternative to an array of ID values, specify all as a string for unfiltered data. Either way, objectIds is required. |
metrics | Array | The set of desired metrics. If omitted, the report includes all available metrics. |
Request body:
{
"objectIds": [
"55232",
"23433",
"32433"
],
"metrics": [
"peak_hits",
"peak_nxhits",
"sum_hits",
"sum_nxdomain",
"sum_requests",
"total_hits",
"total_nxhits",
"total_percent_nx_domain_responses"
]
}
GET request
GET /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6/report-data{?start,end,interval,objectIds,allObjectIds,metrics}
Sample: /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6/report-data?start=2024-01-03T13%3A55%3A00Z&end=2024-01-03T14%3A15%3A00Z&interval=FIVE_MINUTES&interval=FIVE_MINUTES&objectIds=55232,23433,32433&metrics=peak_hits%2Cpeak_nxhits
Query parameters
Parameter | Type | Sample | Description |
---|---|---|---|
Required | |||
start | String | 2022-06-23T13:55:00Z | Specifies the start of the reported period as an ISO-8601 timestamp with optional time zone. The report includes data that matches the start value’s timestamp. |
end | String | 2022-06-23T14:15:00Z | Specifies the end of the reported period as an ISO-8601 timestamp with optional time zone. The report excludes any data that matches the end value’s timestamp. |
interval | Enumeration | FIVE_MINUTES | The duration of each data record. Available values: MONTH , WEEK , DAY , HOUR , FIVE_MINUTES . |
Optional | |||
allObjectIds | Boolean | true | As an alternative to objectIds , enabling this generates a report that includes all IDs available for the edns objectType. This parameter is ignored if the request also specifies a set of objectIds. |
objectIds | String | 55232,23433,32433 | As an alternative to allObjectIds , specifies the set of unique IDs for the edns objectType you want to report on, formatted as a comma-delimited list. |
metrics | String | peak_hits,peak_nxhits | Specifies a comma-separated list of metrics to include in the report, otherwise all metrics if omitted. The set of available metrics depends on the type of report. URL-encode the entire value in the GET request. |
JSON response
Status 200 application/json
Response body:
{
"metadata": {
"name": "authoritative-dns-traffic-by-time",
"version": "6",
"outputType": "FLAT",
"groupBy": [
"startdatetime"
],
"interval": "FIVE_MINUTES",
"start": "2020-06-26T13:40:00Z",
"end": "2020-06-26T14:00:00Z",
"availableDataEnds": null,
"suggestedRetryTime": null,
"rowCount": 4,
"filters": [],
"columns": [
{
"name": "groupBy",
"label": "startdatetime"
},
{
"name": "sum_hits",
"label": "Hits, per second"
},
{
"name": "sum_nxdomain",
"label": "Response, per second"
},
{
"name": "sum_requests",
"label": "Requests, count"
}
],
"objectType": "edns",
"objectIds": [
"55232",
"23433",
"32433"
]
},
"data": [
{
"startdatetime": "2024-01-03T13:55:00Z",
"sum_hits": "4803.583281",
"sum_nxdomain": "4717.810405",
"sum_requests": "4969"
},
{
"startdatetime": "2024-01-03T14:00:00Z",
"sum_hits": "2148.193568",
"sum_nxdomain": "930.434527",
"sum_requests": "1591"
},
{
"startdatetime": "2024-01-03T14:05:00Z",
"sum_hits": "1753.48923",
"sum_nxdomain": "3337.304268",
"sum_requests": "4901"
},
{
"startdatetime": "2024-01-03T14:10:00Z",
"sum_hits": "3834.168875",
"sum_nxdomain": "2510.499968",
"sum_requests": "4761"
}
],
"summaryStatistics": {
"peak_hits": {
"value": "3263.863351",
"details": {}
},
"peak_nxhits": {
"value": "3785.654803",
"details": {}
},
"total_hits": {
"value": "1157",
"details": {}
},
"total_nxhits": {
"value": "3558",
"details": {}
},
"total_percent_nx_domain_responses": {
"value": "2115",
"details": {}
}
}
}
CSV response
Status 200 text/csv
Response Body:
#METADATA_START
name,authoritative-dns-traffic-by-time
version,6
source,authoritative-dns-traffic-by-time/versions/3
groupBy,startdatetime
start,2024-01-03T13:55:00Z
end,2024-01-03T14:15:00Z
interval,`FIVE_MINUTES`
availableDataEnds,
suggestedRetryTime,
rowCount,4
objectType,edns
objectIds,55232,23433,32433
#METADATA_END
#SUMMARYSTATISTICS_START
peak_hits,3263.863351
peak_nxhits,3785.654803
total_hits,1157
total_nxhits,3558
total_percent_nx_domain_responses,2115
#SUMMARYSTATISTICS_END
#COLUMNS_START
startdatetime,sum_hits,sum_nxdomain,sum_requests
#COLUMNS_END
#DATA_START
2024-01-03T13:55:00Z,4803.583281,4717.810405,4969
2024-01-03T14:00:00Z,2148.193568,930.434527,1591
2024-01-03T14:05:00Z,1753.48923,3337.304268,4901
2024-01-03T14:10:00Z,3834.168875,2510.499968,4761
#DATA_END
Get report details
This sample Get a report type operation gets the same information you need to run the authoritative-dns-traffic-by-time
report as provided in this reference documentation, but available dynamically to your API client application.
GET /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6
Status 200 application/json
Response body:
{
"name": "authoritative-dns-traffic-by-time",
"description": "Provides DNS requests/sec and NXDomain response/sec.",
"businessObjectName": "edns",
"version": 6,
"status": "PUBLISHED",
"deprecated": false,
"timeBased": true,
"supportsPagination": false,
"outputType": "FLAT",
"available": true,
"metrics": [
{
"name": "sum_hits",
"description": "The number of responses per second.",
"label": "Hits, per second",
"unit": "COUNT_PER_SECOND",
"summaryStatistic": false
},
{
"name": "sum_nxdomain",
"description": "The number of NXDOMAIN requests per second.",
"label": "Response, per second",
"unit": "COUNT_PER_SECOND",
"summaryStatistic": false
},
{
"name": "sum_requests",
"description": "The number of responses minus the number of NXDOMAIN requests.",
"label": "Requests, count",
"unit": "COUNT",
"summaryStatistic": false
},
{
"name": "peak_hits",
"description": "Maximum (peak) DNS requests per second",
"label": "Peak Hits per second",
"unit": "COUNT_PER_SECOND",
"summaryStatistic": true
},
{
"name": "peak_nxhits",
"description": "Maximum (peak) NXDOMAIN responses per second",
"label": "Peak NXDOMAIN Response per second",
"unit": "COUNT_PER_SECOND",
"summaryStatistic": true
},
{
"name": "total_hits",
"description": "Total DNS requests.",
"label": "Total DNS Requests",
"unit": "COUNT",
"summaryStatistic": true
},
{
"name": "total_nxhits",
"description": "Total NXDOMAIN responses.",
"label": "Total NXDOMAIN Response",
"unit": "COUNT",
"summaryStatistic": true
},
{
"name": "total_percent_nx_domain_responses",
"description": "The percentage of NXDOMAIN responses",
"label": "NXDOMAIN responses, percentage",
"unit": "COUNT",
"summaryStatistic": true
}
],
"groupOutlyingValues": {
"enabled": false
},
"groupBy": [
"startdatetime"
],
"intervals": [
"MONTH",
"WEEK",
"DAY",
"HOUR",
"FIVE_MINUTES"
],
"dataRetentionDays": 90,
"links": [
{
"rel": "self",
"href": "/reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6"
},
{
"rel": "versions",
"href": "/reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions"
},
{
"rel": "all-reports",
"href": "/reporting-api/v1/reports"
},
{
"rel": "execute-report",
"href": "/reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/6/report-data"
]
}