Infrastructure Integration

Configuration

  1. Configure the agent by editing /etc/netsil-dd-agent/conf.d/powerdns_recursor.yamlin the collectors. Example:

    init_config:
    
    instances:
      # The PowerDNS Recursor in v4 has a production ready web server that allows for
      # statistics gathering. In version 3.x the server was marked as experimental.
      #
      # As the server was marked as experimental in version 3 many of the metrics have
      # changed names and the API structure (paths) have also changed. With these changes
      # there has been a need to separate the two concerns. The check now has a key value
      # version: which if set to version 4 will query with the correct API path on the
      # non-experimental web server. If there is nothing set the in that key the check will
      # default to the version 3 metrics names and API paths.
      #
      # https://doc.powerdns.com/md/httpapi/api_spec/#url-apiv1serversserver95idstatistics
      #
      # PowerDNS recursor version 3.x and 4.0 support included.
    
      # Host running the recursor.
      - host: 127.0.0.1
      # Recursor web server port.
        port: 8082
      # Recursor web server api key.
        api_key: pdns_api_key
      # Version 3 or 4 absence of this field will default to version 3.
        version: 3
    
      # Optional tags to be applied to every emitted metric.
        # tags:
        #   - key:value
        #   - instance:production
    
  2. Check and make sure that all yaml files are valid with following command:

    /etc/init.d/netsil-collectors configcheck
    
  3. Restart the Agent using the following command:

    /etc/init.d/netsil-collectors restart
    
  4. Execute the info command to verify that the integration check has passed:

    /etc/init.d/netsil-collectors info
    

The output of the command should contain a section similar to the following:

    Checks
    ======

      [...]

      powerdns_recursor
      -----------------
          - instance #0 [OK]
          - Collected 8 metrics & 0 events

Infrastructure Datasources

