The PowerDNS Recursor is a high-end, high-performance resolving name server. Utilizing multiple processors and supporting the same powerful scripting ability of the Authoritative Server, the Recursor delivers top performance while retaining the flexibility modern DNS deployments require.
Prerequisite
- Edit the configuration file in
/etc/powerdns/recursor.conf
and set the values as follows:
webserver=yes
api-key=<api key> # only available since ver 4.0
webserver-readonly=yes # default no
- Add the api-key and serverid in auto-monitoring.yaml file in
/opt/opsramp/agent/conf/app/metrics/powerdnsrec
- For Virtual machines, install the Linux agent.
Configuring the credentials
Configure the credentials in the directory /opt/opsramp/agent/conf/app.d/creds.yaml
powerdnsrecursor:
- name: powerdnsrecursor
user: <username>
pwd: <Password>
encoding-type: plain
labels:
key1: val1
key2: val2
Configuring the application
Virtual machine
Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-detection.yaml
- name: powerdnsrecursor
instance-checks:
service-check:
- pdns-recursor
process-check:
- pdns-recursor
port-check:
- 8082
Docker environment
Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-container-detection.yaml
- name: powerdnsrecursor
container-checks:
image-check:
- powerdns
port-check:
- 8082
Kubernetes environment
Configure the application in config.yaml
- name: powerdnsrecursor
container-checks:
image-check:
- powerdns
port-check:
- 8082
Validate
Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.
Metrics
OpsRamp Metric | Metric Display Name | Unit | Description |
---|---|---|---|
powerdns_recursor_answers_slow | Answers Slow | Number of queries NOT answered within 1 second | |
powerdns_recursor_answers0_1 | Answers0 To 1 | Number of queries answered within 1 millisecond | |
powerdns_recursor_answers1_10 | Answers1 To 10 | Number of queries answered within 10 milliseconds | |
powerdns_recursor_answers10_100 | Answers10 To 100 | Number of queries answered within 100 milliseconds | |
powerdns_recursor_answers100_1000 | Answers100 To 1000 | Number of queries answered within 1 second | |
powerdns_recursor_auth4_answers_slow | Auth4 Answers Slow | Number of queries NOT answered by auth4s within 1 second | |
powerdns_recursor_auth4_answers0_1 | Auth4 Answers0 To 1 | Number of queries answered by auth4s within 1 millisecond | |
powerdns_recursor_auth4_answers1_10 | Auth4 Answers1 To 10 | Number of queries answered by auth4s within 10 milliseconds | |
powerdns_recursor_auth4_answers10_100 | Auth4 Answers10 To 100 | Number of queries answered by auth4s within 100 milliseconds | |
powerdns_recursor_auth4_answers100_1000 | Auth4 Answers100 To 1000 | Number of queries answered by auth4s within 1 second | |
powerdns_recursor_auth6_answers_slow | Auth6 Answers Slow | Number of queries NOT answered by auth6s within 1 second | |
powerdns_recursor_auth6_answers0_1 | Auth6 Answers0 To 1 | Number of queries answered by auth6s within 1 millisecond | |
powerdns_recursor_auth6_answers1_10 | Auth6 Answers1 To 10 | Number of queries answered by auth6s within 10 milliseconds | |
powerdns_recursor_auth6_answers10_100 | Auth6 Answers10 To 100 | Number of queries answered by auth6s within 100 milliseconds | |
powerdns_recursor_auth6_answers100_1000 | Auth6 Answers100 To 1000 | Number of queries answered by auth6s within 1 second | |
powerdns_recursor_cache_entries | Cache Entries | Number of cache hits | |
powerdns_recursor_cache_hits | Cache Hits | Number of cache misses | |
powerdns_recursor_cache_misses | Cache Misses | Number of cache misses | |
powerdns_recursor_case_mismatches | Case Mismatches | Number of cache mismatches | |
powerdns_recursor_chain_resends | Chain Resends | Number of queries chained to existing outstanding query | |
powerdns_recursor_client_parse_errors | Client Parse Errors | Number of Client Parse Errors | |
powerdns_recursor_concurrent_queries | Concurrent Queries | Number of Concurrent Queries | |
powerdns_recursor_dlg_only_drops | Dlg Only Drops | Number of Dlg Only Drops | |
powerdns_recursor_dnssec_queries | Dnssec Queries | Number of Dnssec Queries | |
powerdns_recursor_dnssec_result_bogus | Dnssec Result Bogus | Number of DNSSEC validations that had the Bogus state | |
powerdns_recursor_dnssec_result_indeterminate | Dnssec Result Indeterminate | Number of DNSSEC validations that had the Indeterminate state | |
powerdns_recursor_dnssec_result_insecure | Dnssec Result Insecure | Number of DNSSEC validations that had the Insecure state | |
powerdns_recursor_dnssec_result_nta | Dnssec Result Nta | Number of DNSSEC validations that had the NTA (negative trust anchor) state | |
powerdns_recursor_dnssec_result_secure | Dnssec Result Secure | Number of DNSSEC validations that had the Secure state | |
powerdns_recursor_dnssec_validations | Dnssec Validations | Number of DNSSEC validations performed | |
powerdns_recursor_dont_outqueries | Dont Outqueries | Dont Outqueries | |
powerdns_recursor_edns_ping_matches | Edns Ping Matches | Number of servers that sent a valid EDNS PING response | |
powerdns_recursor_edns_ping_mismatches | Edns Ping Mismatches | Number of servers that sent an invalid EDNS PING response | |
powerdns_recursor_failed_host_entries | Failed Host Entries | Number of Failed Host Entries | |
powerdns_recursor_ignored_packets | Ignored Packets | Number of Ignored Packets | |
powerdns_recursor_ipv6_outqueries | Ipv6 Outqueries | Number of Ipv6 Outqueries | |
powerdns_recursor_ipv6_questions | Ipv6 Questions | Number of Ipv6 Questions | |
powerdns_recursor_max_mthread_stack | Max Mthread Stack | Number of Max Mthread Stack | |
powerdns_recursor_negcache_entries | Negcache Entries | Number of Negcache Entries | |
powerdns_recursor_no_packet_error | No Packet Error | Number of No Packet Error | |
powerdns_recursor_noedns_outqueries | Noedns Outqueries | Number of Noedns Outqueries | |
powerdns_recursor_noerror_answers | Noerror Answers | Number of Noerror Answers | |
powerdns_recursor_noping_outqueries | Noping Outqueries | Number of Noping Outqueries | |
powerdns_recursor_nsset_invalidations | Nsset Invalidations | Number of Nsset Invalidations | |
powerdns_recursor_nsspeeds_entries | Nsspeeds Entries | Number of Nsspeeds Entries | |
powerdns_recursor_nxdomain_answers | Nxdomain Answers | Number of Nxdomain Answers | |
powerdns_recursor_outgoing_timeouts | Outgoing Timeouts | Number of timeouts for outgoing IPv4/pv6 queries | |
powerdns_recursor_outgoing4_timeouts | Outgoing4 Timeouts | Number of timeouts for outgoing UDP IPv4 queries | |
powerdns_recursor_outgoing6_timeouts | Outgoing6 Timeouts | Number of timeouts for outgoing UDP IPv6 queries | |
powerdns_recursor_over_capacity_drops | Over Capacity Drops | Number of questions dropped due to having reached concurrent query limit | |
powerdns_recursor_packetcache_entries | Packetcache Entries | Number of entries in the packet cache | |
powerdns_recursor_packetcache_hits | Packetcache Hits | Number of hits in the packet cache | |
powerdns_recursor_packetcache_misses | Packetcache Misses | Number of misses in the packet cache | |
powerdns_recursor_policy_drops | Policy Drops | Number of packets dropped because of Lua policy decision | |
powerdns_recursor_policy_result_custom | Policy Result Custom | Number of packets that were sent a custom answer by the RPZ/filter engine | |
powerdns_recursor_policy_result_drop | Policy Result Drop | Number of packets that were not actioned upon by the RPZ/filter engine | |
powerdns_recursor_policy_result_noaction | Policy Result Noaction | Number of packets dropped by the RPZ/filter engine | |
powerdns_recursor_policy_result_nodata | Policy Result Nodata | Number of packets that were replied to with NXDOMAIN by the RPZ/filter engine | |
powerdns_recursor_policy_result_nxdomain | Policy Result Nxdomain | Number of packets that were replied to with NODATA by the RPZ/filter engine | |
powerdns_recursor_policy_result_truncate | Policy Result Truncate | Number of packets that were forced to TCP by the RPZ/filter engine | |
powerdns_recursor_qa_latency | Qa Latency | microsecond | Number of Qa Latency |
powerdns_recursor_questions | Questions | Number of Questions | |
powerdns_recursor_real_memory_usage | Real Memory Usage | Number of Real Memory Usage | |
powerdns_recursor_resource_limits | Resource Limits | Number of Resource Limits | |
powerdns_recursor_security_status | Security Status | Security Status | |
powerdns_recursor_server_parse_errors | Server Parse Errors | Number of Server Parse Errors | |
powerdns_recursor_servfail_answers | Servfail Answers | Number of Servfail Answers | |
powerdns_recursor_spoof_prevents | Spoof Prevents | Number of Spoof Prevents | |
powerdns_recursor_sys_msec | Sys Msec | minutes | Number of Sys Msec |
powerdns_recursor_tcp_client_overflow | Tcp Client Overflow | Number of outgoing queries dropped per second because of 'dont query' setting | |
powerdns_recursor_tcp_clients | Tcp Clients | Number of active TCP/IP clients | |
powerdns_recursor_tcp_outqueries | Tcp Outqueries | Number of outgoing TCP queries | |
powerdns_recursor_tcp_questions | Tcp Questions | Number of entries in the throttle map | |
powerdns_recursor_throttle_entries | Throttle Entries | Number of entries in the throttle map | |
powerdns_recursor_throttled_out | Throttled Out | Number of throttled outgoing UDP queries | |
powerdns_recursor_throttled_outqueries | Throttled Outqueries | Number of outqueries in the throttle map | |
powerdns_recursor_too_old_drops | Too Old Drops | Number of questions that were dropped because they were too old | |
powerdns_recursor_udp_in_errors | Udp In Errors | Number of packets that were received faster than the OS could process them | |
powerdns_recursor_udp_noport_errors | Udp Noport Errors | Number of UDP packets where an ICMP response was received saying the remote port was not listening | |
powerdns_recursor_udp_recvbuf_errors | Udp Recvbuf Errors | Number of errors caused in the UDP receive buffer | |
powerdns_recursor_udp_sndbuf_errors | Udp Sndbuf Errors | Number of errors caused in the UDP send buffer | |
powerdns_recursor_unauthorized_tcp | Unauthorized Tcp | Number of TCP questions denied because of allow-from restrictions | |
powerdns_recursor_unauthorized_udp | Unauthorized Udp | Number of UDP questions denied because of allow-from restrictions | |
powerdns_recursor_unexpected_packets | Unexpected Packets | Number of unexpected answers from remote servers | |
powerdns_recursor_unreachables | Unreachables | Number times nameservers were unreachable | |
powerdns_recursor_uptime | Uptime | Number of seconds PowerDNS has been running | |
powerdns_recursor_user_msec | User Msec | millisecond | Number of CPU milliseconds spent in 'user' mode |
powerdns_recursor_all_outqueries | All Outqueries | Number of outgoing udp queries |