{ "uid": "unbound-resolvers", "title": "Unbound Resolvers", "tags": [ "unbound", "dns", "resolvers" ], "timezone": "browser", "schemaVersion": 39, "version": 1, "editable": true, "refresh": "30s", "time": { "from": "now-6h", "to": "now" }, "templating": { "list": [ { "name": "ds_prometheus", "type": "datasource", "query": "prometheus", "current": {}, "hide": 0, "refresh": 1, "regex": "", "label": "Data source" }, { "name": "instance", "type": "query", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "query": "label_values(unbound_time_up, instance)", "refresh": 2, "includeAll": true, "multi": true, "current": { "text": "All", "value": "$__all" }, "label": "Resolver", "sort": 1 } ] }, "panels": [ { "type": "stat", "title": "Uptime", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 0, "y": 0, "w": 6, "h": 4 }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "colorMode": "value", "graphMode": "area", "textMode": "auto" }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "max(unbound_time_up{instance=~\"$instance\"})", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Queries / sec", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 6, "y": 0, "w": 6, "h": 4 }, "fieldConfig": { "defaults": { "unit": "reqps", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "colorMode": "value", "graphMode": "area", "textMode": "auto" }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_total_num_queries{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Cache hit ratio", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 12, "y": 0, "w": 6, "h": 4 }, "fieldConfig": { "defaults": { "unit": "percentunit", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "colorMode": "value", "graphMode": "area", "textMode": "auto" }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_total_num_cachehits{instance=~\"$instance\"}[$__rate_interval])) / clamp_min(sum(rate(unbound_total_num_cachehits{instance=~\"$instance\"}[$__rate_interval])) + sum(rate(unbound_total_num_cachemiss{instance=~\"$instance\"}[$__rate_interval])), 1)", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Avg recursion time", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 18, "y": 0, "w": 6, "h": 4 }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "colorMode": "value", "graphMode": "area", "textMode": "auto" }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "avg(unbound_total_recursion_time_avg{instance=~\"$instance\"})", "legendFormat": "", "refId": "A" } ] }, { "type": "timeseries", "title": "Query rate", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 0, "y": 4, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "reqps", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "none" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "rate(unbound_total_num_queries{instance=~\"$instance\"}[$__rate_interval])", "legendFormat": "{{instance}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Cache hits vs misses (rate)", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 12, "y": 4, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "reqps", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "none" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_total_num_cachehits{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "hits", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_total_num_cachemiss{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "misses", "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_total_num_prefetch{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "prefetch", "refId": "C" } ] }, { "type": "timeseries", "title": "Queries by type (rate)", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 0, "y": 12, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "reqps", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "normal" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_A{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "A", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_AAAA{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "AAAA", "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_PTR{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "PTR", "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_HTTPS{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "HTTPS", "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_SRV{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "SRV", "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_TXT{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "TXT", "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_SOA{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "SOA", "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_query_type_NS{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "NS", "refId": "H" } ] }, { "type": "timeseries", "title": "Answers by rcode (rate)", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 12, "y": 12, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "reqps", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "normal" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_answer_rcode_NOERROR{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "NOERROR", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_answer_rcode_NXDOMAIN{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "NXDOMAIN", "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_answer_rcode_SERVFAIL{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "SERVFAIL", "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_answer_rcode_REFUSED{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "REFUSED", "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_answer_rcode_FORMERR{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "FORMERR", "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "sum(rate(unbound_num_answer_rcode_NOTIMPL{instance=~\"$instance\"}[$__rate_interval]))", "legendFormat": "NOTIMPL", "refId": "F" } ] }, { "type": "timeseries", "title": "Recursion time", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 0, "y": 20, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "s", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "none" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_total_recursion_time_avg{instance=~\"$instance\"}", "legendFormat": "{{instance}} avg", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_total_recursion_time_median{instance=~\"$instance\"}", "legendFormat": "{{instance}} median", "refId": "B" } ] }, { "type": "timeseries", "title": "Request list", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 12, "y": 20, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "short", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "none" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_total_requestlist_current_all{instance=~\"$instance\"}", "legendFormat": "{{instance}} current", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_total_requestlist_current_user{instance=~\"$instance\"}", "legendFormat": "{{instance}} user", "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_total_requestlist_max{instance=~\"$instance\"}", "legendFormat": "{{instance}} max", "refId": "C" } ] }, { "type": "timeseries", "title": "Cache memory", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 0, "y": 28, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "bytes", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "none" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_mem_cache_rrset{instance=~\"$instance\"}", "legendFormat": "{{instance}} rrset", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "unbound_mem_cache_message{instance=~\"$instance\"}", "legendFormat": "{{instance}} message", "refId": "B" } ] }, { "type": "timeseries", "title": "Recursive replies (rate)", "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "gridPos": { "x": 12, "y": 28, "w": 12, "h": 8 }, "fieldConfig": { "defaults": { "unit": "reqps", "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 10, "showPoints": "never", "stacking": { "mode": "none" } } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${ds_prometheus}" }, "expr": "rate(unbound_total_num_recursivereplies{instance=~\"$instance\"}[$__rate_interval])", "legendFormat": "{{instance}}", "refId": "A" } ] } ] }