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