Documentation forServer & Application Monitor
Monitoring your applications and environment is a key capability of Hybrid Cloud Observability and is also available in a standalone module, Server & Application Monitor (SAM). Hybrid Cloud Observability and SAM are built on the self-hosted SolarWinds Platform.

Bind (Linux - v9.6 and higher)

This SAM application monitor template assesses the performance of a Bind service, version 9.6 and later, on Linux machines. It uses Perl scripts for monitoring the performance of queries.

Prerequisites

SSH and Perl installed on the target server. SNMP installed on the target server and permission to monitor named processes.

If Perl is installed in a location different from /usr/bin/perl, you should correct all components in the first line of the Script Body field (#!/usr/bin/perl), or you can create a symbolic link to Perl (refer to the documentation for the ln command).

You can find where Perl is installed by using the following command: which perl

Credentials

Root credentials on the target server.

Tested on CentOS 5.5 and Bind 9.9.2 version.

All monitors, except SNMP Process Monitor: Named, have the Count statistic as difference option enabled and will show the statistical difference from the last SAM polling cycle.

All monitors except SNMP Process Monitor: Named, require the following arguments:
perl ${SCRIPT} path_to_rndc path_to_named.stats

where

  • path_to_rndc - This is the full path to the rndc command. By default: /usr/local/sbin/rndc.
  • path_to_named.stats - This is the full path to named.stat file, which is generated by the “rndc stats" command.

Below is an example using the Scripts Arguments field:
perl ${SCRIPT} /usr/local/sbin/rndc /var/named/named.stats

Component monitors

(Recommended) Monitor counters for a period of time to understand potential value ranges, and then set thresholds accordingly. See "Using SAM Min/Max/Average statistics data for creating threshold settings" in the SolarWinds Success Center.

SNMP Process Monitor: Named

Returns CPU and memory usage of the named daemon. If these counters are unavailable, there may be problems with SNMP configuration or the named service has stopped.

Incoming Queries

Returns the number of incoming queries for several RR type. You should provide correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • A – The number of incoming A queries. This record is a 32-bit IP address.
  • NS – The number of incoming NS queries. This record is the authoritative name server for the domain.
  • CNAME – The number of incoming CNAME queries. This record identifies the canonical name of an alias.
  • SOA – The number of incoming SOA queries. This record identifies the start of a zone of authority.
  • PTR – The number of incoming PTR queries. This record is a pointer to another part of the domain name space.
  • MX – The number of incoming MX queries. This record identifies a mail exchange for the domain with a 16-bit preference value (lower is better) followed by the host name of the mail exchange.
  • AAAA – The number of incoming AAAA queries. This record is an IPv6 address.
  • SRV – The number of incoming SRV queries. This record have information about well-known network services (replaces WKS).
  • A6 – The number of incoming A6 queries. This record is an IPv6 address. This can be a partial address (a suffix) and an indirection to the name where the rest of the address (the prefix) can be found.
  • Total – The total number of all incoming queries.

Outgoing Queries

Returns the number of outgoing queries for several RR type sent from the internal resolver. You should provide the correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • A – The number of outgoing A queries. This record is a 32-bit IP address.
  • NS – The number of outgoing NS queries. This record is the authoritative name server for the domain.
  • CNAME – The number of outgoing CNAME queries. This record identifies the canonical name of an alias.
  • SOA – The number of outgoing SOA queries. This record identifies the start of a zone of authority.
  • PTR – The number of outgoing PTR queries. This record is a pointer to another part of the domain name space.
  • MX – The number of outgoing MX queries. This record identifies a mail exchange for the domain with a 16-bit preference value (lower is better) followed by the host name of the mail exchange.
  • AAAA – The number of outgoing AAAA queries. This record is an IPv6 address.
  • SRV – The number of outgoing SRV queries. This record has information about well-known network services (replaces WKS).
  • A6 – The number of outgoing A6 queries. This record is IPv6 address. This can be a partial address (a suffix) and an indirection to the name where the rest of the address (the prefix) can be found.
  • Total – The total number of all outgoing queries.

Name Server Statistics 1

Returns the statistics counters about incoming request processing. You should provide correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • IPv4 requests received – The number of IPv4 requests received. This also counts non query requests.
  • IPv6 requests received – The number of IPv6 requests received. This also counts non query requests.
  • queries resulted in successful answer – The number of queries resulted in a successful answer. This means the query which returns a NOERROR response with at least one answer RR.
  • queries resulted in authoritative answer – The number of queries resulted in authoritative answer.
  • queries resulted in non authoritative answer – The number of queries resulted in non authoritative answer.
  • queries resulted in nxrrset – The number of queries resulted in NOERROR responses with no data.
  • queries resulted in SERVFAIL – The number of queries resulted in SERVFAIL.
  • queries resulted in NXDOMAIN – The number of queries resulted in NXDOMAIN.
  • queries resulted in referral answer – The number of queries resulted in referral answer.
  • duplicate queries received – The queries which the server attempted to recurse but discovered an existing query with the SAMe IP address, port, query ID, name, type and class already being processed.

Name Server Statistics 2

Returns the statistics counters about incoming requests processing. You should provide the correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • TCP requests received – The number of TCP requests received.
  • auth queries rejected – The number of authoritative (non recursive) queries rejected.
  • recursive queries rejected – The number of recursive queries rejected.
  • update requests rejected – The number of dynamic update requests rejected.
  • responses sent – The number of responses sent.
  • queries dropped – The number of recursive queries for which the server discovered an excessive number of existing recursive queries for the SAMe name, type, and class and were subsequently dropped.
  • other query failures – The number of other query failures.
  • queries caused recursion – The number of queries which caused the server to perform recursion to find the final answer.
  • requests with EDNS(0) received – The number of requests with EDNS(0) received. Extension mechanisms for DNS (EDNS) is a specification for expanding the size of several parameters of the DNS protocol which had size restrictions that the Internet engineering community deemed too limited for increasing functionality of the protocol.
  • responses with EDNS(0) sent – The number of responses with EDNS(0) sent.

Zone Maintenance Statistics

Returns the statistics counters regarding zone maintenance operations such as zone transfers. You should provide the correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • IPv4 notifies sent – The number of IPv4 notifies sent.
  • IPv6 notifies sent – The number of IPv6 notifies sent.
  • IPv4 notifies received – The number of IPv4 notifies received.
  • IPv6 notifies received – The number of IPv6 notifies received.
  • transfer requests succeeded – The number of zone transfer requests succeeded.
  • transfer requests failed – The number of zone transfer requests failed.
  • notifies rejected – The number of incoming notifies rejected.

Resolver Statistics 1

Returns the statistics counters about name resolution performed in the internal resolver. You should provide correct arguments. If this monitor is unavailable, it may be that this service is not running. Returning values:

  • IPv4 queries sent – The number of IPv4 queries sent.
  • IPv6 queries sent – The number of IPv6 queries sent.
  • IPv4 responses received – The number of IPv4 responses received.
  • IPv6 responses received – The number of IPv6 responses received.
  • queries with RTT less than 10ms – The number of queries with round trip times (RTTs) less than 10 ms.
  • queries with RTT 10 to 100ms – The number of queries with round trip times (RTTs) between 10 and 100 ms.
  • queries with RTT 100 to 500ms – The number of queries with round trip times (RTTs) between 100 and 500 ms.
  • queries with RTT 500 to 800ms – The number of queries with round trip times (RTTs) between 500 and 800 ms.
  • queries with RTT 800 to 1600ms – The number of queries with round trip times (RTTs) between 800 and 1600 ms.
  • queries with RTT more than 1600ms – The number of queries with round trip times (RTTs) more than 1600 ms.

Resolver Statistics 2

Returns the statistics counters about name resolution performed in the internal resolver. You should provide the correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • NXDOMAIN received – The number of NXDOMAIN received.
  • SERVFAIL received – The number of SERVFAIL received.
  • FORMERR received – The number of FORMERR received.
  • other errors received – The number of other errors received.
  • EDNS(0) query failures – The number of EDNS(0) query failures.
  • query retries – The number of query retries performed.
  • query timeouts – The number of query timeouts.
  • lame delegations received – The number of lame delegations received.
  • IPv4 NS address fetches – The number of IPv4 NS address fetches invoked.
  • IPv4 NS address fetch failed – The number of IPv4 NS address fetch failed.

Socket I/O Statistics (IPv4)

Returns the statistics counters about network related events for IPv4. You should provide the correct arguments. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • UDP/IPv4 sockets opened – The number of sockets opened successfully.
  • UDP/IPv4 sockets closed – The number of sockets closed.
  • UDP/IPv4 socket bind failures – The number of failures of binding sockets.
  • UDP/IPv4 connections established – The number of connections established successfully.
  • TCP/IPv4 sockets opened – The number of sockets opened successfully.
  • TCP/IPv4 sockets closed – The number of sockets closed.
  • TCP/IPv4 socket connect failures – The number of failures of connecting sockets.
  • TCP/IPv4 connections established – The number of connections established successfully.
  • TCP/IPv4 send errors – The number of errors in socket send operations.
  • TCP/IPv4 recv errors – The number of errors in socket receive operations.

Socket I/O Statistics (IPv6)

Returns the statistics counters about network related events for IPv6. You should provide the correct arguments. By default, this monitor is disabled. If this monitor is unavailable, it may be that this service is not running. Returned values:

  • UDP/IPv6 sockets opened – The number of sockets opened successfully.
  • UDP/IPv6 sockets closed – The number of sockets closed.
  • UDP/IPv6 socket bind failures – The number of failures of binding sockets.
  • UDP/IPv6 connections established – The number of connections established successfully.
  • TCP/IPv6 sockets opened – The number of sockets opened successfully.
  • TCP/IPv6 sockets closed – The number of sockets closed.
  • TCP/IPv6 socket connect failures – The number of failures of connecting sockets.
  • TCP/IPv6 connections established – The number of connections established successfully.
  • TCP/IPv6 send errors – The number of errors in socket send operations.
  • TCP/IPv6 recv errors – The number of errors in socket receive operations.