banshee/network-collection/network/dns/
resolution
Whether a name resolves by a DNS server, what it answers and how fast, to see a name lost, a record changed or a slow server.
by banshee1 installation2 versions
Resolution of a name by DNS
Asks a DNS server for a name and a type of record, and returns whether the name resolves, what the server answers and how long it took. Three watches are offered: the name does not resolve, an unexpected answer, and a slow resolution.
How it works
One query, the name and the type set on the probe, sent to the server of protocol:dns:server, port 53; without that variable, to the resolver of the poller's system. The server is asked to resolve the name fully, as any resolver asks.
| Variable | Says | Default |
|---|---|---|
dns:name | the name to resolve, set on the probe; for PTR, an IP address | — (required) |
dns:type | the type of record: A, AAAA, CNAME, MX, TXT, NS, SOA or PTR | A |
protocol:dns:server | the server asked: a DNS name or an IP address, set on the host or a folder, once on the root for the whole tree | the resolver of the poller's system |
protocol:dns:timeout | how long the answer is awaited, in seconds, 1 to 30 | 5 |
- The name resolves when the server answers
NOERRORwith at least one record of the type asked. A name that does not exist (NXDOMAIN), a name without a record of this type, or a server that cannot resolve it (SERVFAIL) is an answer: "Name does not resolve" raises on it, andanswersays the code of the server. - The answer is the records of the type asked, in the order the server gives them, joined by
,: an address forAandAAAA, a name forCNAME,NSandPTR, the preference and the name forMX(10 mail.example), the text forTXT. A name is written in lower case, without its final dot. - A server that refuses the query, or does not answer in time, is down: the collector stops as critical, "DNS server down". Any other failure between the poller and the server stops it as unreachable.
The collector only reads: a DNS query asks the server for nothing but its answer.
Prerequisites
- The server reachable from the poller on port 53, UDP and TCP, and willing to answer it: a resolver often answers only its own network.
dns:nameset on the probe.
Outputs
| Name | Label | Unit | Per instance |
|---|---|---|---|
resolved | Name resolves | — | no |
answer | Answer | — | no |
response-time | Response time | ms | no |
Watches
| Name | Title | Kind | Defaults | Checked by default |
|---|---|---|---|---|
not-resolved | Name does not resolve | state to avoid, on resolved | critical on no | yes |
unexpected-answer | Unexpected answer | judged by the collector | critical when the answer set is not among those of the server; no answer by default | no |
slow | Slow resolution | above a threshold, on response-time | warning above 500 ms, critical above 2000 ms, for 3 runs | yes |
"Unexpected answer" compares the answer set with each answer of the server, in lower case: for a name behind several addresses, set one of them, and it raises when that one is no longer given.
Limits
- A resolver answers from its cache: a record changed at the source is seen once its time to live is over. Ask the authoritative server of the domain, in
protocol:dns:server, to see a change at once. - A
TXTrecord long enough to be cut in several strings returns them joined, without a separator.