DNS Query Input Plugin
The DNS plugin gathers dns query times in miliseconds - like Dig
Configuration:
# Query given DNS server and gives statistics
[[inputs.dns_query]]
## servers to query
servers = ["8.8.8.8"]
## Network is the network protocol name.
# network = "udp"
## Domains or subdomains to query.
# domains = ["."]
## Query record type.
## Posible values: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SPF, SRV.
# record_type = "A"
## Dns server port.
# port = 53
## Query timeout in seconds.
# timeout = 2
Metrics:
- dns_query
- tags:
- server
- domain
- record_type
- result
- rcode
- fields:
- query_time_ms (float)
- result_code (int, success = 0, timeout = 1, error = 2)
- rcode_value (int)
Rcode Descriptions
| rcode_value |
rcode |
Description |
| 0 |
NoError |
No Error |
| 1 |
FormErr |
Format Error |
| 2 |
ServFail |
Server Failure |
| 3 |
NXDomain |
Non-Existent Domain |
| 4 |
NotImp |
Not Implemented |
| 5 |
Refused |
Query Refused |
| 6 |
YXDomain |
Name Exists when it should not |
| 7 |
YXRRSet |
RR Set Exists when it should not |
| 8 |
NXRRSet |
RR Set that should exist does not |
| 9 |
NotAuth |
Server Not Authoritative for zone |
| 10 |
NotZone |
Name not contained in zone |
| 16 |
BADSIG |
TSIG Signature Failure |
| 16 |
BADVERS |
Bad OPT Version |
| 17 |
BADKEY |
Key not recognized |
| 18 |
BADTIME |
Signature out of time window |
| 19 |
BADMODE |
Bad TKEY Mode |
| 20 |
BADNAME |
Duplicate key name |
| 21 |
BADALG |
Algorithm not supported |
| 22 |
BADTRUNC |
Bad Truncation |
| 23 |
BADCOOKIE |
Bad/missing Server Cookie |
Example Output:
dns_query,domain=google.com,rcode=NOERROR,record_type=A,result=success,server=127.0.0.1 rcode_value=0i,result_code=0i,query_time_ms=0.13746 1550020750001000000