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 per second minus the number of NXDOMAIN requests per second.
Summary metrics
peak_hitsMaximum (peak) DNS requests per second
peak_nxhitsMaximum (peak) NXDOMAIN responses per second
total_hitsTotal DNS requests.
total_nxhitsTotal NXDOMAIN responses.

POST request

POST /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/3/report-data{?start,​end,​interval}

Sample: /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/3/report-data?start​=2020-06-26T13%3A40%3A00Z​&end​=2020-06-26T14%3A00%3A00Z​&interval​=FIVE_MINUTES

Query parameters

ParameterTypeSampleDescription
Required
startString2020-06-26T13:40: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.
endString2020-06-26T14:00: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"
    ]
}

GET request

GET /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/3/report-data{?start,​end,​interval,​objectIds,​allObjectIds,​metrics}

Sample: /reporting-api/v1/reports/authoritative-dns-traffic-by-time/versions/3/report-data?start​=2020-06-26T13%3A40%3A00Z​&end​=2020-06-26T14%3A00%3A00Z​&interval​=FIVE_MINUTES​&objectIds​=55232,​23433,​32433​&metrics​=peak_hits%2Cpeak_nxhits

Query parameters

ParameterTypeSampleDescription
Required
startString2020-06-26T13:40: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.
endString2020-06-26T14:00:00ZSpecifies if unavailable reports should be shown.
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": "3",
        "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, per Second"
            }
        ],
        "objectType": "edns",
        "objectIds": [
            "55232",
            "23433",
            "32433"
        ]
    },
    "data": [
        {
            "startdatetime": "2020-06-26T13:40:00Z",
            "sum_hits": "4516.723918",
            "sum_nxdomain": "1308.126116",
            "sum_requests": "2850"
        },
        {
            "startdatetime": "2020-06-26T13:45:00Z",
            "sum_hits": "4684.543094",
            "sum_nxdomain": "3190.4876",
            "sum_requests": "2606"
        },
        {
            "startdatetime": "2020-06-26T13:50:00Z",
            "sum_hits": "4292.211721",
            "sum_nxdomain": "2775.048371",
            "sum_requests": "281"
        },
        {
            "startdatetime": "2020-06-26T13:55:00Z",
            "sum_hits": "3482.306147",
            "sum_nxdomain": "600.533362",
            "sum_requests": "3956"
        }
    ],
    "summaryStatistics": {
        "peak_hits": {
            "value": "3263.863351",
            "details": {}
        },
        "peak_nxhits": {
            "value": "3785.654803",
            "details": {}
        },
        "total_hits": {
            "value": "1157",
            "details": {}
        },
        "total_nxhits": {
            "value": "3558",
            "details": {}
        }
    }
}

CSV response

Status 200 text/csv

Response Body:

#METADATA_START
name,​authoritative-dns-traffic-by-time
version,​3
source,​authoritative-dns-traffic-by-time/versions/3
groupBy,​startdatetime
start,​2020-06-26T13:40:00Z
end,​2020-06-26T14:00: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
#SUMMARYSTATISTICS_END

#COLUMNS_START
startdatetime,​sum_hits,​sum_nxdomain,​sum_requests
#COLUMNS_END

#DATA_START
2020-06-26T13:40:00Z,4516.723918,​1308.126116,​2850
2020-06-26T13:45:00Z,4684.543094,​3190.4876,​2606
2020-06-26T13:50:00Z,4292.211721,​2775.048371,​281
2020-06-26T13:55:00Z,3482.306147,​600.533362,​3956
#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/3

Status 200 application/json

Response body:

{
    "name": "authoritative-dns-traffic-by-time",
    "description": "Provides DNS requests/sec and NXDomain response/sec.",
    "businessObjectName": "edns",
    "version": 3,
    "status": "PUBLISHED",
    "deprecated": false,
    "timeBased": true,
    "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 per second minus the number of NXDOMAIN requests per second.",
            "label": "Requests, per Second",
            "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
        }
    ],
    "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/3"
        },
        {
            "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/3/report-data"
        }
    ]
}