From 4188b67a9a569ef5b6798a0594d5d42f417a19a5 Mon Sep 17 00:00:00 2001 From: Ioannis Androulidakis Date: Wed, 3 Apr 2019 01:45:15 +0300 Subject: [PATCH 1/6] [Metricbeat] CoreDNS module: Add Kibana Dashboard Fixes https://github.com/elastic/beats/issues/10432. Signed-off-by: Ioannis Androulidakis --- .../images/metricbeat_coredns_dashboard.png | Bin 0 -> 94127 bytes metricbeat/docs/modules_list.asciidoc | 2 +- .../Metricbeat-coredns-overview.json | 1216 +++++++++++++++++ metricbeat/module/coredns/module.yaml | 3 + 4 files changed, 1220 insertions(+), 1 deletion(-) create mode 100644 metricbeat/docs/images/metricbeat_coredns_dashboard.png create mode 100644 metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json create mode 100644 metricbeat/module/coredns/module.yaml diff --git a/metricbeat/docs/images/metricbeat_coredns_dashboard.png b/metricbeat/docs/images/metricbeat_coredns_dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..c64aa2e93d2082775d93efe609b746a168193564 GIT binary patch literal 94127 zcmeFYRa9I{yEcjh2~Kc#3mP=I1_>J6-J#LOJ%j+kgF8WkJB_=$q;U)G4vq77*8bL7 z`yXeVi+yn}&KSFHXlB(cdFqv?-g;-aijoXE3NZ={3=F!QtduGY41y*M3|uxcBJ@d! zSNuBkPq??bHc-{XgVM>x(bC4=f)eQEWI<`+X=4ck}vI4sy{{R$rV)E+Dnk4Rs?mvzF(&2z^%RgIPNZt+Niz$01n8%VKR-t#8# zM7-?@3FlNqf@b;gDxNu$-DF?GF2?fh4oQ>bsLA2c(nOG!&=ai8EsG^b`D6eL3<|Oh zbW+-i3Ib-105%hIM^g(nPkd9f8wX+P)0PfuN*i-wYAqf` z4n-$P3u_x$Zx;(SZzXjzZ#y%7b81l$6d_LmXa@ibpb4cXz}~@Cz*Cs|uYLufzyCaD zr>6X?3D8cMT3bP53c(OXU(){V-zxt4}a5ZzWaRS;n zI#B-U)5O%#4Jb@a4XvmAPv?I&;Gf
k?C6b|-3HSF)$IN1MtbD)jo|4Z{fHUBpM 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Г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%0DdVhB@h>k4&1DWnQcVwiq=J4Gw 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 |<> beta[] |image:./images/icon-no.png[No prebuilt dashboards] | .1+| .1+| |<> beta[] -|<> beta[] |image:./images/icon-no.png[No prebuilt dashboards] | +|<> beta[] |image:./images/icon-yes.png[Prebuilt dashboards are available] | .1+| .1+| |<> beta[] |<> |image:./images/icon-no.png[No prebuilt dashboards] | .3+| .3+| |<> diff --git a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json new file mode 100644 index 00000000000..d1aaf37a60e --- /dev/null +++ b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json @@ -0,0 +1,1216 @@ +{ + "objects": [ + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.panic.count.total" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.panic.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Panic Count Total [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.panic.count.total", + "percents": [ + 100 + ] + }, + "schema": "metric", + "type": "percentiles" + } + ], + "params": { + "addLegend": false, + "addTooltip": true, + "metric": { + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 10000 + } + ], + "invertColors": false, + "labels": { + "show": false + }, + "metricColorMode": "None", + "percentageMode": false, + "style": { + "bgColor": false, + "bgFill": "#000", + "fontSize": 60, + "labelColor": false, + "subText": "" + }, + "useRanges": false + }, + "type": "metric" + }, + "title": "Panic Count Total [Metricbeat CoreDNS] ECS", + "type": "metric" + } + }, + "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:47:09.206Z", + "version": "WzQ1MSwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.do.count.total" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.dns.request.do.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "DO Count Total [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "DO Count Total", + "field": "coredns.stats.dns.request.do.count.total", + "percents": [ + 100 + ] + }, + "schema": "metric", + "type": "percentiles" + } + ], + "params": { + "addLegend": false, + "addTooltip": true, + "metric": { + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 10000 + } + ], + "invertColors": false, + "labels": { + "show": false + }, + "metricColorMode": "None", + "percentageMode": false, + "style": { + "bgColor": false, + "bgFill": "#000", + "fontSize": 60, + "labelColor": false, + "subText": "" + }, + "useRanges": false + }, + "type": "metric" + }, + "title": "DO Count Total [Metricbeat CoreDNS] ECS", + "type": "metric" + } + }, + "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:41:30.112Z", + "version": "WzQ0OSwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Responses by Rcode [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.dns.response.rcode.count.total" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "4", + "params": { + "field": "coredns.stats.rcode", + "size": 2 + }, + "schema": "group", + "type": "significant_terms" + }, + { + "enabled": true, + "id": "3", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-1h", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + } + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.response.rcode.count.total" + }, + "drawLinesBetweenPoints": true, + "interpolate": "linear", + "lineWidth": null, + "mode": "normal", + "show": "true", + "showCircles": true, + "type": "line", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Average coredns.stats.dns.response.rcode.count.total" + }, + "type": "value" + } + ] + }, + "title": "Responses by Rcode [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:54:58.431Z", + "version": "WzQ1NCwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.count.total" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.dns.request.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Requests by Protocol [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": {}, + "schema": "metric", + "type": "count" + }, + { + "enabled": true, + "id": "2", + "params": { + "field": "coredns.stats.proto", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 + }, + "schema": "segment", + "type": "terms" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "isDonut": true, + "labels": { + "last_level": true, + "show": false, + "truncate": 100, + "values": true + }, + "legendPosition": "right", + "type": "pie" + }, + "title": "Requests by Protocol [Metricbeat CoreDNS] ECS", + "type": "pie" + } + }, + "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-01T21:33:04.790Z", + "version": "WzQzMywyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.type.count.total" + }, + "meta": { + "alias": null, + "disabled": true, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.dns.request.type.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Requests by Type [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.dns.request.type.count.total" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "2", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + }, + { + "enabled": true, + "id": "3", + "params": { + "field": "coredns.stats.type", + "size": 8 + }, + "schema": "group", + "type": "significant_terms" + }, + { + "enabled": true, + "id": "4", + "params": { + "customLabel": "DNS Server", + "field": "coredns.stats.server", + "row": false, + "size": 2 + }, + "schema": "split", + "type": "significant_terms" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + }, + "valueAxis": "ValueAxis-1" + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.request.type.count.total" + }, + "drawLinesBetweenPoints": true, + "interpolate": "linear", + "mode": "normal", + "show": "true", + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Average coredns.stats.dns.request.type.count.total" + }, + "type": "value" + } + ] + }, + "title": "Requests by Type [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-01T21:54:04.557Z", + "version": "WzQzNywyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Request Duration [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "3", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.+Inf" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "7", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.8192000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "6", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.4096000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "5", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.2048000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "4", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.1024000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "8", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + }, + "valueAxis": "ValueAxis-1" + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "3", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.+Inf" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "7", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.8192000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "6", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.4096000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "5", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.2048000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "4", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.1024000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Count" + }, + "type": "value" + } + ] + }, + "title": "Request Duration [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:14:41.416Z", + "version": "WzQ0NSwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.+Inf" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "2", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.1023" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "3", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.2047" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "4", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.4095" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "5", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.8291" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "6", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + } + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.+Inf" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": "true", + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "2", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.1023" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "3", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.2047" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "4", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.4095" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "5", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.8291" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Size Bytes" + }, + "type": "value" + } + ] + }, + "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-01T21:42:21.120Z", + "version": "WzQzNiwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": {}, + "schema": "metric", + "type": "count" + }, + { + "enabled": true, + "id": "2", + "params": { + "field": "coredns.stats.zone", + "size": 3 + }, + "schema": "segment", + "type": "significant_terms" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "isDonut": false, + "labels": { + "last_level": true, + "show": true, + "truncate": 100, + "values": true + }, + "legendPosition": "top", + "type": "pie" + }, + "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "type": "pie" + } + }, + "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", + "type": "visualization", + "updated_at": "2019-04-02T22:18:19.942Z", + "version": "WzQ2MSwyXQ==" + }, + { + "attributes": { + "description": "Overview of CoreDNS server metrics.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "lucene", + "query": "" + } + } + }, + "optionsJSON": { + "darkTheme": false, + "hidePanelTitles": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": {}, + "gridData": { + "h": 7, + "i": "1", + "w": 15, + "x": 0, + "y": 0 + }, + "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", + "panelIndex": "1", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 7, + "i": "2", + "w": 15, + "x": 15, + "y": 0 + }, + "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", + "panelIndex": "2", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + "NXDOMAIN": "#99440A" + } + } + }, + "gridData": { + "h": 15, + "i": "3", + "w": 24, + "x": 0, + "y": 19 + }, + "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", + "panelIndex": "3", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + "udp": "#5195CE" + }, + "legendOpen": true + } + }, + "gridData": { + "h": 7, + "i": "4", + "w": 18, + "x": 30, + "y": 0 + }, + "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", + "panelIndex": "4", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 12, + "i": "6", + "w": 48, + "x": 0, + "y": 7 + }, + "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", + "panelIndex": "6", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "7", + "w": 48, + "x": 0, + "y": 34 + }, + "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", + "panelIndex": "7", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "8", + "w": 48, + "x": 0, + "y": 49 + }, + "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", + "panelIndex": "8", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + ".": "#EF843C", + "my.domain.org.": "#447EBC" + } + } + }, + "gridData": { + "h": 15, + "i": "9", + "w": 24, + "x": 24, + "y": 19 + }, + "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", + "panelIndex": "9", + "type": "visualization", + "version": "6.7.0" + } + ], + "timeRestore": false, + "title": "[Metricbeat CoreDNS] Overview ECS", + "version": 1 + }, + "id": "Metricbeat-CoreDNS-Dashboard-ecs", + "type": "dashboard", + "updated_at": "2019-04-02T22:18:49.544Z", + "version": "WzQ2MiwyXQ==" + } + ], + "version": "6.7.0" +} diff --git a/metricbeat/module/coredns/module.yaml b/metricbeat/module/coredns/module.yaml new file mode 100644 index 00000000000..62788cbf16d --- /dev/null +++ b/metricbeat/module/coredns/module.yaml @@ -0,0 +1,3 @@ +dashboards: + - id: Metricbeat-CoreDNS-Dashboard + file: Metricbeat-coredns-overview.json From bbe2b5f11c3bbf4362aa811fe4013e0d5e26c34c Mon Sep 17 00:00:00 2001 From: Ioannis Androulidakis Date: Wed, 3 Apr 2019 01:45:15 +0300 Subject: [PATCH 2/6] [Metricbeat] CoreDNS module: Add Kibana Dashboard Fixes https://github.com/elastic/beats/issues/10432. Signed-off-by: Ioannis Androulidakis --- .../images/metricbeat_coredns_dashboard.png | Bin 0 -> 94127 bytes metricbeat/docs/modules_list.asciidoc | 2 +- .../Metricbeat-coredns-overview.json | 1216 +++++++++++++++++ metricbeat/module/coredns/module.yaml | 3 + 4 files changed, 1220 insertions(+), 1 deletion(-) create mode 100644 metricbeat/docs/images/metricbeat_coredns_dashboard.png create mode 100644 metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json create mode 100644 metricbeat/module/coredns/module.yaml diff --git a/metricbeat/docs/images/metricbeat_coredns_dashboard.png b/metricbeat/docs/images/metricbeat_coredns_dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..c64aa2e93d2082775d93efe609b746a168193564 GIT binary patch literal 94127 zcmeFYRa9I{yEcjh2~Kc#3mP=I1_>J6-J#LOJ%j+kgF8WkJB_=$q;U)G4vq77*8bL7 z`yXeVi+yn}&KSFHXlB(cdFqv?-g;-aijoXE3NZ={3=F!QtduGY41y*M3|uxcBJ@d! zSNuBkPq??bHc-{XgVM>x(bC4=f)eQEWI<`+X=4ck}vI4sy{{R$rV)E+Dnk4Rs?mvzF(&2z^%RgIPNZt+Niz$01n8%VKR-t#8# zM7-?@3FlNqf@b;gDxNu$-DF?GF2?fh4oQ>bsLA2c(nOG!&=ai8EsG^b`D6eL3<|Oh zbW+-i3Ib-105%hIM^g(nPkd9f8wX+P)0PfuN*i-wYAqf` z4n-$P3u_x$Zx;(SZzXjzZ#y%7b81l$6d_LmXa@ibpb4cXz}~@Cz*Cs|uYLufzyCaD zr>6X?3D8cMT3bP53c(OXU(){V-zxt4}a5ZzWaRS;n zI#B-U)5O%#4Jb@a4XvmAPv?I&;Gf
k?C6b|-3HSF)$IN1MtbD)jo|4Z{fHUBpM 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Г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%0DdVhB@h>k4&1DWnQcVwiq=J4Gw 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 |<> beta[] |image:./images/icon-no.png[No prebuilt dashboards] | .1+| .1+| |<> beta[] -|<> beta[] |image:./images/icon-no.png[No prebuilt dashboards] | +|<> beta[] |image:./images/icon-yes.png[Prebuilt dashboards are available] | .1+| .1+| |<> beta[] |<> |image:./images/icon-no.png[No prebuilt dashboards] | .3+| .3+| |<> diff --git a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json new file mode 100644 index 00000000000..d1aaf37a60e --- /dev/null +++ b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json @@ -0,0 +1,1216 @@ +{ + "objects": [ + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.panic.count.total" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.panic.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Panic Count Total [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.panic.count.total", + "percents": [ + 100 + ] + }, + "schema": "metric", + "type": "percentiles" + } + ], + "params": { + "addLegend": false, + "addTooltip": true, + "metric": { + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 10000 + } + ], + "invertColors": false, + "labels": { + "show": false + }, + "metricColorMode": "None", + "percentageMode": false, + "style": { + "bgColor": false, + "bgFill": "#000", + "fontSize": 60, + "labelColor": false, + "subText": "" + }, + "useRanges": false + }, + "type": "metric" + }, + "title": "Panic Count Total [Metricbeat CoreDNS] ECS", + "type": "metric" + } + }, + "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:47:09.206Z", + "version": "WzQ1MSwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.do.count.total" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.dns.request.do.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "DO Count Total [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "DO Count Total", + "field": "coredns.stats.dns.request.do.count.total", + "percents": [ + 100 + ] + }, + "schema": "metric", + "type": "percentiles" + } + ], + "params": { + "addLegend": false, + "addTooltip": true, + "metric": { + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 10000 + } + ], + "invertColors": false, + "labels": { + "show": false + }, + "metricColorMode": "None", + "percentageMode": false, + "style": { + "bgColor": false, + "bgFill": "#000", + "fontSize": 60, + "labelColor": false, + "subText": "" + }, + "useRanges": false + }, + "type": "metric" + }, + "title": "DO Count Total [Metricbeat CoreDNS] ECS", + "type": "metric" + } + }, + "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:41:30.112Z", + "version": "WzQ0OSwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Responses by Rcode [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.dns.response.rcode.count.total" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "4", + "params": { + "field": "coredns.stats.rcode", + "size": 2 + }, + "schema": "group", + "type": "significant_terms" + }, + { + "enabled": true, + "id": "3", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-1h", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + } + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.response.rcode.count.total" + }, + "drawLinesBetweenPoints": true, + "interpolate": "linear", + "lineWidth": null, + "mode": "normal", + "show": "true", + "showCircles": true, + "type": "line", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Average coredns.stats.dns.response.rcode.count.total" + }, + "type": "value" + } + ] + }, + "title": "Responses by Rcode [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:54:58.431Z", + "version": "WzQ1NCwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.count.total" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.dns.request.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Requests by Protocol [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": {}, + "schema": "metric", + "type": "count" + }, + { + "enabled": true, + "id": "2", + "params": { + "field": "coredns.stats.proto", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 + }, + "schema": "segment", + "type": "terms" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "isDonut": true, + "labels": { + "last_level": true, + "show": false, + "truncate": 100, + "values": true + }, + "legendPosition": "right", + "type": "pie" + }, + "title": "Requests by Protocol [Metricbeat CoreDNS] ECS", + "type": "pie" + } + }, + "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-01T21:33:04.790Z", + "version": "WzQzMywyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.type.count.total" + }, + "meta": { + "alias": null, + "disabled": true, + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "key": "coredns.stats.dns.request.type.count.total", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Requests by Type [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.dns.request.type.count.total" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "2", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + }, + { + "enabled": true, + "id": "3", + "params": { + "field": "coredns.stats.type", + "size": 8 + }, + "schema": "group", + "type": "significant_terms" + }, + { + "enabled": true, + "id": "4", + "params": { + "customLabel": "DNS Server", + "field": "coredns.stats.server", + "row": false, + "size": 2 + }, + "schema": "split", + "type": "significant_terms" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + }, + "valueAxis": "ValueAxis-1" + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.request.type.count.total" + }, + "drawLinesBetweenPoints": true, + "interpolate": "linear", + "mode": "normal", + "show": "true", + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Average coredns.stats.dns.request.type.count.total" + }, + "type": "value" + } + ] + }, + "title": "Requests by Type [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-01T21:54:04.557Z", + "version": "WzQzNywyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Request Duration [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "3", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.+Inf" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "7", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.8192000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "6", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.4096000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "5", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.2048000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "4", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.duration.ns.bucket.1024000000" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "8", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + }, + "valueAxis": "ValueAxis-1" + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "3", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.+Inf" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "7", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.8192000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "6", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.4096000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "5", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.2048000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "4", + "label": "Average coredns.stats.dns.request.duration.ns.bucket.1024000000" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "histogram", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Count" + }, + "type": "value" + } + ] + }, + "title": "Request Duration [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-02T21:14:41.416Z", + "version": "WzQ0NSwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.+Inf" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "2", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.1023" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "3", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.2047" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "4", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.4095" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "5", + "params": { + "customLabel": "", + "field": "coredns.stats.dns.request.size.bytes.bucket.8291" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "6", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + } + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.+Inf" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": "true", + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "2", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.1023" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "3", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.2047" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "4", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.4095" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "5", + "label": "Average coredns.stats.dns.request.size.bytes.bucket.8291" + }, + "drawLinesBetweenPoints": true, + "mode": "stacked", + "show": true, + "showCircles": true, + "type": "area", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Size Bytes" + }, + "type": "value" + } + ] + }, + "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", + "type": "visualization", + "updated_at": "2019-04-01T21:42:21.120Z", + "version": "WzQzNiwyXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": {}, + "schema": "metric", + "type": "count" + }, + { + "enabled": true, + "id": "2", + "params": { + "field": "coredns.stats.zone", + "size": 3 + }, + "schema": "segment", + "type": "significant_terms" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "isDonut": false, + "labels": { + "last_level": true, + "show": true, + "truncate": 100, + "values": true + }, + "legendPosition": "top", + "type": "pie" + }, + "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "type": "pie" + } + }, + "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", + "type": "visualization", + "updated_at": "2019-04-02T22:18:19.942Z", + "version": "WzQ2MSwyXQ==" + }, + { + "attributes": { + "description": "Overview of CoreDNS server metrics.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "lucene", + "query": "" + } + } + }, + "optionsJSON": { + "darkTheme": false, + "hidePanelTitles": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": {}, + "gridData": { + "h": 7, + "i": "1", + "w": 15, + "x": 0, + "y": 0 + }, + "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", + "panelIndex": "1", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 7, + "i": "2", + "w": 15, + "x": 15, + "y": 0 + }, + "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", + "panelIndex": "2", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + "NXDOMAIN": "#99440A" + } + } + }, + "gridData": { + "h": 15, + "i": "3", + "w": 24, + "x": 0, + "y": 19 + }, + "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", + "panelIndex": "3", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + "udp": "#5195CE" + }, + "legendOpen": true + } + }, + "gridData": { + "h": 7, + "i": "4", + "w": 18, + "x": 30, + "y": 0 + }, + "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", + "panelIndex": "4", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 12, + "i": "6", + "w": 48, + "x": 0, + "y": 7 + }, + "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", + "panelIndex": "6", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "7", + "w": 48, + "x": 0, + "y": 34 + }, + "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", + "panelIndex": "7", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "8", + "w": 48, + "x": 0, + "y": 49 + }, + "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", + "panelIndex": "8", + "type": "visualization", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + ".": "#EF843C", + "my.domain.org.": "#447EBC" + } + } + }, + "gridData": { + "h": 15, + "i": "9", + "w": 24, + "x": 24, + "y": 19 + }, + "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", + "panelIndex": "9", + "type": "visualization", + "version": "6.7.0" + } + ], + "timeRestore": false, + "title": "[Metricbeat CoreDNS] Overview ECS", + "version": 1 + }, + "id": "Metricbeat-CoreDNS-Dashboard-ecs", + "type": "dashboard", + "updated_at": "2019-04-02T22:18:49.544Z", + "version": "WzQ2MiwyXQ==" + } + ], + "version": "6.7.0" +} diff --git a/metricbeat/module/coredns/module.yaml b/metricbeat/module/coredns/module.yaml new file mode 100644 index 00000000000..62788cbf16d --- /dev/null +++ b/metricbeat/module/coredns/module.yaml @@ -0,0 +1,3 @@ +dashboards: + - id: Metricbeat-CoreDNS-Dashboard + file: Metricbeat-coredns-overview.json From 25e5db500cc1fc673c984611b401c9c79ed441d1 Mon Sep 17 00:00:00 2001 From: Ioannis Androulidakis Date: Fri, 26 Apr 2019 01:37:18 +0300 Subject: [PATCH 3/6] [Metricbeat] CoreDNS module: Update Kibana Dashboard * Refactor visualization field names to meet the naming conventions * Add cache metrics (hits, misses) in existing dashboard * Set index to "metricbeat-*" Signed-off-by: Ioannis Androulidakis --- .../Metricbeat-coredns-overview.json | 293 ++++++++++++++---- 1 file changed, 236 insertions(+), 57 deletions(-) diff --git a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json index d1aaf37a60e..e7d6399a9b0 100644 --- a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json +++ b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json @@ -11,27 +11,27 @@ "store": "appState" }, "exists": { - "field": "coredns.stats.panic.count.total" + "field": "coredns.stats.panic.count" }, "meta": { "alias": null, "disabled": false, - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", - "key": "coredns.stats.panic.count.total", + "index": "metricbeat-*", + "key": "coredns.stats.panic.count", "negate": false, "type": "exists", "value": "exists" } } ], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" } } }, - "title": "Panic Count Total [Metricbeat CoreDNS] ECS", + "title": "Panic Count [Metricbeat CoreDNS] ECS", "uiStateJSON": {}, "version": 1, "visState": { @@ -40,7 +40,7 @@ "enabled": true, "id": "1", "params": { - "field": "coredns.stats.panic.count.total", + "field": "coredns.stats.panic.count", "percents": [ 100 ] @@ -77,14 +77,14 @@ }, "type": "metric" }, - "title": "Panic Count Total [Metricbeat CoreDNS] ECS", + "title": "Panic Count [Metricbeat CoreDNS] ECS", "type": "metric" } }, "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-02T21:47:09.206Z", - "version": "WzQ1MSwyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzIxLDFd" }, { "attributes": { @@ -97,27 +97,27 @@ "store": "appState" }, "exists": { - "field": "coredns.stats.dns.request.do.count.total" + "field": "coredns.stats.dns.request.do.count" }, "meta": { "alias": null, "disabled": false, - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", - "key": "coredns.stats.dns.request.do.count.total", + "index": "metricbeat-*", + "key": "coredns.stats.dns.request.do.count", "negate": false, "type": "exists", "value": "exists" } } ], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" } } }, - "title": "DO Count Total [Metricbeat CoreDNS] ECS", + "title": "DO Count [Metricbeat CoreDNS] ECS", "uiStateJSON": {}, "version": 1, "visState": { @@ -126,8 +126,8 @@ "enabled": true, "id": "1", "params": { - "customLabel": "DO Count Total", - "field": "coredns.stats.dns.request.do.count.total", + "customLabel": "DO Count", + "field": "coredns.stats.dns.request.do.count", "percents": [ 100 ] @@ -164,14 +164,14 @@ }, "type": "metric" }, - "title": "DO Count Total [Metricbeat CoreDNS] ECS", + "title": "DO Count [Metricbeat CoreDNS] ECS", "type": "metric" } }, "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-02T21:41:30.112Z", - "version": "WzQ0OSwyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzIyLDFd" }, { "attributes": { @@ -179,7 +179,7 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" @@ -195,7 +195,7 @@ "enabled": true, "id": "1", "params": { - "field": "coredns.stats.dns.response.rcode.count.total" + "field": "coredns.stats.dns.response.rcode.count" }, "schema": "metric", "type": "avg" @@ -205,10 +205,16 @@ "id": "4", "params": { "field": "coredns.stats.rcode", - "size": 2 + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, "schema": "group", - "type": "significant_terms" + "type": "terms" }, { "enabled": true, @@ -221,7 +227,7 @@ "interval": "auto", "min_doc_count": 1, "timeRange": { - "from": "now-1h", + "from": "now-15m", "mode": "quick", "to": "now" }, @@ -264,7 +270,7 @@ { "data": { "id": "1", - "label": "Average coredns.stats.dns.response.rcode.count.total" + "label": "Average coredns.stats.dns.response.rcode.count" }, "drawLinesBetweenPoints": true, "interpolate": "linear", @@ -296,7 +302,7 @@ "show": true, "style": {}, "title": { - "text": "Average coredns.stats.dns.response.rcode.count.total" + "text": "Average coredns.stats.dns.response.rcode.count" }, "type": "value" } @@ -308,8 +314,8 @@ }, "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-02T21:54:58.431Z", - "version": "WzQ1NCwyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzIzLDFd" }, { "attributes": { @@ -322,20 +328,20 @@ "store": "appState" }, "exists": { - "field": "coredns.stats.dns.request.count.total" + "field": "coredns.stats.dns.request.count" }, "meta": { "alias": null, "disabled": false, - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", - "key": "coredns.stats.dns.request.count.total", + "index": "metricbeat-*", + "key": "coredns.stats.dns.request.count", "negate": false, "type": "exists", "value": "exists" } } ], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" @@ -390,8 +396,8 @@ }, "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-01T21:33:04.790Z", - "version": "WzQzMywyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzI0LDFd" }, { "attributes": { @@ -404,20 +410,20 @@ "store": "appState" }, "exists": { - "field": "coredns.stats.dns.request.type.count.total" + "field": "coredns.stats.dns.request.type.count" }, "meta": { "alias": null, "disabled": true, - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", - "key": "coredns.stats.dns.request.type.count.total", + "index": "metricbeat-*", + "key": "coredns.stats.dns.request.type.count", "negate": false, "type": "exists", "value": "exists" } } ], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" @@ -433,7 +439,7 @@ "enabled": true, "id": "1", "params": { - "field": "coredns.stats.dns.request.type.count.total" + "field": "coredns.stats.dns.request.type.count" }, "schema": "metric", "type": "avg" @@ -515,7 +521,7 @@ { "data": { "id": "1", - "label": "Average coredns.stats.dns.request.type.count.total" + "label": "Average coredns.stats.dns.request.type.count" }, "drawLinesBetweenPoints": true, "interpolate": "linear", @@ -546,7 +552,7 @@ "show": true, "style": {}, "title": { - "text": "Average coredns.stats.dns.request.type.count.total" + "text": "Average coredns.stats.dns.request.type.count" }, "type": "value" } @@ -558,8 +564,8 @@ }, "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-01T21:54:04.557Z", - "version": "WzQzNywyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzI1LDFd" }, { "attributes": { @@ -567,7 +573,7 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" @@ -774,8 +780,8 @@ }, "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-02T21:14:41.416Z", - "version": "WzQ0NSwyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzI2LDFd" }, { "attributes": { @@ -783,7 +789,7 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" @@ -989,8 +995,8 @@ }, "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", "type": "visualization", - "updated_at": "2019-04-01T21:42:21.120Z", - "version": "WzQzNiwyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzI3LDFd" }, { "attributes": { @@ -998,7 +1004,7 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "3a2bade0-53c3-11e9-b466-9be470bbd327", + "index": "metricbeat-*", "query": { "language": "lucene", "query": "" @@ -1022,10 +1028,16 @@ "id": "2", "params": { "field": "coredns.stats.zone", - "size": 3 + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, "schema": "segment", - "type": "significant_terms" + "type": "terms" } ], "params": { @@ -1047,8 +1059,161 @@ }, "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", "type": "visualization", - "updated_at": "2019-04-02T22:18:19.942Z", - "version": "WzQ2MSwyXQ==" + "updated_at": "2019-04-25T22:49:59.564Z", + "version": "WzIwOSwxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "index": "metricbeat-*", + "query": { + "language": "lucene", + "query": "" + } + } + }, + "title": " Cache Hits, Misses [Metricbeat CoreDNS] ECS", + "uiStateJSON": { + "vis": { + "colors": { + "Average coredns.stats.dns.cache.misses.count": "#E24D42" + } + } + }, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "field": "coredns.stats.dns.cache.hits.count" + }, + "schema": "metric", + "type": "avg" + }, + { + "enabled": true, + "id": "2", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-15m", + "mode": "quick", + "to": "now" + }, + "time_zone": "Europe/Helsinki", + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + }, + { + "enabled": true, + "id": "3", + "params": { + "field": "coredns.stats.dns.cache.misses.count" + }, + "schema": "metric", + "type": "avg" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false, + "style": { + "color": "#eee" + } + }, + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Average coredns.stats.dns.cache.hits.count" + }, + "drawLinesBetweenPoints": true, + "mode": "normal", + "show": "true", + "showCircles": true, + "type": "line", + "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "3", + "label": "Average coredns.stats.dns.cache.misses.count" + }, + "drawLinesBetweenPoints": true, + "mode": "normal", + "show": true, + "showCircles": true, + "type": "line", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Average Coredns Cache Hits, Misses" + }, + "type": "value" + } + ] + }, + "title": " Cache Hits, Misses [Metricbeat CoreDNS] ECS", + "type": "line" + } + }, + "id": "277fc650-67a9-11e9-a534-715561d0bf42", + "type": "visualization", + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzI5LDFd" }, { "attributes": { @@ -1200,6 +1365,20 @@ "panelIndex": "9", "type": "visualization", "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 12, + "i": "10", + "w": 48, + "x": 0, + "y": 64 + }, + "id": "277fc650-67a9-11e9-a534-715561d0bf42", + "panelIndex": "10", + "type": "visualization", + "version": "6.7.0" } ], "timeRestore": false, @@ -1208,9 +1387,9 @@ }, "id": "Metricbeat-CoreDNS-Dashboard-ecs", "type": "dashboard", - "updated_at": "2019-04-02T22:18:49.544Z", - "version": "WzQ2MiwyXQ==" + "updated_at": "2019-04-25T22:47:01.782Z", + "version": "WzMwLDFd" } ], "version": "6.7.0" -} +} \ No newline at end of file From 630df2ef37931afe83130c305562ca93854c8506 Mon Sep 17 00:00:00 2001 From: odacremolbap Date: Fri, 10 May 2019 09:52:41 +0200 Subject: [PATCH 4/6] use per server/zone/proto values --- .../Metricbeat-coredns-overview.json | 1436 ++++++++++------- 1 file changed, 809 insertions(+), 627 deletions(-) diff --git a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json index e7d6399a9b0..9d71e023a19 100644 --- a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json +++ b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json @@ -1,5 +1,198 @@ { "objects": [ + { + "attributes": { + "description": "Overview of CoreDNS server metrics.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "lucene", + "query": "" + } + } + }, + "optionsJSON": { + "darkTheme": false, + "hidePanelTitles": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": {}, + "gridData": { + "h": 10, + "i": "1", + "w": 10, + "x": 0, + "y": 0 + }, + "panelIndex": "1", + "panelRefName": "panel_0", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 10, + "i": "2", + "w": 15, + "x": 10, + "y": 0 + }, + "panelIndex": "2", + "panelRefName": "panel_1", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + "NXDOMAIN": "#99440A" + } + } + }, + "gridData": { + "h": 15, + "i": "3", + "w": 22, + "x": 0, + "y": 40 + }, + "panelIndex": "3", + "panelRefName": "panel_2", + "version": "6.7.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "10", + "w": 21, + "x": 22, + "y": 25 + }, + "panelIndex": "10", + "panelRefName": "panel_3", + "version": "6.7.0" + }, + { + "embeddableConfig": { + "vis": { + "colors": { + "tcp - 1": "#B7DBAB", + "udp - 1": "#5195CE" + }, + "legendOpen": true + } + }, + "gridData": { + "h": 10, + "i": "11", + "w": 18, + "x": 25, + "y": 0 + }, + "panelIndex": "11", + "panelRefName": "panel_4", + "version": "7.0.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "12", + "w": 22, + "x": 0, + "y": 25 + }, + "panelIndex": "12", + "panelRefName": "panel_5", + "version": "7.0.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "13", + "w": 43, + "x": 0, + "y": 10 + }, + "panelIndex": "13", + "panelRefName": "panel_6", + "title": "Request Duration per Zone (ns)", + "version": "7.0.0" + }, + { + "embeddableConfig": {}, + "gridData": { + "h": 15, + "i": "14", + "w": 21, + "x": 22, + "y": 40 + }, + "panelIndex": "14", + "panelRefName": "panel_7", + "version": "7.0.0" + } + ], + "timeRestore": false, + "title": "[Metricbeat CoreDNS] Overview ECS", + "version": 1 + }, + "id": "Metricbeat-CoreDNS-Dashboard-ecs", + "migrationVersion": { + "dashboard": "7.0.0" + }, + "references": [ + { + "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", + "name": "panel_0", + "type": "visualization" + }, + { + "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", + "name": "panel_1", + "type": "visualization" + }, + { + "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", + "name": "panel_2", + "type": "visualization" + }, + { + "id": "277fc650-67a9-11e9-a534-715561d0bf42", + "name": "panel_3", + "type": "visualization" + }, + { + "id": "86177430-728d-11e9-b0d0-414c3011ddbb", + "name": "panel_4", + "type": "visualization" + }, + { + "id": "a58345f0-7298-11e9-b0d0-414c3011ddbb", + "name": "panel_5", + "type": "visualization" + }, + { + "id": "fb335780-72af-11e9-b0d0-414c3011ddbb", + "name": "panel_6", + "type": "visualization" + }, + { + "id": "01f349d0-72b1-11e9-b0d0-414c3011ddbb", + "name": "panel_7", + "type": "visualization" + } + ], + "type": "dashboard", + "updated_at": "2019-05-10T07:26:47.959Z", + "version": "WzEyNzAsMV0=" + }, { "attributes": { "description": "", @@ -16,7 +209,7 @@ "meta": { "alias": null, "disabled": false, - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "key": "coredns.stats.panic.count", "negate": false, "type": "exists", @@ -24,7 +217,7 @@ } } ], - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { "language": "lucene", "query": "" @@ -82,9 +275,24 @@ } }, "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzIxLDFd" + "updated_at": "2019-05-09T14:45:57.633Z", + "version": "WzEwMzYsMV0=" }, { "attributes": { @@ -102,7 +310,7 @@ "meta": { "alias": null, "disabled": false, - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "key": "coredns.stats.dns.request.do.count", "negate": false, "type": "exists", @@ -110,7 +318,7 @@ } } ], - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { "language": "lucene", "query": "" @@ -169,9 +377,24 @@ } }, "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzIyLDFd" + "updated_at": "2019-05-09T14:45:57.633Z", + "version": "WzEwMzcsMV0=" }, { "attributes": { @@ -179,7 +402,7 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { "language": "lucene", "query": "" @@ -195,6 +418,7 @@ "enabled": true, "id": "1", "params": { + "customLabel": "Response per rcode", "field": "coredns.stats.dns.response.rcode.count" }, "schema": "metric", @@ -202,18 +426,20 @@ }, { "enabled": true, - "id": "4", + "id": "5", "params": { - "field": "coredns.stats.rcode", + "customLabel": "server", + "field": "coredns.stats.server", "missingBucket": false, "missingBucketLabel": "Missing", "order": "desc", "orderBy": "1", "otherBucket": false, "otherBucketLabel": "Other", + "row": true, "size": 5 }, - "schema": "group", + "schema": "split", "type": "terms" }, { @@ -228,7 +454,6 @@ "min_doc_count": 1, "timeRange": { "from": "now-15m", - "mode": "quick", "to": "now" }, "time_zone": "Europe/Helsinki", @@ -236,6 +461,38 @@ }, "schema": "segment", "type": "date_histogram" + }, + { + "enabled": true, + "id": "4", + "params": { + "field": "coredns.stats.rcode", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 + }, + "schema": "group", + "type": "terms" + }, + { + "enabled": true, + "id": "6", + "params": { + "field": "coredns.stats.zone", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 + }, + "schema": "group", + "type": "terms" } ], "params": { @@ -270,11 +527,11 @@ { "data": { "id": "1", - "label": "Average coredns.stats.dns.response.rcode.count" + "label": "Response per rcode" }, "drawLinesBetweenPoints": true, "interpolate": "linear", - "lineWidth": null, + "lineWidth": 1, "mode": "normal", "show": "true", "showCircles": true, @@ -302,7 +559,7 @@ "show": true, "style": {}, "title": { - "text": "Average coredns.stats.dns.response.rcode.count" + "text": "Response per rcode" }, "type": "value" } @@ -313,125 +570,43 @@ } }, "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzIzLDFd" + "updated_at": "2019-05-09T20:46:17.730Z", + "version": "WzEyNDcsMV0=" }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "exists": { - "field": "coredns.stats.dns.request.count" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "metricbeat-*", - "key": "coredns.stats.dns.request.count", - "negate": false, - "type": "exists", - "value": "exists" - } - } - ], - "index": "metricbeat-*", + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { "language": "lucene", "query": "" } } }, - "title": "Requests by Protocol [Metricbeat CoreDNS] ECS", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "coredns.stats.proto", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTooltip": true, - "isDonut": true, - "labels": { - "last_level": true, - "show": false, - "truncate": 100, - "values": true - }, - "legendPosition": "right", - "type": "pie" - }, - "title": "Requests by Protocol [Metricbeat CoreDNS] ECS", - "type": "pie" - } - }, - "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", - "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzI0LDFd" - }, - { - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "exists": { - "field": "coredns.stats.dns.request.type.count" - }, - "meta": { - "alias": null, - "disabled": true, - "index": "metricbeat-*", - "key": "coredns.stats.dns.request.type.count", - "negate": false, - "type": "exists", - "value": "exists" - } - } - ], - "index": "metricbeat-*", - "query": { - "language": "lucene", - "query": "" + "title": " Cache Hits, Misses [Metricbeat CoreDNS] ECS", + "uiStateJSON": { + "vis": { + "colors": { + "Average coredns.stats.dns.cache.misses.count": "#E24D42", + "Hits": "#9AC48A", + "Misses": "#EA6460" } } }, - "title": "Requests by Type [Metricbeat CoreDNS] ECS", - "uiStateJSON": {}, "version": 1, "visState": { "aggs": [ @@ -439,10 +614,11 @@ "enabled": true, "id": "1", "params": { - "field": "coredns.stats.dns.request.type.count" + "customLabel": "Hits", + "field": "coredns.stats.dns.cache.hits.count" }, "schema": "metric", - "type": "avg" + "type": "max" }, { "enabled": true, @@ -453,10 +629,9 @@ "extended_bounds": {}, "field": "@timestamp", "interval": "auto", - "min_doc_count": 1, + "min_doc_count": 0, "timeRange": { - "from": "now-15m", - "mode": "quick", + "from": "now-30m", "to": "now" }, "time_zone": "Europe/Helsinki", @@ -469,27 +644,33 @@ "enabled": true, "id": "3", "params": { - "field": "coredns.stats.type", - "size": 8 + "customLabel": "Misses", + "field": "coredns.stats.dns.cache.misses.count" }, - "schema": "group", - "type": "significant_terms" + "schema": "metric", + "type": "max" }, { "enabled": true, "id": "4", "params": { - "customLabel": "DNS Server", + "customLabel": "server", "field": "coredns.stats.server", - "row": false, - "size": 2 - }, - "schema": "split", - "type": "significant_terms" - } - ], - "params": { - "addLegend": true, + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "row": true, + "size": 5 + }, + "schema": "split", + "type": "terms" + } + ], + "params": { + "addLegend": true, "addTimeMarker": false, "addTooltip": true, "categoryAxes": [ @@ -513,23 +694,33 @@ "categoryLines": false, "style": { "color": "#eee" - }, - "valueAxis": "ValueAxis-1" + } }, "legendPosition": "right", "seriesParams": [ { "data": { "id": "1", - "label": "Average coredns.stats.dns.request.type.count" + "label": "Hits" }, "drawLinesBetweenPoints": true, - "interpolate": "linear", "mode": "normal", "show": "true", "showCircles": true, - "type": "histogram", + "type": "line", "valueAxis": "ValueAxis-1" + }, + { + "data": { + "id": "3", + "label": "Misses" + }, + "drawLinesBetweenPoints": true, + "mode": "normal", + "show": true, + "showCircles": true, + "type": "line", + "valueAxis": "ValueAxis-2" } ], "times": [], @@ -545,6 +736,29 @@ }, "name": "LeftAxis-1", "position": "left", + "scale": { + "defaultYExtents": false, + "mode": "normal", + "setYExtents": false, + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Hits" + }, + "type": "value" + }, + { + "id": "ValueAxis-2", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "RightAxis-1", + "position": "right", "scale": { "mode": "normal", "type": "linear" @@ -552,20 +766,30 @@ "show": true, "style": {}, "title": { - "text": "Average coredns.stats.dns.request.type.count" + "text": "Misses" }, "type": "value" } ] }, - "title": "Requests by Type [Metricbeat CoreDNS] ECS", + "title": " Cache Hits, Misses [Metricbeat CoreDNS] ECS", "type": "line" } }, - "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", + "id": "277fc650-67a9-11e9-a534-715561d0bf42", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzI1LDFd" + "updated_at": "2019-05-09T23:36:59.020Z", + "version": "WzEyNjYsMV0=" }, { "attributes": { @@ -573,88 +797,104 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { - "language": "lucene", + "language": "kuery", "query": "" } } }, - "title": "Request Duration [Metricbeat CoreDNS] ECS", - "uiStateJSON": {}, + "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "uiStateJSON": { + "vis": { + "legendOpen": true + } + }, "version": 1, "visState": { "aggs": [ { "enabled": true, - "id": "3", + "id": "1", "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.duration.ns.bucket.+Inf" + "aggregate": "max", + "customLabel": "Request count", + "field": "coredns.stats.dns.request.count", + "size": 1, + "sortField": "@timestamp", + "sortOrder": "desc" }, "schema": "metric", - "type": "avg" + "type": "top_hits" }, { "enabled": true, - "id": "7", + "id": "2", "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.duration.ns.bucket.8192000000" + "customLabel": "server", + "field": "coredns.stats.server", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "row": true, + "size": 5 }, - "schema": "metric", - "type": "avg" + "schema": "split", + "type": "terms" }, { "enabled": true, - "id": "6", + "id": "4", "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.duration.ns.bucket.4096000000" + "customLabel": "zone", + "field": "coredns.stats.zone", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, - "schema": "metric", - "type": "avg" + "schema": "segment", + "type": "terms" }, { "enabled": true, "id": "5", "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.duration.ns.bucket.2048000000" - }, - "schema": "metric", - "type": "avg" - }, - { - "enabled": true, - "id": "4", - "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.duration.ns.bucket.1024000000" + "customLabel": "protocol", + "field": "coredns.stats.proto", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, - "schema": "metric", - "type": "avg" + "schema": "group", + "type": "terms" }, { "enabled": true, - "id": "8", + "id": "6", "params": { - "customInterval": "2h", - "drop_partials": false, - "extended_bounds": {}, - "field": "@timestamp", - "interval": "auto", - "min_doc_count": 1, - "timeRange": { - "from": "now-15m", - "mode": "quick", - "to": "now" - }, - "time_zone": "Europe/Helsinki", - "useNormalizedEsInterval": true + "customLabel": "family", + "field": "coredns.stats.family", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, - "schema": "segment", - "type": "date_histogram" + "schema": "group", + "type": "terms" } ], "params": { @@ -665,10 +905,12 @@ { "id": "CategoryAxis-1", "labels": { + "filter": true, + "rotate": 0, "show": true, - "truncate": 100 + "truncate": 200 }, - "position": "bottom", + "position": "left", "scale": { "type": "linear" }, @@ -679,66 +921,15 @@ } ], "grid": { - "categoryLines": false, - "style": { - "color": "#eee" - }, - "valueAxis": "ValueAxis-1" + "categoryLines": false }, "legendPosition": "right", + "orderBucketsBySum": false, "seriesParams": [ { "data": { - "id": "3", - "label": "Average coredns.stats.dns.request.duration.ns.bucket.+Inf" - }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - }, - { - "data": { - "id": "7", - "label": "Average coredns.stats.dns.request.duration.ns.bucket.8192000000" - }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - }, - { - "data": { - "id": "6", - "label": "Average coredns.stats.dns.request.duration.ns.bucket.4096000000" - }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - }, - { - "data": { - "id": "5", - "label": "Average coredns.stats.dns.request.duration.ns.bucket.2048000000" - }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - }, - { - "data": { - "id": "4", - "label": "Average coredns.stats.dns.request.duration.ns.bucket.1024000000" + "id": "1", + "label": "Request count" }, "drawLinesBetweenPoints": true, "mode": "stacked", @@ -749,18 +940,18 @@ } ], "times": [], - "type": "line", + "type": "histogram", "valueAxes": [ { "id": "ValueAxis-1", "labels": { - "filter": false, - "rotate": 0, + "filter": true, + "rotate": 75, "show": true, "truncate": 100 }, - "name": "LeftAxis-1", - "position": "left", + "name": "BottomAxis-1", + "position": "bottom", "scale": { "mode": "normal", "type": "linear" @@ -768,20 +959,30 @@ "show": true, "style": {}, "title": { - "text": "Count" + "text": "Request count" }, "type": "value" } ] }, - "title": "Request Duration [Metricbeat CoreDNS] ECS", - "type": "line" + "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "type": "horizontal_bar" } }, - "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", + "id": "86177430-728d-11e9-b0d0-414c3011ddbb", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzI2LDFd" + "updated_at": "2019-05-09T19:52:47.645Z", + "version": "WzEyMzEsMV0=" }, { "attributes": { @@ -789,14 +990,14 @@ "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], - "index": "metricbeat-*", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { - "language": "lucene", + "language": "kuery", "query": "" } } }, - "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "title": "Requests by Type [Metricbeat CoreDNS] ECS", "uiStateJSON": {}, "version": 1, "visState": { @@ -805,55 +1006,37 @@ "enabled": true, "id": "1", "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.size.bytes.bucket.+Inf" + "aggregate": "max", + "customLabel": "Requests", + "field": "coredns.stats.dns.request.type.count", + "size": 1, + "sortField": "@timestamp", + "sortOrder": "desc" }, "schema": "metric", - "type": "avg" + "type": "top_hits" }, { "enabled": true, "id": "2", "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.size.bytes.bucket.1023" + "customLabel": "server", + "field": "coredns.stats.server", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "row": true, + "size": 5 }, - "schema": "metric", - "type": "avg" + "schema": "split", + "type": "terms" }, { "enabled": true, "id": "3", - "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.size.bytes.bucket.2047" - }, - "schema": "metric", - "type": "avg" - }, - { - "enabled": true, - "id": "4", - "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.size.bytes.bucket.4095" - }, - "schema": "metric", - "type": "avg" - }, - { - "enabled": true, - "id": "5", - "params": { - "customLabel": "", - "field": "coredns.stats.dns.request.size.bytes.bucket.8291" - }, - "schema": "metric", - "type": "avg" - }, - { - "enabled": true, - "id": "6", "params": { "customInterval": "2h", "drop_partials": false, @@ -863,103 +1046,82 @@ "min_doc_count": 1, "timeRange": { "from": "now-15m", - "mode": "quick", "to": "now" }, - "time_zone": "Europe/Helsinki", "useNormalizedEsInterval": true }, "schema": "segment", "type": "date_histogram" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "grid": { - "categoryLines": false, - "style": { - "color": "#eee" - } }, - "legendPosition": "right", - "seriesParams": [ - { - "data": { - "id": "1", - "label": "Average coredns.stats.dns.request.size.bytes.bucket.+Inf" - }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": "true", - "showCircles": true, - "type": "area", - "valueAxis": "ValueAxis-1" + { + "enabled": true, + "id": "4", + "params": { + "field": "coredns.stats.zone", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, - { - "data": { - "id": "2", - "label": "Average coredns.stats.dns.request.size.bytes.bucket.1023" - }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "area", - "valueAxis": "ValueAxis-1" + "schema": "group", + "type": "terms" + }, + { + "enabled": true, + "id": "5", + "params": { + "field": "coredns.stats.type", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, + "schema": "group", + "type": "terms" + } + ], + "params": { + "addLegend": true, + "addTimeMarker": false, + "addTooltip": true, + "categoryAxes": [ { - "data": { - "id": "3", - "label": "Average coredns.stats.dns.request.size.bytes.bucket.2047" + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 }, - "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "area", - "valueAxis": "ValueAxis-1" - }, - { - "data": { - "id": "4", - "label": "Average coredns.stats.dns.request.size.bytes.bucket.4095" + "position": "bottom", + "scale": { + "type": "linear" }, - "drawLinesBetweenPoints": true, - "mode": "stacked", "show": true, - "showCircles": true, - "type": "area", - "valueAxis": "ValueAxis-1" - }, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false + }, + "legendPosition": "right", + "seriesParams": [ { "data": { - "id": "5", - "label": "Average coredns.stats.dns.request.size.bytes.bucket.8291" + "id": "1", + "label": "Requests" }, "drawLinesBetweenPoints": true, - "mode": "stacked", - "show": true, + "mode": "normal", + "show": "true", "showCircles": true, - "type": "area", + "type": "line", "valueAxis": "ValueAxis-1" } ], @@ -983,35 +1145,63 @@ "show": true, "style": {}, "title": { - "text": "Size Bytes" + "text": "Requests" }, "type": "value" } ] }, - "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "title": "Requests by Type [Metricbeat CoreDNS] ECS", "type": "line" } }, - "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", + "id": "a58345f0-7298-11e9-b0d0-414c3011ddbb", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzI3LDFd" + "updated_at": "2019-05-09T20:26:03.639Z", + "version": "WzEyMzgsMV0=" }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [], - "index": "metricbeat-*", + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.duration.ns.count" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "coredns.stats.dns.request.duration.ns.count", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { - "language": "lucene", + "language": "kuery", "query": "" } } }, - "title": "Requests by Zone [Metricbeat CoreDNS] ECS", + "title": "Request Duration [Metricbeat CoreDNS] ECS", "uiStateJSON": {}, "version": 1, "visState": { @@ -1019,70 +1209,193 @@ { "enabled": true, "id": "1", - "params": {}, + "params": { + "aggregate": "max", + "customLabel": "Requests cumulative duration ns", + "field": "coredns.stats.dns.request.duration.ns.count", + "size": 1, + "sortField": "@timestamp", + "sortOrder": "desc" + }, "schema": "metric", - "type": "count" + "type": "top_hits" }, { "enabled": true, "id": "2", + "params": { + "customInterval": "2h", + "drop_partials": false, + "extended_bounds": {}, + "field": "@timestamp", + "interval": "auto", + "min_doc_count": 1, + "timeRange": { + "from": "now-30m", + "to": "now" + }, + "useNormalizedEsInterval": true + }, + "schema": "segment", + "type": "date_histogram" + }, + { + "enabled": true, + "id": "3", + "params": { + "customLabel": "server", + "field": "coredns.stats.server", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "row": true, + "size": 5 + }, + "schema": "split", + "type": "terms" + }, + { + "enabled": true, + "id": "4", "params": { "field": "coredns.stats.zone", "missingBucket": false, "missingBucketLabel": "Missing", "order": "desc", - "orderBy": "1", + "orderBy": "_key", "otherBucket": false, "otherBucketLabel": "Other", "size": 5 }, - "schema": "segment", + "schema": "group", "type": "terms" } ], "params": { "addLegend": true, + "addTimeMarker": false, "addTooltip": true, - "isDonut": false, - "labels": { - "last_level": true, - "show": true, - "truncate": 100, - "values": true + "categoryAxes": [ + { + "id": "CategoryAxis-1", + "labels": { + "show": true, + "truncate": 100 + }, + "position": "bottom", + "scale": { + "type": "linear" + }, + "show": true, + "style": {}, + "title": {}, + "type": "category" + } + ], + "grid": { + "categoryLines": false }, - "legendPosition": "top", - "type": "pie" + "legendPosition": "right", + "seriesParams": [ + { + "data": { + "id": "1", + "label": "Requests cumulative duration ns" + }, + "drawLinesBetweenPoints": true, + "mode": "normal", + "show": "true", + "showCircles": true, + "type": "line", + "valueAxis": "ValueAxis-1" + } + ], + "times": [], + "type": "line", + "valueAxes": [ + { + "id": "ValueAxis-1", + "labels": { + "filter": false, + "rotate": 0, + "show": true, + "truncate": 100 + }, + "name": "LeftAxis-1", + "position": "left", + "scale": { + "mode": "normal", + "type": "linear" + }, + "show": true, + "style": {}, + "title": { + "text": "Requests cumulative duration ns" + }, + "type": "value" + } + ] }, - "title": "Requests by Zone [Metricbeat CoreDNS] ECS", - "type": "pie" + "title": "Request Duration [Metricbeat CoreDNS] ECS", + "type": "line" } }, - "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", + "id": "fb335780-72af-11e9-b0d0-414c3011ddbb", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], "type": "visualization", - "updated_at": "2019-04-25T22:49:59.564Z", - "version": "WzIwOSwxXQ==" + "updated_at": "2019-05-09T23:13:50.257Z", + "version": "WzEyNTUsMV0=" }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [], - "index": "metricbeat-*", + "filter": [ + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "coredns.stats.dns.request.size.bytes.count" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "coredns.stats.dns.request.size.bytes.count", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { - "language": "lucene", + "language": "kuery", "query": "" } } }, - "title": " Cache Hits, Misses [Metricbeat CoreDNS] ECS", - "uiStateJSON": { - "vis": { - "colors": { - "Average coredns.stats.dns.cache.misses.count": "#E24D42" - } - } - }, + "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "uiStateJSON": {}, "version": 1, "visState": { "aggs": [ @@ -1090,14 +1403,37 @@ "enabled": true, "id": "1", "params": { - "field": "coredns.stats.dns.cache.hits.count" + "aggregate": "max", + "customLabel": "Cumulative request size bytes", + "field": "coredns.stats.dns.request.size.bytes.count", + "size": 1, + "sortField": "@timestamp", + "sortOrder": "desc" }, "schema": "metric", - "type": "avg" + "type": "top_hits" }, { "enabled": true, "id": "2", + "params": { + "customLabel": "server", + "field": "coredns.stats.server", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "row": true, + "size": 5 + }, + "schema": "split", + "type": "terms" + }, + { + "enabled": true, + "id": "3", "params": { "customInterval": "2h", "drop_partials": false, @@ -1106,11 +1442,9 @@ "interval": "auto", "min_doc_count": 1, "timeRange": { - "from": "now-15m", - "mode": "quick", + "from": "now-30m", "to": "now" }, - "time_zone": "Europe/Helsinki", "useNormalizedEsInterval": true }, "schema": "segment", @@ -1118,12 +1452,35 @@ }, { "enabled": true, - "id": "3", + "id": "4", "params": { - "field": "coredns.stats.dns.cache.misses.count" + "field": "coredns.stats.zone", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 }, - "schema": "metric", - "type": "avg" + "schema": "group", + "type": "terms" + }, + { + "enabled": true, + "id": "5", + "params": { + "field": "coredns.stats.proto", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "_key", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 5 + }, + "schema": "group", + "type": "terms" } ], "params": { @@ -1148,17 +1505,14 @@ } ], "grid": { - "categoryLines": false, - "style": { - "color": "#eee" - } + "categoryLines": false }, "legendPosition": "right", "seriesParams": [ { "data": { "id": "1", - "label": "Average coredns.stats.dns.cache.hits.count" + "label": "Cumulative request size bytes" }, "drawLinesBetweenPoints": true, "mode": "normal", @@ -1166,18 +1520,6 @@ "showCircles": true, "type": "line", "valueAxis": "ValueAxis-1" - }, - { - "data": { - "id": "3", - "label": "Average coredns.stats.dns.cache.misses.count" - }, - "drawLinesBetweenPoints": true, - "mode": "normal", - "show": true, - "showCircles": true, - "type": "line", - "valueAxis": "ValueAxis-1" } ], "times": [], @@ -1200,196 +1542,36 @@ "show": true, "style": {}, "title": { - "text": "Average Coredns Cache Hits, Misses" + "text": "Cumulative request size bytes" }, "type": "value" } ] }, - "title": " Cache Hits, Misses [Metricbeat CoreDNS] ECS", + "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", "type": "line" } }, - "id": "277fc650-67a9-11e9-a534-715561d0bf42", - "type": "visualization", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzI5LDFd" - }, - { - "attributes": { - "description": "Overview of CoreDNS server metrics.", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "lucene", - "query": "" - } - } - }, - "optionsJSON": { - "darkTheme": false, - "hidePanelTitles": false, - "useMargins": true - }, - "panelsJSON": [ - { - "embeddableConfig": {}, - "gridData": { - "h": 7, - "i": "1", - "w": 15, - "x": 0, - "y": 0 - }, - "id": "36e08510-53c4-11e9-b466-9be470bbd327-ecs", - "panelIndex": "1", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": {}, - "gridData": { - "h": 7, - "i": "2", - "w": 15, - "x": 15, - "y": 0 - }, - "id": "a19df590-53c4-11e9-b466-9be470bbd327-ecs", - "panelIndex": "2", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": { - "vis": { - "colors": { - "NXDOMAIN": "#99440A" - } - } - }, - "gridData": { - "h": 15, - "i": "3", - "w": 24, - "x": 0, - "y": 19 - }, - "id": "27da53f0-53d5-11e9-b466-9be470bbd327-ecs", - "panelIndex": "3", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": { - "vis": { - "colors": { - "udp": "#5195CE" - }, - "legendOpen": true - } - }, - "gridData": { - "h": 7, - "i": "4", - "w": 18, - "x": 30, - "y": 0 - }, - "id": "ad4f1200-53e4-11e9-b466-9be470bbd327-ecs", - "panelIndex": "4", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": {}, - "gridData": { - "h": 12, - "i": "6", - "w": 48, - "x": 0, - "y": 7 - }, - "id": "ff3285d0-53e8-11e9-b466-9be470bbd327-ecs", - "panelIndex": "6", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": {}, - "gridData": { - "h": 15, - "i": "7", - "w": 48, - "x": 0, - "y": 34 - }, - "id": "e3e73b00-53ec-11e9-b466-9be470bbd327-ecs", - "panelIndex": "7", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": {}, - "gridData": { - "h": 15, - "i": "8", - "w": 48, - "x": 0, - "y": 49 - }, - "id": "45d03ed0-53f1-11e9-b466-9be470bbd327-ecs", - "panelIndex": "8", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": { - "vis": { - "colors": { - ".": "#EF843C", - "my.domain.org.": "#447EBC" - } - } - }, - "gridData": { - "h": 15, - "i": "9", - "w": 24, - "x": 24, - "y": 19 - }, - "id": "84a59b70-5593-11e9-b87d-f90ad5e8a010-ecs", - "panelIndex": "9", - "type": "visualization", - "version": "6.7.0" - }, - { - "embeddableConfig": {}, - "gridData": { - "h": 12, - "i": "10", - "w": 48, - "x": 0, - "y": 64 - }, - "id": "277fc650-67a9-11e9-a534-715561d0bf42", - "panelIndex": "10", - "type": "visualization", - "version": "6.7.0" - } - ], - "timeRestore": false, - "title": "[Metricbeat CoreDNS] Overview ECS", - "version": 1 + "id": "01f349d0-72b1-11e9-b0d0-414c3011ddbb", + "migrationVersion": { + "visualization": "7.0.0" }, - "id": "Metricbeat-CoreDNS-Dashboard-ecs", - "type": "dashboard", - "updated_at": "2019-04-25T22:47:01.782Z", - "version": "WzMwLDFd" + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2019-05-09T23:21:33.998Z", + "version": "WzEyNTksMV0=" } ], - "version": "6.7.0" + "version": "7.0.0" } \ No newline at end of file From 75e3ebfad4762fe3ed8978e8c320868c6c4e6ccd Mon Sep 17 00:00:00 2001 From: odacremolbap Date: Fri, 10 May 2019 13:33:55 +0200 Subject: [PATCH 5/6] fix duration and size visualizations --- .../Metricbeat-coredns-overview.json | 574 ++++++------------ 1 file changed, 184 insertions(+), 390 deletions(-) diff --git a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json index 9d71e023a19..d08a401a351 100644 --- a/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json +++ b/metricbeat/module/coredns/_meta/kibana/7/dashboard/Metricbeat-coredns-overview.json @@ -37,7 +37,7 @@ "gridData": { "h": 10, "i": "2", - "w": 15, + "w": 14, "x": 10, "y": 0 }, @@ -56,9 +56,9 @@ "gridData": { "h": 15, "i": "3", - "w": 22, - "x": 0, - "y": 40 + "w": 19, + "x": 24, + "y": 25 }, "panelIndex": "3", "panelRefName": "panel_2", @@ -67,11 +67,11 @@ { "embeddableConfig": {}, "gridData": { - "h": 15, + "h": 14, "i": "10", - "w": 21, - "x": 22, - "y": 25 + "w": 24, + "x": 0, + "y": 40 }, "panelIndex": "10", "panelRefName": "panel_3", @@ -90,8 +90,8 @@ "gridData": { "h": 10, "i": "11", - "w": 18, - "x": 25, + "w": 19, + "x": 24, "y": 0 }, "panelIndex": "11", @@ -103,9 +103,9 @@ "gridData": { "h": 15, "i": "12", - "w": 22, - "x": 0, - "y": 25 + "w": 19, + "x": 24, + "y": 10 }, "panelIndex": "12", "panelRefName": "panel_5", @@ -115,26 +115,25 @@ "embeddableConfig": {}, "gridData": { "h": 15, - "i": "13", - "w": 43, + "i": "15", + "w": 24, "x": 0, "y": 10 }, - "panelIndex": "13", + "panelIndex": "15", "panelRefName": "panel_6", - "title": "Request Duration per Zone (ns)", "version": "7.0.0" }, { "embeddableConfig": {}, "gridData": { "h": 15, - "i": "14", - "w": 21, - "x": 22, - "y": 40 + "i": "16", + "w": 24, + "x": 0, + "y": 25 }, - "panelIndex": "14", + "panelIndex": "16", "panelRefName": "panel_7", "version": "7.0.0" } @@ -179,19 +178,19 @@ "type": "visualization" }, { - "id": "fb335780-72af-11e9-b0d0-414c3011ddbb", + "id": "57c74300-7308-11e9-b0d0-414c3011ddbb", "name": "panel_6", "type": "visualization" }, { - "id": "01f349d0-72b1-11e9-b0d0-414c3011ddbb", + "id": "4804eaa0-7315-11e9-b0d0-414c3011ddbb", "name": "panel_7", "type": "visualization" } ], "type": "dashboard", - "updated_at": "2019-05-10T07:26:47.959Z", - "version": "WzEyNzAsMV0=" + "updated_at": "2019-05-10T11:25:44.629Z", + "version": "WzE3MzcsMV0=" }, { "attributes": { @@ -291,8 +290,8 @@ } ], "type": "visualization", - "updated_at": "2019-05-09T14:45:57.633Z", - "version": "WzEwMzYsMV0=" + "updated_at": "2019-05-10T07:46:22.258Z", + "version": "WzE1MjcsMV0=" }, { "attributes": { @@ -393,8 +392,8 @@ } ], "type": "visualization", - "updated_at": "2019-05-09T14:45:57.633Z", - "version": "WzEwMzcsMV0=" + "updated_at": "2019-05-10T07:46:22.258Z", + "version": "WzE1MjgsMV0=" }, { "attributes": { @@ -456,7 +455,6 @@ "from": "now-15m", "to": "now" }, - "time_zone": "Europe/Helsinki", "useNormalizedEsInterval": true }, "schema": "segment", @@ -581,8 +579,8 @@ } ], "type": "visualization", - "updated_at": "2019-05-09T20:46:17.730Z", - "version": "WzEyNDcsMV0=" + "updated_at": "2019-05-10T07:46:22.258Z", + "version": "WzE1MjksMV0=" }, { "attributes": { @@ -634,7 +632,6 @@ "from": "now-30m", "to": "now" }, - "time_zone": "Europe/Helsinki", "useNormalizedEsInterval": true }, "schema": "segment", @@ -788,8 +785,8 @@ } ], "type": "visualization", - "updated_at": "2019-05-09T23:36:59.020Z", - "version": "WzEyNjYsMV0=" + "updated_at": "2019-05-10T07:46:22.258Z", + "version": "WzE1MzAsMV0=" }, { "attributes": { @@ -981,8 +978,8 @@ } ], "type": "visualization", - "updated_at": "2019-05-09T19:52:47.645Z", - "version": "WzEyMzEsMV0=" + "updated_at": "2019-05-10T07:46:22.258Z", + "version": "WzE1MzEsMV0=" }, { "attributes": { @@ -1167,410 +1164,207 @@ } ], "type": "visualization", - "updated_at": "2019-05-09T20:26:03.639Z", - "version": "WzEyMzgsMV0=" + "updated_at": "2019-05-10T07:46:22.258Z", + "version": "WzE1MzIsMV0=" }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "exists": { - "field": "coredns.stats.dns.request.duration.ns.count" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "coredns.stats.dns.request.duration.ns.count", - "negate": false, - "type": "exists", - "value": "exists" - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "filter": [], "query": { "language": "kuery", "query": "" } } }, - "title": "Request Duration [Metricbeat CoreDNS] ECS", + "title": "Avg Request Duration (cumulative) [Metricbeat CoreDNS] ECS", "uiStateJSON": {}, "version": 1, "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "aggregate": "max", - "customLabel": "Requests cumulative duration ns", - "field": "coredns.stats.dns.request.duration.ns.count", - "size": 1, - "sortField": "@timestamp", - "sortOrder": "desc" - }, - "schema": "metric", - "type": "top_hits" - }, - { - "enabled": true, - "id": "2", - "params": { - "customInterval": "2h", - "drop_partials": false, - "extended_bounds": {}, - "field": "@timestamp", - "interval": "auto", - "min_doc_count": 1, - "timeRange": { - "from": "now-30m", - "to": "now" - }, - "useNormalizedEsInterval": true - }, - "schema": "segment", - "type": "date_histogram" - }, - { - "enabled": true, - "id": "3", - "params": { - "customLabel": "server", - "field": "coredns.stats.server", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "_key", - "otherBucket": false, - "otherBucketLabel": "Other", - "row": true, - "size": 5 - }, - "schema": "split", - "type": "terms" - }, - { - "enabled": true, - "id": "4", - "params": { - "field": "coredns.stats.zone", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "_key", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - } - ], + "aggs": [], "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ + "axis_formatter": "number", + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "id": "61ca57f0-469d-11e7-af02-69e470af7417", + "index_pattern": "", + "interval": "auto", + "series": [ { - "id": "CategoryAxis-1", - "labels": { - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "grid": { - "categoryLines": false - }, - "legendPosition": "right", - "seriesParams": [ - { - "data": { - "id": "1", - "label": "Requests cumulative duration ns" - }, - "drawLinesBetweenPoints": true, - "mode": "normal", - "show": "true", - "showCircles": true, - "type": "line", - "valueAxis": "ValueAxis-1" + "axis_position": "right", + "chart_type": "line", + "color": "#68BC00", + "fill": "0.1", + "filter": "", + "formatter": "number", + "id": "61ca57f1-469d-11e7-af02-69e470af7417", + "label": "Avg Request Duration (ms)", + "line_width": 1, + "metrics": [ + { + "agg_with": "max", + "field": "coredns.stats.dns.request.duration.ns.sum", + "id": "61ca57f2-469d-11e7-af02-69e470af7417", + "order": "desc", + "order_by": "@timestamp", + "size": 1, + "type": "sum" + }, + { + "agg_with": "max", + "field": "coredns.stats.dns.request.duration.ns.count", + "id": "f6c82d30-7307-11e9-aba0-4f43d70788c6", + "order": "desc", + "order_by": "@timestamp", + "size": 1, + "type": "sum" + }, + { + "id": "1d9de350-7308-11e9-aba0-4f43d70788c6", + "script": "params.sum / params.count / 1e6", + "type": "calculation", + "variables": [ + { + "field": "61ca57f2-469d-11e7-af02-69e470af7417", + "id": "20eee310-7308-11e9-aba0-4f43d70788c6", + "name": "sum" + }, + { + "field": "f6c82d30-7307-11e9-aba0-4f43d70788c6", + "id": "2e4139f0-7308-11e9-aba0-4f43d70788c6", + "name": "count" + } + ] + } + ], + "point_size": 1, + "separate_axis": 0, + "split_filters": [ + { + "color": "#68BC00", + "filter": "", + "id": "505e0670-7309-11e9-aba0-4f43d70788c6", + "label": "" + } + ], + "split_mode": "terms", + "stacked": "none", + "steps": 0, + "terms_field": "coredns.stats.zone", + "terms_order_by": "61ca57f2-469d-11e7-af02-69e470af7417", + "value_template": "{{value}} ms" } ], - "times": [], - "type": "line", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Requests cumulative duration ns" - }, - "type": "value" - } - ] + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" }, - "title": "Request Duration [Metricbeat CoreDNS] ECS", - "type": "line" + "title": "Avg Request Duration (cumulative) [Metricbeat CoreDNS] ECS", + "type": "metrics" } }, - "id": "fb335780-72af-11e9-b0d0-414c3011ddbb", + "id": "57c74300-7308-11e9-b0d0-414c3011ddbb", "migrationVersion": { "visualization": "7.0.0" }, - "references": [ - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], + "references": [], "type": "visualization", - "updated_at": "2019-05-09T23:13:50.257Z", - "version": "WzEyNTUsMV0=" + "updated_at": "2019-05-10T11:07:14.131Z", + "version": "WzE3MzQsMV0=" }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "exists": { - "field": "coredns.stats.dns.request.size.bytes.count" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "coredns.stats.dns.request.size.bytes.count", - "negate": false, - "type": "exists", - "value": "exists" - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "filter": [], "query": { "language": "kuery", "query": "" } } }, - "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", + "title": "Avg Request Size (cumulative) [Metricbeat CoreDNS] ECS", "uiStateJSON": {}, "version": 1, "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "aggregate": "max", - "customLabel": "Cumulative request size bytes", - "field": "coredns.stats.dns.request.size.bytes.count", - "size": 1, - "sortField": "@timestamp", - "sortOrder": "desc" - }, - "schema": "metric", - "type": "top_hits" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "server", - "field": "coredns.stats.server", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "_key", - "otherBucket": false, - "otherBucketLabel": "Other", - "row": true, - "size": 5 - }, - "schema": "split", - "type": "terms" - }, - { - "enabled": true, - "id": "3", - "params": { - "customInterval": "2h", - "drop_partials": false, - "extended_bounds": {}, - "field": "@timestamp", - "interval": "auto", - "min_doc_count": 1, - "timeRange": { - "from": "now-30m", - "to": "now" - }, - "useNormalizedEsInterval": true - }, - "schema": "segment", - "type": "date_histogram" - }, - { - "enabled": true, - "id": "4", - "params": { - "field": "coredns.stats.zone", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "_key", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - }, - { - "enabled": true, - "id": "5", - "params": { - "field": "coredns.stats.proto", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "_key", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - } - ], + "aggs": [], "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ + "axis_formatter": "number", + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "id": "61ca57f0-469d-11e7-af02-69e470af7417", + "index_pattern": "", + "interval": "auto", + "series": [ { - "id": "CategoryAxis-1", - "labels": { - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" + "axis_position": "right", + "chart_type": "line", + "color": "rgba(228,155,238,1)", + "fill": "0.1", + "formatter": "number", + "id": "61ca57f1-469d-11e7-af02-69e470af7417", + "label": "Avg Request Size (bytes)", + "line_width": 1, + "metrics": [ + { + "field": "coredns.stats.dns.request.size.bytes.sum", + "id": "61ca57f2-469d-11e7-af02-69e470af7417", + "type": "sum" + }, + { + "field": "coredns.stats.dns.request.size.bytes.count", + "id": "98fe65e0-7314-11e9-8e06-d9a616f1e6f2", + "type": "sum" + }, + { + "id": "ab81ee30-7314-11e9-8e06-d9a616f1e6f2", + "script": "params.sum / params.count", + "type": "calculation", + "variables": [ + { + "field": "61ca57f2-469d-11e7-af02-69e470af7417", + "id": "aeed53c0-7314-11e9-8e06-d9a616f1e6f2", + "name": "sum" + }, + { + "field": "98fe65e0-7314-11e9-8e06-d9a616f1e6f2", + "id": "b84dd700-7314-11e9-8e06-d9a616f1e6f2", + "name": "count" + } + ] + } + ], + "point_size": 1, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "coredns.stats.zone", + "value_template": "{{value}} bytes" } ], - "grid": { - "categoryLines": false - }, - "legendPosition": "right", - "seriesParams": [ - { - "data": { - "id": "1", - "label": "Cumulative request size bytes" - }, - "drawLinesBetweenPoints": true, - "mode": "normal", - "show": "true", - "showCircles": true, - "type": "line", - "valueAxis": "ValueAxis-1" - } - ], - "times": [], - "type": "line", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Cumulative request size bytes" - }, - "type": "value" - } - ] + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" }, - "title": "Request Size Bytes [Metricbeat CoreDNS] ECS", - "type": "line" + "title": "Avg Request Size (cumulative) [Metricbeat CoreDNS] ECS", + "type": "metrics" } }, - "id": "01f349d0-72b1-11e9-b0d0-414c3011ddbb", + "id": "4804eaa0-7315-11e9-b0d0-414c3011ddbb", "migrationVersion": { "visualization": "7.0.0" }, - "references": [ - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], + "references": [], "type": "visualization", - "updated_at": "2019-05-09T23:21:33.998Z", - "version": "WzEyNTksMV0=" + "updated_at": "2019-05-10T11:18:05.129Z", + "version": "WzE3MzUsMV0=" } ], "version": "7.0.0" From 6b499f3fff94f5f97bd097a0830fea8a51c54fd7 Mon Sep 17 00:00:00 2001 From: odacremolbap Date: Mon, 20 May 2019 10:17:16 +0200 Subject: [PATCH 6/6] add README to CoreDNS stats metricset --- metricbeat/module/coredns/stats/README.md | 69 +++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 metricbeat/module/coredns/stats/README.md diff --git a/metricbeat/module/coredns/stats/README.md b/metricbeat/module/coredns/stats/README.md new file mode 100644 index 00000000000..87fa17dc9eb --- /dev/null +++ b/metricbeat/module/coredns/stats/README.md @@ -0,0 +1,69 @@ +# CoreDNS Stats + +## Version history + +- May 2019, `v1.5.0` + +## Resources + +- https://github.com/coredns/coredns/tree/master/plugin/metrics +- https://coredns.io/manual/configuration/ + +## Setup environment for manual tests + +Write this contents to `corefile` + +``` +# Zone1 +domain.elastic:1053 { + log + errors + auto + reload 10s + cache 4 + + prometheus :9153 + + hosts { + 127.0.0.1 my.domain.elastic + 192.168.0.1 theirs.domain.elastic + fallthrough + } +} + +# Zone2 +.:1053 { + log + errors + prometheus :9153 + cache 4 + + forward . 8.8.8.8 8.8.4.4 +} +``` + +It creates 2 zones listening on port 1053, prometheus metrics can be gathered at port 9153 +Requests for `my.domain.elastic` and `theirs.domain.elastic` will be resolved locally +Any other request will be forwarded to google's DNSs. +Cache plugin is activated + +For manual testing you can open a number of terminals and use `watch` with any of these commands: + +``` +dig @localhost -p 1053 TXT apache.org + +dig @localhost -p 1053 A google.com + +dig @localhost -p 1053 MX google.com + +dig @localhost -p 1053 A my.domain.elastic + +dig @localhost -p 1053 A theirs.domain.elastic +tcp + +``` + +Metrics can be manually retrieved using + +``` +curl localhost:9153/metrics +```