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.
Supported metrics
OpsRamp Metric | Metric Display Name | Unit |
---|---|---|
powerdns_recursor_answers_slow Number of queries NOT answered within 1 second | Answers Slow | |
powerdns_recursor_answers0_1 Number of queries answered within 1 millisecond | Answers0 To 1 | |
powerdns_recursor_answers1_10 Number of queries answered within 10 milliseconds | Answers1 To 10 | |
powerdns_recursor_answers10_100 Number of queries answered within 100 milliseconds | Answers10 To 100 | |
powerdns_recursor_answers100_1000 Number of queries answered within 1 second | Answers100 To 1000 | |
powerdns_recursor_auth4_answers_slow Number of queries NOT answered by auth4s within 1 second | Auth4 Answers Slow | |
powerdns_recursor_auth4_answers0_1 Number of queries answered by auth4s within 1 millisecond | Auth4 Answers0 To 1 | |
powerdns_recursor_auth4_answers1_10 Number of queries answered by auth4s within 10 milliseconds | Auth4 Answers1 To 10 | |
powerdns_recursor_auth4_answers10_100 Number of queries answered by auth4s within 100 milliseconds | Auth4 Answers10 To 100 | |
powerdns_recursor_auth4_answers100_1000 Number of queries answered by auth4s within 1 second | Auth4 Answers100 To 1000 | |
powerdns_recursor_auth6_answers_slow Number of queries NOT answered by auth6s within 1 second | Auth6 Answers Slow | |
powerdns_recursor_auth6_answers0_1 Number of queries answered by auth6s within 1 millisecond | Auth6 Answers0 To 1 | |
powerdns_recursor_auth6_answers1_10 Number of queries answered by auth6s within 10 milliseconds | Auth6 Answers1 To 10 | |
powerdns_recursor_auth6_answers10_100 Number of queries answered by auth6s within 100 milliseconds | Auth6 Answers10 To 100 | |
powerdns_recursor_auth6_answers100_1000 Number of queries answered by auth6s within 1 second | Auth6 Answers100 To 1000 | |
powerdns_recursor_cache_entries Number of cache hits | Cache Entries | |
powerdns_recursor_cache_hits Number of cache misses | Cache Hits | |
powerdns_recursor_cache_misses Number of cache misses | Cache Misses | |
powerdns_recursor_case_mismatches Number of cache mismatches | Case Mismatches | |
powerdns_recursor_chain_resends Number of queries chained to existing outstanding query | Chain Resends | |
powerdns_recursor_client_parse_errors Number of Client Parse Errors | Client Parse Errors | |
powerdns_recursor_concurrent_queries Number of Concurrent Queries | Concurrent Queries | |
powerdns_recursor_dlg_only_drops Number of Dlg Only Drops | Dlg Only Drops | |
powerdns_recursor_dnssec_queries Number of Dnssec Queries | Dnssec Queries | |
powerdns_recursor_dnssec_result_bogus Number of DNSSEC validations that had the Bogus state | Dnssec Result Bogus | |
powerdns_recursor_dnssec_result_indeterminate Number of DNSSEC validations that had the Indeterminate state | Dnssec Result Indeterminate | |
powerdns_recursor_dnssec_result_insecure Number of DNSSEC validations that had the Insecure state | Dnssec Result Insecure | |
powerdns_recursor_dnssec_result_nta Number of DNSSEC validations that had the NTA (negative trust anchor) state | Dnssec Result Nta | |
powerdns_recursor_dnssec_result_secure Number of DNSSEC validations that had the Secure state | Dnssec Result Secure | |
powerdns_recursor_dnssec_validations Number of DNSSEC validations performed | Dnssec Validations | |
powerdns_recursor_dont_outqueries Dont Outqueries | Dont Outqueries | |
powerdns_recursor_edns_ping_matches Number of servers that sent a valid EDNS PING response | Edns Ping Matches | |
powerdns_recursor_edns_ping_mismatches Number of servers that sent an invalid EDNS PING response | Edns Ping Mismatches | |
powerdns_recursor_failed_host_entries Number of Failed Host Entries | Failed Host Entries | |
powerdns_recursor_ignored_packets Number of Ignored Packets | Ignored Packets | |
powerdns_recursor_ipv6_outqueries Number of Ipv6 Outqueries | Ipv6 Outqueries | |
powerdns_recursor_ipv6_questions Number of Ipv6 Questions | Ipv6 Questions | |
powerdns_recursor_max_mthread_stack Number of Max Mthread Stack | Max Mthread Stack | |
powerdns_recursor_negcache_entries Number of Negcache Entries | Negcache Entries | |
powerdns_recursor_no_packet_error Number of No Packet Error | No Packet Error | |
powerdns_recursor_noedns_outqueries Number of Noedns Outqueries | Noedns Outqueries | |
powerdns_recursor_noerror_answers Number of Noerror Answers | Noerror Answers | |
powerdns_recursor_noping_outqueries Number of Noping Outqueries | Noping Outqueries | |
powerdns_recursor_nsset_invalidations Number of Nsset Invalidations | Nsset Invalidations | |
powerdns_recursor_nsspeeds_entries Number of Nsspeeds Entries | Nsspeeds Entries | |
powerdns_recursor_nxdomain_answers Number of Nxdomain Answers | Nxdomain Answers | |
powerdns_recursor_outgoing_timeouts Number of timeouts for outgoing IPv4/pv6 queries | Outgoing Timeouts | |
powerdns_recursor_outgoing4_timeouts Number of timeouts for outgoing UDP IPv4 queries | Outgoing4 Timeouts | |
powerdns_recursor_outgoing6_timeouts Number of timeouts for outgoing UDP IPv6 queries | Outgoing6 Timeouts | |
powerdns_recursor_over_capacity_drops Number of questions dropped due to reaching the concurrent query limit | Over Capacity Drops | |
powerdns_recursor_packetcache_entries Number of entries in the packet cache | Packetcache Entries | |
powerdns_recursor_packetcache_hits Number of hits in the packet cache | Packetcache Hits | |
powerdns_recursor_packetcache_misses Number of misses in the packet cache | Packetcache Misses | |
powerdns_recursor_policy_drops Number of packets dropped because of Lua policy decision | Policy Drops | |
powerdns_recursor_policy_result_custom Number of packets that were sent a custom answer by the RPZ/filter engine | Policy Result Custom | |
powerdns_recursor_policy_result_drop Number of packets that were not actioned On by the RPZ/filter engine | Policy Result Drop | |
powerdns_recursor_policy_result_noaction Number of packets dropped by the RPZ/filter engine | Policy Result Noaction | |
powerdns_recursor_policy_result_nodata Number of packets that were replied to with NXDOMAIN by the RPZ/filter engine | Policy Result Nodata | |
powerdns_recursor_policy_result_nxdomain Number of packets that were replied to with NODATA by the RPZ/filter engine | Policy Result Nxdomain | |
powerdns_recursor_policy_result_truncate Number of packets that were forced to TCP by the RPZ/filter engine | Policy Result Truncate | |
powerdns_recursor_qa_latency Number of Qa Latency | Qa Latency | microsecond |
powerdns_recursor_questions Number of Questions | Questions | |
powerdns_recursor_real_memory_usage Number of Real Memory Usage | Real Memory Usage | |
powerdns_recursor_resource_limits Number of Resource Limits | Resource Limits | |
powerdns_recursor_security_status Security Status | Security Status | |
powerdns_recursor_server_parse_errors Number of Server Parse Errors | Server Parse Errors | |
powerdns_recursor_servfail_answers Number of Servfail Answers | Servfail Answers | |
powerdns_recursor_spoof_prevents Number of Spoof Prevents | Spoof Prevents | |
powerdns_recursor_sys_msec Number of Sys Msec | Sys Msec | minutes |
powerdns_recursor_tcp_client_overflow Number of outgoing queries dropped per second because of 'dont query' setting | Tcp Client Overflow | |
powerdns_recursor_tcp_clients Number of active TCP/IP clients | Tcp Clients | |
powerdns_recursor_tcp_outqueries Number of outgoing TCP queries | Tcp Outqueries | |
powerdns_recursor_tcp_questions Number of entries in the throttle map | Tcp Questions | |
powerdns_recursor_throttle_entries Number of entries in the throttle map | Throttle Entries | |
powerdns_recursor_throttled_out Number of throttled outgoing UDP queries | Throttled Out | |
powerdns_recursor_throttled_outqueries Number of outqueries in the throttle map | Throttled Outqueries | |
powerdns_recursor_too_old_drops Number of questions that were dropped because they were too old | Too Old Drops | |
powerdns_recursor_udp_in_errors Number of packets that were received faster than the OS could process them | Udp In Errors | |
powerdns_recursor_udp_noport_errors Number of UDP packets where an ICMP response was received saying the remote port was not listening | Udp Noport Errors | |
powerdns_recursor_udp_recvbuf_errors Number of errors caused in the UDP receive buffer | Udp Recvbuf Errors | |
powerdns_recursor_udp_sndbuf_errors Number of errors caused in the UDP send buffer | Udp Sndbuf Errors | |
powerdns_recursor_unauthorized_tcp Number of TCP questions denied because of allow-from restrictions | Unauthorized Tcp | |
powerdns_recursor_unauthorized_udp Number of UDP questions denied because of allow-from restrictions | Unauthorized Udp | |
powerdns_recursor_unexpected_packets Number of unexpected answers from remote servers | Unexpected Packets | |
powerdns_recursor_unreachables Number times nameservers were unreachable | Unreachables | |
powerdns_recursor_uptime Number of seconds PowerDNSran | Uptime | |
powerdns_recursor_user_msec Number of CPU milliseconds spent in 'user' mode | User Msec | millisecond |
powerdns_recursor_all_outqueries Number of outgoing udp queries | All Outqueries |