Use this API for troubleshooting a Fleet Service Point. Returns overall health status of the Fleet Service Point, the Fleet Service Point ID, each service's status and service version, configured forwarder IPs, the current local time and time zone, and policy details.
Current
Request: GET http://<fleet-sp-ip-address>:80/v2/diagnostics
Replace the IP address with the IP address of the Fleet Service Point.
Successful response
200 OK { "status": "GOOD", "id": "2ca93bdb-866c-4795-afc5-2bf9680bb9d8", "clusterId": "g9oqvmuir4ymjupgbdvz8w", "applicationId": "eaef72af-eb7f-434a-8eb4-a14dc9797cab", "currentVersion": "3.5.2", "statusTimestamp": 1650638350009, "services": [ { "id": "sp-controller-service", "status": "GOOD", "statusTimestamp": 1650638349870, "serviceVersion": "1.0.0-build1001", "resourceDetails": { "customer-instance-connection": "GOOD" }, "additionalDetails": { "dns-resolving-responses": { "rootNSQuery": "NOERROR", "edgeCloudEndpoint": "NOERROR" } }, "resources": [ { "id": "customerInstanceConnection", "type": "customerInstanceConnection", "status": "GOOD", "info": [], "errors": [] }, { "id": "dnsResolvingResponses", "type": "dnsResolvingResponses", "status": "GOOD", "info": [ { "name": "rootNSQuery", "value": "NOERROR" }, { "name": "edgeCloudEndpoint", "value": "NOERROR" } ], "errors": [] }, { "id": "certificates", "type": "certificates", "status": "GOOD", "info": [ { "name": "clientCertificateExpiration", "value": 1739652531000 }, { "name": "caCertificateExpiration", "value": 1739652531000 } ], "errors": [] } ] }, { "id": "parclo-logging", "status": "GOOD", "statusTimestamp": 1650638349984, "serviceVersion": "1.0.0-build1625", "resourceDetails": { "kinesis-stream-status": "GOOD" }, "additionalDetails": { "custom-logging-endpoint": { "url": "", "header-names": [], "sha256-fingerprint": "" }, "stored-offline-queries-bytes": 0, "kinesis-put_success": 0, "logging-endpoint-dropped-count": 0, "logging-endpoint-put-success-count": 0, "incoming-dns-events-dropped-count": 0, "logging-to-edge-cloud-console": true, "kinesis-put_fail": 0, "logging-to-custom-logging-endpoint": false, "logging-endpoint-put-failed-count": 0 }, "resources": [ { "id": "unlogged-queries", "type": "unlogged-queries", "status": "N/A", "info": [ { "name": "stored-offline-queries-bytes", "value": 0 }, { "name": "incoming-dns-events-dropped-count", "value": 0 } ], "errors": [] }, { "id": "logging-endpoint", "type": "logging-endpoint", "status": "N/A", "info": [ { "name": "logging-endpoint-dropped-count", "value": 0 }, { "name": "logging-endpoint-put-success-count", "value": 0 }, { "name": "logging-endpoint-put-failed-count", "value": 0 } ], "errors": [] }, { "id": "kinesis-stream", "type": "kinesis-stream", "status": "GOOD", "info": [ { "name": "kinesis-put_success", "value": 0 }, { "name": "kinesis-put_fail", "value": 0 } ], "errors": [] }, { "id": "firehose-credentials", "type": "firehose-credentials", "status": "GOOD", "info": [ { "name": "firehose-credential-expiration", "value": 1650639234000 } ], "errors": [] } ] }, { "id": "dns-gateway-service", "status": "GOOD", "statusTimestamp": 1650638349999, "serviceVersion": "2.0.0-build3200", "additionalDetails": { "settingsDiagnostics": { "id": "123456789cc5af94e23430fee36c723fbf97b7a6", "lastSettingsPollingTimestamp": 1650638349997, "lastSuccessfulSettingsUpdateTimestamp": 1650638349998, "lastSettingsPollingStatus": "UNCHANGED", "namespaceDetails": [ { "id": "8bb8b767-83bf-11ec-a47d-021fdb12a1eb", "name": "Default", "forwarders": [ "8.8.8.8" ], "matchListsDomainCount": 0, "exceptionListsDomainCount": 0, "matchesAllDomains": true, "matchCidrCount": 0, "exceptionCidrCount": 0, "ttl": -1, "staleCacheEntriesTTL": 3600, "umbrellaConfiguration": null, "ecsConfiguration": null, "dohEnabled": false, "retryRCodes": [ 3 ] } ] }, "policyDiagnostics": { "id": "33", "policyEventTimestamp": 1650638349998, "lastUpdateTimestamp": 1650638349998, "lastPolicyEventResult": "UNCHANGED" }, "timeZone": "America/Toronto" }, "resources": [ { "id": "namespace-8bb8b767-83bf-11ec-a47d-021fdb12a1eb", "type": "namespace", "status": "GOOD", "info": [ { "name": "responses", "value": 0 }, { "name": "servfail-responses", "value": 0 }, { "name": "queries", "value": 0 }, { "name": "frontend-nxdomain", "value": 0 }, { "name": "frontend-servfail", "value": 0 }, { "name": "frontend-noerror", "value": 0 }, { "name": "acl-drops", "value": 0 }, { "name": "rule-drop", "value": 0 }, { "name": "rule-nxdomain", "value": 0 }, { "name": "rule-refused", "value": 0 }, { "name": "rule-servfail", "value": 0 }, { "name": "rule-truncated", "value": 0 }, { "name": "self-answered", "value": 0 }, { "name": "downstream-timeouts", "value": 0 }, { "name": "downstream-send-errors", "value": 0 }, { "name": "trunc-failures", "value": 0 }, { "name": "no-policy", "value": 0 }, { "name": "latency0-1", "value": 0 }, { "name": "latency1-10", "value": 0 }, { "name": "latency10-50", "value": 0 }, { "name": "latency50-100", "value": 0 }, { "name": "latency100-1000", "value": 0 }, { "name": "latency-slow", "value": 0 }, { "name": "latency-avg100", "value": 0 }, { "name": "latency-avg1000", "value": 0 }, { "name": "latency-avg10000", "value": 0 }, { "name": "latency-avg1000000", "value": 0 }, { "name": "uptime", "value": 859876 }, { "name": "real-memory-usage", "value": 40812544 }, { "name": "udp-in-errors", "value": 0 }, { "name": "udp-noport-errors", "value": 0 }, { "name": "udp-recvbuf-errors", "value": 0 }, { "name": "udp-sndbuf-errors", "value": 0 }, { "name": "tcp-listen-overflows", "value": 0 }, { "name": "noncompliant-queries", "value": 0 }, { "name": "noncompliant-responses", "value": 0 }, { "name": "proxy-protocol-invalid", "value": 0 }, { "name": "rdqueries", "value": 0 }, { "name": "empty-queries", "value": 0 }, { "name": "cache-hits", "value": 0 }, { "name": "cache-misses", "value": 0 }, { "name": "cpu-iowait", "value": 1346982 }, { "name": "cpu-steal", "value": 0 }, { "name": "cpu-sys-msec", "value": 340645 }, { "name": "cpu-user-msec", "value": 878899 }, { "name": "fd-usage", "value": 44 }, { "name": "dyn-blocked", "value": 0 }, { "name": "dyn-block-nmg-size", "value": 0 }, { "name": "security-status", "value": 0 }, { "name": "doh-query-pipe-full", "value": 0 }, { "name": "doh-response-pipe-full", "value": 0 }, { "name": "latency-sum", "value": 0 }, { "name": "latency-count", "value": 0 } ], "errors": [] }, { "id": "namespace-8bb8b767-83bf-11ec-a47d-021fdb12a1eb-forwarder-0", "type": "forwarder", "status": "GOOD", "info": [ { "name": "sendErrors", "value": 0 }, { "name": "address", "value": "8.8.8.8:53" }, { "name": "order", "value": 1 }, { "name": "dropRate", "value": 0 }, { "name": "latency", "value": 0 }, { "name": "outstanding", "value": 0 }, { "name": "tcpAvgQueriesPerConnection", "value": 0 }, { "name": "tcpDiedReadingResponse", "value": 0 }, { "name": "tcpDiedSendingQuery", "value": 0 }, { "name": "pools", "value": [] }, { "name": "tcpConnectTimeouts", "value": 0 }, { "name": "tcpGaveUp", "value": 0 }, { "name": "reuseds", "value": 0 }, { "name": "tcpCurrentConnections", "value": 0 }, { "name": "tcpMaxConcurrentConnections", "value": 0 }, { "name": "tcpReusedConnections", "value": 0 }, { "name": "tcpWriteTimeouts", "value": 0 }, { "name": "id", "value": 0 }, { "name": "weight", "value": 1 }, { "name": "state", "value": "up" }, { "name": "tcpNewConnections", "value": 0 }, { "name": "qpsLimit", "value": 0 }, { "name": "qps", "value": 0 }, { "name": "tcpAvgConnectionDuration", "value": 0 }, { "name": "tcpReadTimeouts", "value": 0 }, { "name": "name", "value": "8.8.8.8:53" }, { "name": "queries", "value": 0 }, { "name": "responses", "value": 0 } ], "errors": [] } ] }, { "id": "status-service", "status": "GOOD", "statusTimestamp": 1650638350009, "serviceVersion": "2.0.0-build577" } ], "additionalDetails": { "hostManager": "SDP", "currentLocalTime": "2022-04-22 14:39:10", "proxyConfiguration": { "configured": false, "protocol": null, "port": null, "host": null, "authenticationEnabled": null } }, "registration": { "registered": true, "timestamp": 1649126839185, "siteId": "12345678-9870-98ef-85dc-34faaca80643", "customerId": "12345678-abcd-12ab-7890-acb9a5a1eg2" } }
Namespace details
- When one domain list is provided and contains "." as a domain, then matchesAllDomains will be true, but matchListDomainCount is 1.
- If more than 1 domain list is provided, but any list contains "." as a domain, then the flag will be true and the "matchListDomainCount" reflects the count of domains across all domain lists (counting "." as one domain).
- If no domain list is provided, then matchesAllDomains is true, but matchListDomainCount is 0.
- If a domain list is provided with domains other than "." then matchesAllDomains is false, and matchListDomainCount reflects the count of domains in that list.
The exceptionsListDomainCount parameter is the total count of domains in the exception domain lists attached to the namespace.
Daemons Status
- running: The daemon is running with no issues.
- not running: The daemon is enabled but isn't running.
- suspended: The daemon failed the health check, and the Fleet Service Point was removed from the Anycast pool.
- off: The daemon isn't enabled.
Update information
In the updates section, the task field will display UPGRADING regardless of whether the Fleet Service Point is upgrading to a newer DNS resolver service version or downgrading to an older software version.
Registration information
The field registrationFailureReason is only returned when the registration status is FAILED. If the registration state can't be determined, the status returned is N/A.