Datasource Available Aggregations Unit Description
powerdns.recursor.cache_entries avg max min sum entry The number of entries in the cache
powerdns.recursor.negcache_entries avg max min sum entry The number of entries in the negative answer cache
powerdns.recursor.packetcache_entries avg max min sum entry The number of entries in the packet cache
powerdns.recursor.failed_host_entries avg max min sum server The number of servers that failed to resolve
powerdns.recursor.concurrent_queries avg max min sum query The number of MThreads currently running
powerdns.recursor.throttle_entries avg max min sum entry The number of entries in the throttle map
powerdns.recursor.all_outqueries avg max min sum query/second The number of outgoing udp queries per second
powerdns.recursor.answers_slow avg max min sum query/second Number of queries per second NOT answered within 1 second
powerdns.recursor.answers0_1 avg max min sum query/second Number of queries per second answered within 1 millisecond
powerdns.recursor.answers1_10 avg max min sum query/second Number of queries per second answered within 10 milliseconds
powerdns.recursor.answers10_100 avg max min sum query/second Number of queries per second answered within 100 milliseconds
powerdns.recursor.answers100_1000 avg max min sum query/second Number of queries per second answered within 1 second
powerdns.recursor.cache_hits avg max min sum hit/second The number of cache hits per second
powerdns.recursor.cache_misses avg max min sum miss/second The number of cache misses per second
powerdns.recursor.chain_resends avg max min sum query/second The number of queries per second chained to existing outstanding query
powerdns.recursor.case_mismatches avg max min sum error/second The number of mismatches in character case per second
powerdns.recursor.client_parse_errors avg max min sum error/second The number of unparseable packets per second
powerdns.recursor.dont_outqueries avg max min sum query/second The number of outgoing queries dropped per second because of 'dont query' setting
powerdns.recursor.ipv6_outqueries avg max min sum /second The number of outgoing queries per second over IPv6
powerdns.recursor.ipv6_questions avg max min sum query/second The number of end-user-initiated IPv6 UDP queries with the RD bit set
powerdns.recursor.nxdomain_answers avg max min sum response/second The number of NXDOMAIN answers per second
powerdns.recursor.max_mthread_stack avg max min sum The maximum amount of thread stack ever used
powerdns.recursor.outgoing_timeouts avg max min sum timeout/second The number of outgoing UDP query timeouts per second
powerdns.recursor.over_capacity_drops avg max min sum query/second The number of questions per second dropped due to having reached concurrent query limit
powerdns.recursor.packetcache_hits avg max min sum hit/second The number of packet cache hits per second
powerdns.recursor.packetcache_misses avg max min sum miss/second The number of packet cache misses per second
powerdns.recursor.policy_drops avg max min sum packet/second The number of packets dropped per second because of Lua policy decision
powerdns.recursor.qa_latency avg max min sum microsecond The average latency in microseconds exponentially weighted over past 'latency-statistic-size' packets
powerdns.recursor.server_parse_errors avg max min sum error/second The number of server replied packets per second that could not be parsed
powerdns.recursor.servfail_answers avg max min sum response/second The number of SERVFAIL answers per second
powerdns.recursor.spoof_prevents avg max min sum The number of times per second PowerDNS considers itself spoofed and drops data
powerdns.recursor.sys_msec avg max min sum millisecond The number of CPU milliseconds spent in 'system' mode
powerdns.recursor.tcp_client_overflow avg max min sum query/second The number of outgoing queries dropped per second because of 'dont query' setting
powerdns.recursor.tcp_clients avg max min sum The number of active TCP/IP clients per second
powerdns.recursor.tcp_outqueries avg max min sum operation/second The number of outgoing TCP queries per second
powerdns.recursor.throttled_out avg max min sum operation/second The number of throttled outgoing UDP queries per second
powerdns.recursor.unauthorized_tcp avg max min sum operation/second The number of TCP questions denied per second because of allow-from restrictions
powerdns.recursor.unauthorized_udp avg max min sum operation/second The number of UDP questions denied per second because of allow-from restrictions
powerdns.recursor.unexpected_packets avg max min sum operation/second The number of unexpected answers per second from remote servers
powerdns.recursor.unreachables avg max min sum The number times per second nameservers were unreachable
powerdns.recursor.uptime avg max min sum second The number of seconds PowerDNS has been running
powerdns.recursor.user_msec avg max min sum millisecond The number of CPU milliseconds spent in 'user' mode
powerdns.recursor.noerror_answers avg max min sum operation/second The number of NOERROR answers per second
powerdns.recursor.questions avg max min sum operation/second The number of user initiated udp queries per second
powerdns.recursor.tcp_questions avg max min sum operation/second The number of incoming tcp queries per second
powerdns.recursor.auth4_answers_slow avg max min sum query/second Number of queries per second NOT answered by auth4s within 1 second; Available since pdns_recursor v4.x
powerdns.recursor.auth4_answers0_1 avg max min sum query/second Number of queries per second answered by auth4s within 1 millisecond; Available since pdns_recursor v4.x
powerdns.recursor.auth4_answers1_10 avg max min sum query/second Number of queries per second answered by auth4s within 10 milliseconds; Available since pdns_recursor v4.x
powerdns.recursor.auth4_answers10_100 avg max min sum query/second Number of queries per second answered by auth4s within 100 milliseconds; Available since pdns_recursor v4.x
powerdns.recursor.auth4_answers100_1000 avg max min sum query/second Number of queries per second answered by auth4s within 1 second; Available since pdns_recursor v4.x
powerdns.recursor.auth6_answers_slow avg max min sum query/second Number of queries per second NOT answered by auth6s within 1 second; Available since pdns_recursor v4.x
powerdns.recursor.auth6_answers0_1 avg max min sum query/second Number of queries per second answered by auth6s within 1 millisecond; Available since pdns_recursor v4.x
powerdns.recursor.auth6_answers1_10 avg max min sum query/second Number of queries per second answered by auth6s within 10 milliseconds; Available since pdns_recursor v4.x
powerdns.recursor.auth6_answers10_100 avg max min sum query/second Number of queries per second answered by auth6s within 100 milliseconds; Available since pdns_recursor v4.x
powerdns.recursor.auth6_answers100_1000 avg max min sum query/second Number of queries per second answered by auth6s within 1 second; Available since pdns_recursor v4.x
powerdns.recursor.dlg_only_drops avg max min sum record/second The number of records dropped per second because of 'delegation only' setting; Available since pdns_recursor v4.x
powerdns.recursor.dlg_only_drops avg max min sum record/second The number of records dropped per second because of 'delegation only' setting; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_queries avg max min sum record/second The number of queries received per second with the DO bit set; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_result_bogus avg max min sum The number of DNSSEC validations per second that had the Bogus state; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_result_indeterminate avg max min sum The number of DNSSEC validations per second that had the Indeterminate state; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_result_insecure avg max min sum The number of DNSSEC validations per second that had the Insecure state; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_result_nta avg max min sum The number of DNSSEC validations per second that had the NTA (negative trust anchor) state; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_result_secure avg max min sum The number of DNSSEC validations per second that had the Secure state; Available since pdns_recursor v4.x
powerdns.recursor.dnssec_validations avg max min sum The number of DNSSEC validations performed per second; Available since pdns_recursor v4.x
powerdns.recursor.edns_ping_matches avg max min sum server/second The number of servers per second that sent a valid EDNS PING response; Available since pdns_recursor v4.x
powerdns.recursor.edns_ping_mismatches avg max min sum server/second The number of servers per second that sent an invalid EDNS PING response; Available since pdns_recursor v4.x
powerdns.recursor.ignored_packets avg max min sum packet/second The number of non-query packets received per second on server sockets that should only get queries; Available since pdns_recursor v4.x
powerdns.recursor.no_error_packets avg max min sum packet/second The number of erroneous packets received per second; Available since pdns_recursor v4.x
powerdns.recursor.noedns_outqueries avg max min sum query/second The number of queries per second sent without EDNS; Available since pdns_recursor v4.x
powerdns.recursor.noping_outqueries avg max min sum query/second The number of queries per second sent without EDNS PING; Available since pdns_recursor v4.x
powerdns.recursor.nsset_invalidations avg max min sum The number of times per second an nsset was dropped because it no longer worked; Available since pdns_recursor v4.x
powerdns.recursor.nsspeeds_entries avg max min sum entry The number of entries in the NS speeds map; Available since pdns_recursor v4.x
powerdns.recursor.outgoing4_timeouts avg max min sum timeout/second The number of timeouts per second for outgoing UDP IPv4 queries; Available since pdns_recursor v4.x
powerdns.recursor.outgoing6_timeouts avg max min sum timeout/second The number of timeouts per second for outgoing UDP IPv6 queries; Available since pdns_recursor v4.x
powerdns.recursor.policy_result_custom avg max min sum packet/second The number of packets per second that were sent a custom answer by the RPZ/filter engine; Available since pdns_recursor v4.x
powerdns.recursor.policy_result_noaction avg max min sum packet/second The number of packets per second that were not actioned upon by the RPZ/filter engine; Available since pdns_recursor v4.x
powerdns.recursor.policy_result_drop avg max min sum packet/second The number of packets per second dropped by the RPZ/filter engine; Available since pdns_recursor v4.x
powerdns.recursor.policy_result_nxdomain avg max min sum packet/second The number of packets per second that were replied to with NXDOMAIN by the RPZ/filter engine; Available since pdns_recursor v4.x
powerdns.recursor.policy_result_nodata avg max min sum packet/second The number of packets per second that were replied to with NODATA by the RPZ/filter engine; Available since pdns_recursor v4.x
powerdns.recursor.policy_result_truncate avg max min sum packet/second The number of packets per second that were forced to TCP by the RPZ/filter engine; Available since pdns_recursor v4.x
powerdns.recursor.real_memory_usage avg max min sum byte The amount of memory consumed by PowerDNS in bytes; Available since pdns_recursor v4.x
powerdns.recursor.resource_limits avg max min sum query/second The number of queries per second that could not be performed due to resource limits; Available since pdns_recursor v4.x
powerdns.recursor.too_old_drops avg max min sum query/second The number of questions per second that were dropped because they were too old; Available since pdns_recursor v4.x
powerdns.recursor.udp_in_errors avg max min sum packet/second The number of packets per second that were received faster than the OS could process them; Available since pdns_recursor v4.x
powerdns.recursor.udp_noport_errors avg max min sum packet/second The number of UDP packets per second where an ICMP response was received saying the remote port was not listening; Available since pdns_recursor v4.x
powerdns.recursor.udp_in_errors avg max min sum packet/second The number of packets per second that were received faster than the OS could process them; Available since pdns_recursor v4.x
powerdns.recursor.udp_recvbuf_errors avg max min sum error/second The number of errors per second caused in the UDP receive buffer; Available since pdns_recursor v4.x
powerdns.recursor.udp_sndbuf_errors avg max min sum error/second The number of errors per second caused in the UDP send buffer; Available since pdns_recursor v4.x