5.02021-11-21T21:59:56ZTemplatesApp PowerDNS dnsdistApp PowerDNS dnsdist## Description
Self-contained Zabbix template to get information about PowerDNS dnsdist. Source: https://github.com/frei-style/zabbix-powerdns-dnsdist-template/
## Overview
Self-contained Zabbix template to get information about PowerDNS dnsdist.
For installation instructions see: [https://github.com/frei-style/zabbix-powerdns-dnsdist-template](cat-app/dns/app-powerdns-dnsdist/visit)
## Author
Manuel Frei
TemplatesPowerDNS dnsdist- API StatisticsHTTP_AGENTpdns.dnsdist.api.statistics00TEXTPowerDNS dnsdisthttp://{$PDNS.DNSDIST.WEBSERVER.IP}:{$PDNS.DNSDIST.WEBSERVER.PORT}/api/v1/servers/localhost/statisticsX-API-Key{$PDNS.DNSDIST.APIKEY}
- acl-dropsDEPENDENTpdns.dnsdist.statistics[acl-drops]0The number of packets (or TCP messages) dropped because of the ACL. If a packet or message is dropped, it is not counted in the queries statistic.PowerDNS dnsdistJSONPATH$[?(@.name == "acl-drops")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- cache-hitsDEPENDENTpdns.dnsdist.statistics[cache-hits]0Number of times a response was sent using data found in the packet cache.PowerDNS dnsdistJSONPATH$[?(@.name == "cache-hits")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- cache-missesDEPENDENTpdns.dnsdist.statistics[cache-misses]0Number of times an answer was not found in the packet cache. Only counted if a packet cache was setup for the selected pool.PowerDNS dnsdistJSONPATH$[?(@.name == "cache-misses")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- cpu-iowaitDEPENDENTpdns.dnsdist.statistics[cpu-iowait]0Time spent waiting for I/O to complete by the whole system, in units of USER_HZ.
New in version 1.5.0.PowerDNS dnsdistJSONPATH$[?(@.name == "cpu-iowait")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- cpu-stealDEPENDENTpdns.dnsdist.statistics[cpu-steal]0Stolen time, which is the time spent by the whole system in other operating systems when running in a virtualized environment, in units of USER_HZ.
New in version 1.5.0.PowerDNS dnsdistJSONPATH$[?(@.name == "cpu-steal")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- cpu-sys-msecDEPENDENTpdns.dnsdist.statistics[cpu-sys-msec]0Milliseconds spent by dnsdist in the “system” state.PowerDNS dnsdistJSONPATH$[?(@.name == "cpu-sys-msec")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- cpu-user-msecDEPENDENTpdns.dnsdist.statistics[cpu-user-msec]0Milliseconds spent by dnsdist in the “user” state.PowerDNS dnsdistJSONPATH$[?(@.name == "cpu-user-msec")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- downstream-send-errorsDEPENDENTpdns.dnsdist.statistics[downstream-send-errors]0Number of errors when sending a query to a backend.PowerDNS dnsdistJSONPATH$[?(@.name == "downstream-send-errors")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- downstream-timeoutsDEPENDENTpdns.dnsdist.statistics[downstream-timeouts]0Number of queries not answer in time by a backend.PowerDNS dnsdistJSONPATH$[?(@.name == "downstream-timeouts")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- dyn-block-nmg-sizeDEPENDENTpdns.dnsdist.statistics[dyn-block-nmg-size]0Number of dynamic blocks entries.PowerDNS dnsdistJSONPATH$[?(@.name == "dyn-block-nmg-size")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- dyn-blockedDEPENDENTpdns.dnsdist.statistics[dyn-blocked]0Number of queries dropped because of a dynamic block.PowerDNS dnsdistJSONPATH$[?(@.name == "dyn-blocked")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- empty-queriesDEPENDENTpdns.dnsdist.statistics[empty-queries]0Number of empty queries received from clients. Every empty-query is also counted as a query.PowerDNS dnsdistJSONPATH$[?(@.name == "empty-queries")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- fd-usageDEPENDENTpdns.dnsdist.statistics[fd-usage]0Number of currently used file descriptors.PowerDNS dnsdistJSONPATH$[?(@.name == "fd-usage")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- frontend-noerrorDEPENDENTpdns.dnsdist.statistics[frontend-noerror]0Number of NoError answers sent to clients.PowerDNS dnsdistJSONPATH$[?(@.name == "frontend-noerror")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- frontend-nxdomainDEPENDENTpdns.dnsdist.statistics[frontend-nxdomain]0Number of NXDomain answers sent to clients.PowerDNS dnsdistJSONPATH$[?(@.name == "frontend-nxdomain")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- frontend-servfailDEPENDENTpdns.dnsdist.statistics[frontend-servfail]0Number of ServFail answers sent to clients.PowerDNS dnsdistJSONPATH$[?(@.name == "frontend-servfail")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-avg100DEPENDENTpdns.dnsdist.statistics[latency-avg100]0Average response latency in microseconds of the last 100 packets.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-avg100")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-avg1000DEPENDENTpdns.dnsdist.statistics[latency-avg1000]0Average response latency in microseconds of the last 1'000 packets.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-avg1000")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-avg10000DEPENDENTpdns.dnsdist.statistics[latency-avg10000]0Average response latency in microseconds of the last 10'000 packets.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-avg10000")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-avg100000DEPENDENTpdns.dnsdist.statistics[latency-avg100000]0Average response latency in microseconds of the last 100'000 packets.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-avg100000")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-avg1000000DEPENDENTpdns.dnsdist.statistics[latency-avg1000000]0Average response latency in microseconds of the last 1'000'000 packets.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-avg1000000")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-bucketDEPENDENTpdns.dnsdist.statistics[latency-bucket]0Number of queries contributing to response time histogram per latency bucket.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-bucket")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-countDEPENDENTpdns.dnsdist.statistics[latency-count]0Number of queries contributing to response time histogram.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-count")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-slowDEPENDENTpdns.dnsdist.statistics[latency-slow]0Number of queries answered in more than 1 second.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-slow")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency-sumDEPENDENTpdns.dnsdist.statistics[latency-sum]0Total response time of all queries combined in milliseconds since the start of dnsdist. Can be used to calculate the average response time over all queries.PowerDNS dnsdistJSONPATH$[?(@.name == "latency-slow")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency0-1DEPENDENTpdns.dnsdist.statistics[latency0-1]0Number of queries answered in less than 1 ms.PowerDNS dnsdistJSONPATH$[?(@.name == "latency0-1")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency1-10DEPENDENTpdns.dnsdist.statistics[latency1-10]0Number of queries answered in 1-10 ms.PowerDNS dnsdistJSONPATH$[?(@.name == "latency1-10")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency10-50DEPENDENTpdns.dnsdist.statistics[latency10-50]0Number of queries answered in 10-50 ms.PowerDNS dnsdistJSONPATH$[?(@.name == "latency10-50")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency50-100DEPENDENTpdns.dnsdist.statistics[latency50-100]0Number of queries answered in 50-100 ms.PowerDNS dnsdistJSONPATH$[?(@.name == "latency50-100")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- latency100-1000DEPENDENTpdns.dnsdist.statistics[latency100-1000]0Number of queries answered in 100-1000 ms.PowerDNS dnsdistJSONPATH$[?(@.name == "latency100-1000")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- no-policyDEPENDENTpdns.dnsdist.statistics[no-policy]0Number of queries dropped because no server was available.PowerDNS dnsdistJSONPATH$[?(@.name == "no-policy")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- noncompliant-queriesDEPENDENTpdns.dnsdist.statistics[noncompliant-queries]0Number of queries dropped as non-compliant.PowerDNS dnsdistJSONPATH$[?(@.name == "noncompliant-queries")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- noncompliant-responsesDEPENDENTpdns.dnsdist.statistics[noncompliant-responses]0Number of answers from a backend dropped as non-compliant.PowerDNS dnsdistJSONPATH$[?(@.name == "noncompliant-responses")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- queriesDEPENDENTpdns.dnsdist.statistics[queries]0Number of received queries.PowerDNS dnsdistJSONPATH$[?(@.name == "queries")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- rdqueriesDEPENDENTpdns.dnsdist.statistics[rdqueries]0Number of received queries with the recursion desired bit set.PowerDNS dnsdistJSONPATH$[?(@.name == "rdqueries")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- real-memory-usageDEPENDENTpdns.dnsdist.statistics[real-memory-usage]0Current memory usage.PowerDNS dnsdistJSONPATH$[?(@.name == "real-memory-usage")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- responsesDEPENDENTpdns.dnsdist.statistics[responses]0Number of responses received from backends. Note! This is not the number of responses sent to clients. To get that number, add ‘cache-hits’ and ‘responses’.PowerDNS dnsdistJSONPATH$[?(@.name == "responses")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- rule-dropDEPENDENTpdns.dnsdist.statistics[rule-drop]0Number of queries dropped because of a rule.PowerDNS dnsdistJSONPATH$[?(@.name == "rule-drop")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- rule-nxdomainDEPENDENTpdns.dnsdist.statistics[rule-nxdomain]0Number of NXDomain answers returned because of a rule.PowerDNS dnsdistJSONPATH$[?(@.name == "rule-nxdomain")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- rule-refusedDEPENDENTpdns.dnsdist.statistics[rule-refused]0Number of Refused answers returned because of a rule.PowerDNS dnsdistJSONPATH$[?(@.name == "rule-refused")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- rule-servfailDEPENDENTpdns.dnsdist.statistics[rule-servfail]0Number of ServFail answers returned because of a rule.PowerDNS dnsdistJSONPATH$[?(@.name == "rule-servfail")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- security-statusDEPENDENTpdns.dnsdist.statistics[security-status]0The security status of dnsdist. This is regularly polled.
0 = Unknown status or unreleased version
1 = OK
2 = Upgrade recommended
3 = Upgrade required (most likely because there is a known security issue)PowerDNS dnsdistJSONPATH$[?(@.name == "security-status")].value.first()pdns.dnsdist.api.statistics{last()}<>1Security status not OKWARNING
- self-answeredDEPENDENTpdns.dnsdist.statistics[self-answered]0Number of self-answered responses.PowerDNS dnsdistJSONPATH$[?(@.name == "self-answered")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- servfail-responsesDEPENDENTpdns.dnsdist.statistics[servfail-responses]0Number of servfail answers received from backends.PowerDNS dnsdistJSONPATH$[?(@.name == "servfail-responses")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- trunc-failuresDEPENDENTpdns.dnsdist.statistics[trunc-failures]0Number of errors encountered while truncating an answer.PowerDNS dnsdistJSONPATH$[?(@.name == "trunc-failures")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- udp-in-errorsDEPENDENTpdns.dnsdist.statistics[udp-in-errors]0From /proc/net/snmp InErrors.
New in version 1.5.0.PowerDNS dnsdistJSONPATH$[?(@.name == "udp-in-errors")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- udp-noport-errorsDEPENDENTpdns.dnsdist.statistics[udp-noport-errors]0From /proc/net/snmp NoPorts.
New in version 1.5.0.PowerDNS dnsdistJSONPATH$[?(@.name == "udp-noport-errors")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- udp-recvbuf-errorsDEPENDENTpdns.dnsdist.statistics[udp-recvbuf-errors]0From /proc/net/snmp RcvbufErrors.
New in version 1.5.0.PowerDNS dnsdistJSONPATH$[?(@.name == "udp-recvbuf-errors")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- udp-sndbuf-errorsDEPENDENTpdns.dnsdist.statistics[udp-sndbuf-errors]0From /proc/net/snmp SndbufErrors.
New in version 1.5.0.PowerDNS dnsdistJSONPATH$[?(@.name == "udp-sndbuf-errors")].value.first()SIMPLE_CHANGEpdns.dnsdist.api.statistics
- uptimeDEPENDENTpdns.dnsdist.statistics[uptime]0unixtimeUptime of the dnsdist process, in seconds.PowerDNS dnsdistJSONPATH$[?(@.name == "uptime")].value.first()pdns.dnsdist.api.statistics
{$PDNS.DNSDIST.APIKEY}changeme{$PDNS.DNSDIST.WEBSERVER.IP}127.0.0.1{$PDNS.DNSDIST.WEBSERVER.PORT}8083dnsdist Cache Hits/MissesSTACKED2E7D32MAX- App PowerDNS dnsdistpdns.dnsdist.statistics[cache-hits]
1F4511EMAX- App PowerDNS dnsdistpdns.dnsdist.statistics[cache-misses]
dnsdist Latency1A7C11MAX- App PowerDNS dnsdistpdns.dnsdist.statistics[latency0-1]
1F63100MAX- App PowerDNS dnsdistpdns.dnsdist.statistics[latency1-10]
22774A4MAX- App PowerDNS dnsdistpdns.dnsdist.statistics[latency10-50]
3A54F10MAX- App PowerDNS dnsdistpdns.dnsdist.statistics[latency50-100]
4FC6EA3MAX- App PowerDNS dnsdistpdns.dnsdist.statistics[latency100-1000]
dnsdist Latency Average1A7C11- App PowerDNS dnsdistpdns.dnsdist.statistics[latency-avg100]
1F63100- App PowerDNS dnsdistpdns.dnsdist.statistics[latency-avg1000]
22774A4- App PowerDNS dnsdistpdns.dnsdist.statistics[latency-avg10000]
3A54F10- App PowerDNS dnsdistpdns.dnsdist.statistics[latency-avg100000]
4FC6EA3- App PowerDNS dnsdistpdns.dnsdist.statistics[latency-avg1000000]
dnsdist Queries - AnswersFILLED_REGION1A7C11- App PowerDNS dnsdistpdns.dnsdist.statistics[frontend-noerror]
1FILLED_REGIONE91E63- App PowerDNS dnsdistpdns.dnsdist.statistics[frontend-nxdomain]
2FILLED_REGION2774A4- App PowerDNS dnsdistpdns.dnsdist.statistics[frontend-servfail]
3A54F10- App PowerDNS dnsdistpdns.dnsdist.statistics[queries]
dnsdist Rules1A7C11- App PowerDNS dnsdistpdns.dnsdist.statistics[rule-drop]
1F63100- App PowerDNS dnsdistpdns.dnsdist.statistics[rule-nxdomain]
22774A4- App PowerDNS dnsdistpdns.dnsdist.statistics[rule-refused]
3A54F10- App PowerDNS dnsdistpdns.dnsdist.statistics[rule-servfail]