cdns/{{name}}/configs/monitoring

See also

Health Protocol

GET

Retrieves information concerning the monitoring configuration for a specific CDN.

Auth. Required:

Yes

Roles Required:

None

Permissions Required:

MONITOR-CONFIG:READ

Response Type:

Object

Request Structure

Table 284 Request Path Parameters

Name

Description

name

The name of the CDN for which monitoring configuration will be fetched

Response Structure

cacheGroups:

An array of objects representing each of the Cache Groups being monitored within this CDN

coordinates:

An object representing the geographic location of this Cache Group

latitude:

This Cache Group’s latitude as a floating-point number

longitude:

This Cache Group’s longitude as a floating-point number

name:

A string that is this Cache Group’s name

config:

A collection of parameters used to configure the monitoring behaviour of Traffic Monitor

health.polling.interval:

An interval in milliseconds on which to poll for cache statistics

heartbeat.polling.interval:

An interval in milliseconds on which to poll for health statistics. If missing, defaults to health.polling.interval.

tm.polling.interval:

The interval at which to poll for configuration updates

deliveryServices:

An array of objects representing each Delivery Service provided by this CDN

hostRegexes:

An array of strings which are the Delivery Service’s HOST_REGEXP-type regexes

status:

The Delivery Service’s status

topology:

A string that is the name of the Delivery Service’s Topology (if assigned one)

totalKbpsThreshold:

A threshold rate of data transfer this Delivery Service is configured to handle, in Kilobits per second

totalTpsThreshold:

A threshold amount of transactions per second that this Delivery Service is configured to handle

type:

A string that is the Delivery Service’s type category ("HTTP" or "DNS")

xmlId:

A string that is the Delivery Service’s XMLID

profiles:

An array of the Profiles in use by the cache servers and Delivery Services belonging to this CDN

name:

A string that is the Profile’s Name

parameters:

An array of the Parameters in this Profile that relate to monitoring configuration. This can be null if the servers using this Profile cannot be monitored (e.g. Traffic Routers)

health.connection.timeout:

A timeout value, in milliseconds, to wait before giving up on a health check request

health.polling.url:

A URL to request for polling health. Substitutions can be made in a shell-like syntax using the properties of an object from the "trafficServers" array

health.threshold.availableBandwidthInKbps:

The total amount of bandwidth that servers using this profile are allowed - across all network interfaces - in Kilobits per second. This is a string and using comparison operators to specify ranges, e.g. “>10” means “more than 10 kbps”

health.threshold.loadavg:

The UNIX loadavg at which the server should be marked “unhealthy”

See also

uptime(1)

health.threshold.queryTime:

The highest allowed length of time for completing health queries (after connection has been established) in milliseconds

history.count:

The number of past events to store; once this number is reached, the oldest event will be forgotten before a new one can be added

type:

A string that names the Profile’s Type

topologies:

A map of Topology names to objects

nodes:

An array of strings which are the names of the EDGE_LOC-type cache groups in the topology

trafficMonitors:

An array of objects representing each Traffic Monitor that monitors this CDN (this is used by Traffic Monitor’s “peer polling” function)

cachegroup:

The name of the Cache Group to which this Traffic Monitor belongs

fqdn:

An FQDN that resolves to the IPv4 (and/or IPv6) address of the server running this Traffic Monitor instance

hostname:

The hostname of the server running this Traffic Monitor instance

ip6:

The IPv6 address of this Traffic Monitor - when applicable

ip:

The IPv4 address of this Traffic Monitor

port:

The port on which this Traffic Monitor listens for incoming connections

profile:

A string that is the Name of the Profile assigned to this Traffic Monitor

status:

The status of the server running this Traffic Monitor instance

trafficServers:

An array of objects that represent the cache servers being monitored within this CDN

cachegroup:

The Cache Group to which this cache server belongs

deliveryServices:

An array of objects which contain the XML IDs of the delivery services to which this cache server is assigned (this field is omitted entirely if no delivery services are assigned to this cache server)

xmlId:

A string which is the XML ID of the delivery service

fqdn:

An FQDN that resolves to the cache server’s IPv4 (or IPv6) address

hashId:

The (short) hostname for the cache server - named “hashId” for legacy reasons

hostName:

The (short) hostname of the cache server

port:

The port on which the cache server listens for incoming connections

profile:

A string that is the Name of the Profile assigned to this cache server

status:

The status of the cache server

type:

A string that names the Type of the cache server - should (ideally) be either EDGE or MID

interfaces:

A set of the network interfaces in use by the server. In most scenarios, only one will be present, but it is illegal for this set to be an empty collection.

ipAddresses:

A set of objects representing IP Addresses assigned to this network interface. In most scenarios, only one or two (usually one IPv4 address and one IPv6 address) will be present, but it is illegal for this set to be an empty collection.

address:

The actual IP address, including any mask as a CIDR-notation suffix

gateway:

Either the IP address of the network gateway for this address, or null to signify that no such gateway exists

serviceAddress:

A boolean that describes whether or not the server’s main service is available at this IP address. When this property is true, the IP address is referred to as a “service address”. It is illegal for a server to not have at least one service address. It is also illegal for a server to have more than one service address of the same address family (i.e. more than one IPv4 service address and/or more than one IPv6 address). Finally, all service addresses for a server must be contained within one interface - which is therefore sometimes referred to as the “service interface” for the server.

