Smokeping_probes_AnotherDNS(3)

hey bestie!! welcome to Smokeping_probes_AnotherDNS(3) from the SmokePing manual. this is the AnotherDNS probe page, and it's giving alternate DNS probe realness πŸ’…βœ¨

πŸ’– NAME πŸ’–

Smokeping::probes::AnotherDNS β€” Alternate DNS Probe.

✨ SYNOPSIS ✨

okay so here's the config vibe β€” copy these exactly, bestie:

*** 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 πŸ¦‹

so it's like DNS, but instead of dig it uses Net::DNS and Time::HiRes. huge.

the tea: this probe does not retry the request three times before it's considered "lost", like dig and other resolvers do by default. no cap.

if it's operating as a caching Nameserver, BIND (and maybe others) expect clients to retry the request if the answer isn't in the cache. so if you wanna measure network packet loss correctly, ask the nameserver for something it's authoritative for. that's the move.

also if you have a really fast network and nameserver, you'll notice this probe reports the query time in microsecond resolution. :-) slay.

πŸŽ€ 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>

okay that's the whole page!! this one is from SmokePing 2.9.0, dated 2025-06-30 β€” bye bestie, go measure those DNS packets πŸ’–πŸ¦‹

πŸ“¦ where this page comes from