Smokeping_probes_AnotherDNS - Man Page

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>

Info

2024-01-27 2.8.2 SmokePing