authoritative-dns-traffic-by-time

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

MetricDescription
Data metrics
sum_hitsThe number of responses per second.
sum_nxdomainThe number of NXDOMAIN requests per second.
sum_requestsThe number of responses minus the number of NXDOMAIN requests.
Summary metrics
peak_hitsMaximum (peak) DNS requests per second.
peak_nxhitsMaximum (peak) NXDOMAIN responses per second.
total_hitsTotal DNS requests.
total_nxhitsTotal NXDOMAIN responses.
total_percent_‚Äčnx_‚Äčdomain_‚ÄčresponsesThe 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

ParameterTypeSampleDescription
Required
startString2024-01-03T13:55:00ZSpecifies 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.
endString2024-01-03T14:15:00ZSpecifies 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.
intervalEnumerationFIVE_MINUTESThe duration of each data record. Available values: MONTH, WEEK, DAY, HOUR, FIVE_MINUTES.

JSON request members

MemberTypeDescription
objectIdsArraySpecifies the set of edns values you want to report on.
objectIdsEnumerationAs an alternative to an array of ID values, specify all as a string for unfiltered data. Either way, objectIds is required.
metricsArrayThe 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

ParameterTypeSampleDescription
Required
startString2022-06-23T13:55:00ZSpecifies 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.
endString2022-06-23T14:15:00ZSpecifies 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.
intervalEnumerationFIVE_MINUTESThe duration of each data record. Available values: MONTH, WEEK, DAY, HOUR, FIVE_MINUTES.
Optional
allObjectIdsBooleantrueAs 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.
objectIdsString55232,‚Äč23433,‚Äč32433As 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.
metricsStringpeak_hits,‚Äčpeak_nxhitsSpecifies 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"
    ]
}