telegraf/plugins/inputs/dns_query
Oleg Kovalov d31f1735d9 Use fmt.Errorf for creating error with formatting (#5968) 2019-06-07 12:24:26 -07:00
..
README.md
dns_query.go
dns_query_test.go

README.md

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