Configure DNS probes
Resolve a record and report resolve time as the metric value.
DNS probes resolve a domain through the agent's DNS resolver and report the resolution time in milliseconds. Optional value-match verifies the answer.
Configuration shape
{
"domain": "api.example.com",
"record_type": "A",
"expected_value": "203.0.113.10",
"resolver": "1.1.1.1"
}
Field reference
| Field | Default | Notes |
|---|---|---|
domain | required | The domain to resolve. |
record_type | A | One of A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR. |
expected_value | none | Optional substring match against the resolved record. Mismatch reports expected_value_mismatch. |
resolver | system default | Optional override resolver IP. Useful for verifying a specific authoritative server. |
Reason codes
The reason field surfaces standard Node DNS error codes:
| Reason | Meaning |
|---|---|
ENOTFOUND | The domain does not resolve. |
ETIMEDOUT | The resolver did not answer in time. |
ESERVFAIL | The resolver returned SERVFAIL. |
expected_value_mismatch | Resolution succeeded but the record did not contain expected_value. |
dns_error | Other resolver error. |
Threshold examples
| Goal | Healthy | Unhealthy |
|---|---|---|
| Authoritative answer fast | under 50 | over 500 |
| Resolution succeeds at all | under 5000 | over 10000 |
When the test is purely "does the domain still resolve",
unhealthy_value set to a timeout-equivalent threshold combined
with no_data on ENOTFOUND covers the case.
Was this page helpful?