Pyng: DNS check
Description
DNS check provides flexible facilities to query DNS name servers.
DNS requires drill command to be
present in $PATH.
Options
DNS supports following options, which may be used upon creation
of a new check object:
- qname
-
Name of the resource record to look up (required)
- qtype
-
Query type
- qclass
-
Query class
- reverse
-
Set to True to perform simplified reverse lookups for
mapping addresses to names
- trace
-
Set to True to trace he delegation path from the root
name servers for the name being looked up
- dnssec
-
Set to True to enable DNSSEC in the query
- server
-
Target server for the query
- port
-
Port to connect to instead of the default of 53
- proto
-
TCP or UDP transport for the connection
- ipv
-
IP version to use when resolving addresses (IPv6 or IPv4)
In addition, DNS supports following generic check settings:
- desc
-
Check description
- silent
-
Information about check runs is not output by certain runners
- interval
-
Number of seconds between check runs
- result
-
Require that check output matches result in order to
consider check successful. During the matching, check output is
evaluated as a list of lines of output without
newlines. result may be provided in multiple
ways:
-
None: always succeeds
-
string: succeeds if any line in the check's output
is equal to, or contains, result
-
list or a tuple: succeeds if all
elements of result are present in the check's
output (i.e. set of result items is a subset of
check output items)
-
set: succeeds if all lines in the check's
output are present in result (i.e. check output
is a subset of the set of result items)
-
Compiled regular expression object: succeeds if any
line in the check's output matches result
- alert
-
Callable (or a list of callables) to run in order to alert of
check status changes
- notify
-
Callable (or a list of callables) to run in order to notify of
changes in check's output
- run_condition
-
Callable to run to decide if check run should be skipped
- run_threshold
-
Threshold for mean run time in order to consider check to be
degraded
- result_filter
-
Callable to run to filter check command output lines prior to
matching check results
- on_result
- on_first
- on_up
- on_down
- on_degrade
- on_restore
- on_change
-
Callable to run with the result of the check on the specified
events
Example
# do a DNSSEC enabled TXT query and check that the result includes the
# string "pong"
DNS(
'ping.krot.org', 'txt',
dnssec=True,
result=lambda x: True if any(['pong' in y for y in x]) else False,
)
Return to Pyng