maxBandwidth:

The maximum healthy bandwidth allowed for this interface. If bandwidth exceeds this limit, Traffic Monitors will consider the entire server unhealthy - which includes all configured network interfaces. If this is null, it has the meaning “no limit”. It has no effect if monitor is not true for this interface.

See also

Health Protocol

monitor:

A boolean which describes whether or not this interface should be monitored by Traffic Monitor for statistics and health consideration.

mtu:

The MTU of this interface. If it is null, it may be assumed that the information is either not available or not applicable for this interface.

name:

The name of the interface. No two interfaces of the same server may share a name. It is the same as the network interface’s device name on the server, e.g. eth0.

#690 Response Example
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly
Whole-Content-Sha512: uLR+tRoqR8SYO38j3DV9wQ+IkJ7Kf+MCoFkcWZtsgbpLJ+0S6f+IiI8laNVeDgrM/P23MAQ6BSepm+EJRl1AXQ==
X-Server-Name: traffic_ops_golang/
Date: Wed, 14 Nov 2018 21:09:31 GMT
Transfer-Encoding: chunked

{ "response": {
    "topologies": {
        "example-topology": {
            "nodes": [
                "CDN_in_a_Box_Edge"
            ]
        }
    },
    "trafficServers": [
        {
            "profile": "ATS_EDGE_TIER_CACHE",
            "status": "REPORTED",
            "port": 80,
            "interfaces": [
                {
                    "ipAddresses": [
                        {
                            "address": "172.16.239.100",
                            "gateway": "172.16.239.0/24",
                            "serviceAddress": "true"
                        },
                        {
                            "address": "fc01:9400:1000:8::100",
                            "gateway": "fc01::",
                            "serviceAddress": "true"
                        }
                    ],
                    "name": "eth0",
                    "monitor": "true",
                    "mtu": 9000,
                    "maxBandwidth": 150
                }
            ],
            "cachegroup": "CDN_in_a_Box_Edge",
            "hostname": "edge",
            "fqdn": "edge.infra.ciab.test",
            "type": "EDGE",
            "hashid": "edge"
        },
        {
            "profile": "ATS_MID_TIER_CACHE",
            "status": "REPORTED",
            "port": 80,
            "interfaces": [
                {
                    "ipAddresses": [
                        {
                            "address": "172.16.239.120",
                            "gateway": "172.16.239.0/24",
                            "serviceAddress": "true"
                        },
                        {
                            "address": "fc02:9400:1000:8::100",
                            "gateway": "fc02::",
                            "serviceAddress": "true"
                        }
                    ],
                    "name": "eth0",
                    "monitor": "true",
                    "mtu": 9000,
                    "maxBandwidth": 150
                }
            ],
            "cachegroup": "CDN_in_a_Box_Mid",
            "hostname": "mid",
            "fqdn": "mid.infra.ciab.test",
            "type": "MID",
            "hashid": "mid"
        }
    ],
    "trafficMonitors": [
        {
            "profile": "RASCAL-Traffic_Monitor",
            "status": "ONLINE",
            "ip": "172.16.239.40",
            "ip6": "fc01:9400:1000:8::40",
            "port": 80,
            "cachegroup": "CDN_in_a_Box_Edge",
            "hostname": "trafficmonitor",
            "fqdn": "trafficmonitor.infra.ciab.test"
        }
    ],
    "cacheGroups": [
        {
            "name": "CDN_in_a_Box_Mid",
            "coordinates": {
                "latitude": 38.897663,
                "longitude": -77.036574
            }
        },
        {
            "name": "CDN_in_a_Box_Edge",
            "coordinates": {
                "latitude": 38.897663,
                "longitude": -77.036574
            }
        }
    ],
    "profiles": [
        {
            "name": "CCR_CIAB",
            "type": "CCR",
            "parameters": null
        },
        {
            "name": "ATS_EDGE_TIER_CACHE",
            "type": "EDGE",
            "parameters": {
                "health.connection.timeout": 2000,
                "health.polling.url": "http://${hostname}/_astats?application=&inf.name=${interface_name}",
                "health.threshold.availableBandwidthInKbps": ">1750000",
                "health.threshold.loadavg": "25.0",
                "health.threshold.queryTime": 1000,
                "history.count": 30
            }
        },
        {
            "name": "ATS_MID_TIER_CACHE",
            "type": "MID",
            "parameters": {
                "health.connection.timeout": 2000,
                "health.polling.url": "http://${hostname}/_astats?application=&inf.name=${interface_name}",
                "health.threshold.availableBandwidthInKbps": ">1750000",
                "health.threshold.loadavg": "25.0",
                "health.threshold.queryTime": 1000,
                "history.count": 30
            }
        }
    ],
    "deliveryServices": [
        {
            "xmlId": "example-ds",
            "totalTpsThreshold": 0,
            "status": "REPORTED",
            "totalKbpsThreshold": 0,
            "type": "DNS",
            "topology": "example-topology",
            "hostRegexes": [
                ".*\\.example-ds\\..*"
            ]
        }
    ],
    "config": {
        "health.polling.interval": 6000,
        "heartbeat.polling.interval": 3000,
        "peers.polling.interval": 3000,
        "tm.polling.interval": 2000
    }
}}