Smokeping_probes_AnotherDNS(3)

NAME
Smokeping::probes::AnotherDNS - Alternate DNS Probe

SYNOPSIS
 *** Probes ***

 +AnotherDNS

 forks = 5
 offset = 50%
 step = 300

 # The following variables can be overridden in each target section
 /^influx_.+/ = influx_location = In the basement
 authoritative = 0
 expect_text = 192.168.50.60
 ipversion = 4
 lookup = www.example.org
 mininterval = 0.5
 pings = 5
 port = 53
 protocol = udp
 recordtype = A
 require_answers = 0
 require_noerror = 0
 require_nxdomain = 0
 timeout = 5

 # [...]

 *** Targets ***

 probe = AnotherDNS # if this should be the default probe

 # [...]

 + mytarget
 # probe = AnotherDNS # if the default probe is something else
 host = my.host
 /^influx_.+/ = influx_location = In the basement
 authoritative = 0
 expect_text = 192.168.50.60
 ipversion = 4
 lookup = www.example.org
 mininterval = 0.5
 pings = 5
 port = 53
 protocol = udp
 recordtype = A
 require_answers = 0
 require_noerror = 0
 require_nxdomain = 0
 timeout = 5

DESCRIPTION
Like DNS, but uses Net::DNS and Time::HiRes instead of dig. This probe does *not* retry the request three times before it is considered "lost", like dig and other resolver do by default. If operating as caching Nameserver, BIND (and maybe others) expect clients to retry the request if the answer is not in the cache. So, ask the nameserver for something that he is authoritative for if you want measure the network packet loss correctly.

If you have a really fast network and nameserver, you will notice that this probe reports the query time in microsecond resolution. :-)

VARIABLES
Supported probe-specific variables:

forks
    Run this many concurrent processes at maximum

    Example value: 5

    Default value: 5

offset
    If you run many probes concurrently you may want to prevent them from hitting your network all at the same time. Using the probe-specific offset parameter you can change the point in time when each probe will be run. Offset is specified in % of total interval, or alternatively as 'random', and the offset from the 'General' section is used if nothing is specified here. Note that this does NOT influence the rrds itself, it is just a matter of when data acquisition is initiated. (This variable is only applicable if the variable 'concurrentprobes' is set in the 'General' section.)

    Example value: 50%

step
    Duration of the base interval that this probe should use, if different from the one specified in the 'Database' section. Note that the step in the RRD files is fixed when they are originally generated, and if you change the step parameter afterwards, you'll have to delete the old RRD files or somehow convert them. (This variable is only applicable if the variable 'concurrentprobes' is set in the 'General' section.)

    Example value: 300

Supported target-specific variables:

/^influx_.+/
    This is a tag that will be sent to influxdb and has no impact on the probe measurement. The tag name will be sent without the "influx_" prefix, which will be replaced with "tag_" instead. Tags can be used for filtering.

    Example value: influx_location = In the basement

authoritative
    Send non-recursive queries and require authoritative answers.

    Default value: 0

expect_text
    A string that should be present in the DNS answer. This can be used to verify that an A record contains the expected IP address, a PTR record reflects the expected hostname, etc. If the query returns multiple records, any single match will pass the test.

    Example value: 192.168.50.60

ipversion
    The IP protocol used. Possible values are "4" and "6". Passed to echoping(1) as the "-4" or "-6" options.

    Example value: 4

    Default value: 4

lookup
    Name of the host to look up in the dns.

    Example value: www.example.org

mininterval
    Minimum time between sending two lookup queries in (possibly fractional) seconds.

    Default value: 0.5

pings
    How many pings should be sent to each target, if different from the global value specified in the Database section. Note that the number of pings in the RRD files is fixed when they are originally generated, and if you change this parameter afterwards, you'll have to delete the old RRD files or somehow convert them.

    Example value: 5

port
    The UDP Port to use.

    Default value: 53

protocol
    The Network Protocol to use.

    Default value: udp

recordtype
    Record type to look up.

    Default value: A

require_answers
    Only Count Answers with answer count >= this value.

    Default value: 0

require_noerror
    Only Count Answers with Response Status NOERROR.

    Default value: 0

require_nxdomain
    Set to 1 if NXDOMAIN should be interpreted as success instead of failure. This reverses the normal behavior of the probe. Example uses include testing a DNS firewall, verifying that a mail server IP is not listed on a DNSBL, or other scenarios where NXDOMAIN is desired.

    Example value: 0

    Default value: 0

timeout
    Timeout for a single request in seconds.

    Default value: 5

AUTHORS
Christoph Heine <Christoph.Heine@HaDiKo.DE>