From: Remigiusz Janeczek Date: Tue, 7 Apr 2020 09:45:24 +0000 (+0200) Subject: Add new metrics for performance tests X-Git-Tag: 6.0.0-ONAP~1 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=fab4f6c44c8bc7baf454e26a956891ad53000a35;p=dcaegen2%2Fcollectors%2Fhv-ves.git Add new metrics for performance tests Add metrics considering: -Kafka -Message producers -Overall k8s nodes statistics Issue-ID: DCAEGEN2-1576 Signed-off-by: Remigiusz Janeczek Change-Id: I8523099834a2652df359d6a50b19a86d6f417adc --- diff --git a/tools/performance/cloud/cloud-based-performance-test.sh b/tools/performance/cloud/cloud-based-performance-test.sh index 256a385f..bd699a65 100755 --- a/tools/performance/cloud/cloud-based-performance-test.sh +++ b/tools/performance/cloud/cloud-based-performance-test.sh @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # dcaegen2-collectors-veshv # ================================================================================ -# Copyright (C) 2019 NOKIA +# Copyright (C) 2019-2020 NOKIA # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -211,6 +211,12 @@ function setup_environment() { echo "Creating ConfigMap for grafana grafana-performance-tests dashboard" kubectl apply -f grafana/dashboards/performance-tests.yaml + echo "Creating ConfigMap for grafana grafana-kafka-and-producers dashboard" + kubectl apply -f grafana/dashboards/kafka-and-producers.yaml + + echo "Creating ConfigMap for grafana grafana-k8s-metrics dashboard" + kubectl apply -f grafana/dashboards/k8s-metrics.yaml + echo "Creating ConfigMap for grafana datasource" kubectl apply -f grafana/datasources/datasource.yaml diff --git a/tools/performance/cloud/grafana-deployment.yaml b/tools/performance/cloud/grafana-deployment.yaml index b2921d67..89e9d909 100644 --- a/tools/performance/cloud/grafana-deployment.yaml +++ b/tools/performance/cloud/grafana-deployment.yaml @@ -58,6 +58,10 @@ spec: mountPath: /grafana/performance-tests - name: grafana-processing mountPath: /grafana/processing + - name: grafana-kafka-and-producers + mountPath: /grafana/kafka-and-producers + - name: grafana-k8s-metrics + mountPath: /grafana/k8s-metrics volumes: - name: grafana-datasources configMap: @@ -74,6 +78,12 @@ spec: - name: grafana-processing configMap: name: grafana-processing + - name: grafana-kafka-and-producers + configMap: + name: grafana-kafka-and-producers + - name: grafana-k8s-metrics + configMap: + name: grafana-k8s-metrics --- apiVersion: v1 kind: Service diff --git a/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml b/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml index c433ffa9..2701d492 100644 --- a/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml +++ b/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml @@ -1,7 +1,7 @@ # ============LICENSE_START======================================================= # dcaegen2-collectors-veshv # ================================================================================ -# Copyright (C) 2019 NOKIA +# Copyright (C) 2019-2020 NOKIA # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -42,4 +42,17 @@ data: folder: '' type: file options: - path: /grafana/processing \ No newline at end of file + path: /grafana/processing + - name: 'kafka-and-producers' + org_id: 1 + folder: '' + type: file + options: + path: /grafana/kafka-and-producers + - name: 'k8s-metrics' + org_id: 1 + folder: '' + type: file + options: + path: /grafana/k8s-metrics + diff --git a/tools/performance/cloud/grafana/dashboards/k8s-metrics.yaml b/tools/performance/cloud/grafana/dashboards/k8s-metrics.yaml new file mode 100644 index 00000000..c91661bf --- /dev/null +++ b/tools/performance/cloud/grafana/dashboards/k8s-metrics.yaml @@ -0,0 +1,557 @@ +# ============LICENSE_START======================================================= +# dcaegen2-collectors-veshv +# ================================================================================ +# Copyright (C) 2020 NOKIA +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-k8s-metrics + namespace: onap + labels: + name: grafana-dashboards +data: + k8s-metrics.json: |- + { + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 5, + "links": [], + "panels": [ + { + "datasource": null, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 0 + }, + "id": 8, + "options": { + "fieldOptions": { + "calcs": [ + "mean" + ], + "defaults": { + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [], + "values": false + }, + "orientation": "auto", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.7.2", + "targets": [ + { + "expr": "sum(container_memory_working_set_bytes{id=\"/\", instance=~\".*worker.*\"}) by(instance) / (sum(machine_memory_bytes{instance=~\".*worker.*\"}) by (instance))*100", + "interval": "", + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Nodes RAM Usage", + "type": "gauge" + }, + { + "datasource": null, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 0 + }, + "id": 6, + "options": { + "fieldOptions": { + "calcs": [ + "mean" + ], + "defaults": { + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [], + "values": false + }, + "orientation": "auto", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.7.2", + "targets": [ + { + "expr": "sum(rate(container_cpu_usage_seconds_total{id=\"/\", instance=~\".*worker.*\"}[1m])) by(instance) / (sum(machine_cpu_cores{instance=~\".*worker.*\"}) by (instance))*100", + "interval": "", + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Nodes CPU Usage", + "type": "gauge" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 12, + "w": 8, + "x": 16, + "y": 0 + }, + "hiddenSeries": false, + "id": 10, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(container_network_receive_bytes_total{pod!=\"\", namespace=\"onap\", instance=~\".*worker.*\"}[1m])) by (instance)", + "hide": false, + "interval": "", + "legendFormat": "{{instance}}", + "refId": "C" + }, + { + "expr": "sum(irate(container_network_receive_bytes_total{pod!=\"\", namespace=\"onap\", instance=~\".*worker.*\"}[1m]))", + "hide": false, + "interval": "", + "legendFormat": "Total Receive", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Network Usage - Receive", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 16, + "w": 8, + "x": 0, + "y": 7 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(container_memory_working_set_bytes{id=\"/\"}) by (instance) / (sum(machine_memory_bytes) by (instance))*100", + "interval": "", + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Nodes Total RAM Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 16, + "w": 8, + "x": 8, + "y": 7 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(container_cpu_usage_seconds_total{id=\"/\"}[1m])) by(instance) / (sum(machine_cpu_cores) by (instance))*100", + "interval": "", + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Nodes Total CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 11, + "w": 8, + "x": 16, + "y": 12 + }, + "hiddenSeries": false, + "id": 11, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(container_network_transmit_bytes_total{pod!=\"\", namespace=\"onap\", instance=~\".*worker.*\"}[1m])) by (instance)", + "hide": false, + "interval": "", + "legendFormat": "{{instance}}", + "refId": "A" + }, + { + "expr": "sum(irate(container_network_transmit_bytes_total{pod!=\"\", namespace=\"onap\", instance=~\".*worker.*\"}[1m]))", + "hide": false, + "interval": "", + "legendFormat": "Total Transmit", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Network Usage - Transmit", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5s", + "schemaVersion": 22, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "K8s metrics", + "uid": "RxjnWpjZk", + "variables": { + "list": [] + }, + "version": 1 + } diff --git a/tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml b/tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml new file mode 100644 index 00000000..74cad82d --- /dev/null +++ b/tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml @@ -0,0 +1,774 @@ +# ============LICENSE_START======================================================= +# dcaegen2-collectors-veshv +# ================================================================================ +# Copyright (C) 2020 NOKIA +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-kafka-and-producers + namespace: onap + labels: + name: grafana-dashboards +data: + kafka-and-producers.json: |- + { + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 4, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 11, + "w": 8, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 12, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(container_network_transmit_bytes_total{pod=~\".*producer.*\"}[1m]))", + "interval": "", + "legendFormat": "Total Transmit Producers", + "refId": "A" + }, + { + "expr": "sum(irate(container_network_transmit_bytes_total{pod=~\".*kafka-.\"}[1m]))", + "interval": "", + "legendFormat": "Total Transmit Kafka", + "refId": "B" + }, + { + "expr": "irate(container_network_transmit_bytes_total{pod=~\".*producer.*\"}[1m])", + "interval": "", + "legendFormat": "{{pod}}", + "refId": "C" + }, + { + "expr": "irate(container_network_transmit_bytes_total{pod=~\".*kafka-.\"}[1m])", + "interval": "", + "legendFormat": "{{pod}}", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Network Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 11, + "w": 8, + "x": 8, + "y": 0 + }, + "hiddenSeries": false, + "id": 22, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(container_network_transmit_bytes_total{pod=~\".*kafka-.|.*hv-ves-coll.*|.*producer.*\"}[1m]))", + "hide": false, + "interval": "", + "legendFormat": "Total transmit", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Total network usage (producers + hv-ves + kafka)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 11, + "w": 8, + "x": 16, + "y": 0 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(container_network_receive_bytes_total{pod=~\"dep-dcae-hv-ves-collector.*\"}[1m])", + "hide": false, + "interval": "", + "legendFormat": "receive", + "refId": "A" + }, + { + "expr": "irate(container_network_transmit_bytes_total{pod=~\"dep-dcae-hv-ves-collector.*\"}[1m])", + "interval": "", + "legendFormat": "transmit", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "HV-VES Network Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "Bps", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 12, + "w": 8, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 14, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*producer.*\"}[1m])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*router-kafka.*\"}[1m])) by (pod)", + "interval": "", + "legendFormat": "{{pod}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 12, + "w": 8, + "x": 8, + "y": 11 + }, + "hiddenSeries": false, + "id": 18, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(container_memory_working_set_bytes{image!=\"\", pod=~\".*kafka-.\"}) by (pod)", + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*router-kafka.*\"}[1m])) by (pod)", + "hide": true, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": "20m", + "timeRegions": [], + "timeShift": null, + "title": "Memory Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": null, + "gridPos": { + "h": 6, + "w": 4, + "x": 16, + "y": 11 + }, + "id": 15, + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "lastNotNull" + ], + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [], + "values": false + }, + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto" + }, + "pluginVersion": "6.7.2", + "targets": [ + { + "expr": "sum(container_network_transmit_packets_dropped_total{pod=~\".*producer.*\"})", + "interval": "", + "legendFormat": "Packets dropped", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Packets Dropped (producers)", + "type": "stat" + }, + { + "datasource": null, + "gridPos": { + "h": 6, + "w": 4, + "x": 20, + "y": 11 + }, + "id": 4, + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "lastNotNull" + ], + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [], + "values": false + }, + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto" + }, + "pluginVersion": "6.7.2", + "targets": [ + { + "expr": "sum(container_network_transmit_packets_dropped_total{pod=~\".*hv-ves-collector.*\"})", + "interval": "", + "legendFormat": "Packets dropped", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Packets Dropped (hv-ves)", + "type": "stat" + }, + { + "datasource": null, + "gridPos": { + "h": 6, + "w": 4, + "x": 16, + "y": 17 + }, + "id": 17, + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "max" + ], + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [], + "values": false + }, + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto" + }, + "pluginVersion": "6.7.2", + "targets": [ + { + "expr": "sum(container_network_transmit_bytes_total{pod=~\".*producer.*\"})", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Sent (producers)", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": null, + "gridPos": { + "h": 6, + "w": 4, + "x": 20, + "y": 17 + }, + "id": 16, + "links": [], + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "max" + ], + "defaults": { + "mappings": [ + { + "id": 0, + "op": "=", + "text": "N/A", + "type": 1, + "value": "null" + } + ], + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [], + "values": false + }, + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal" + }, + "pluginVersion": "6.7.2", + "targets": [ + { + "expr": "container_network_receive_bytes_total{pod=~\".*hv-ves-collector.*\"}", + "interval": "", + "legendFormat": "Packets dropped", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Received (hv-ves)", + "type": "stat" + } + ], + "refresh": "5s", + "schemaVersion": 22, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "Kafka and Producers Statistics", + "uid": "-28uHcjZk", + "variables": { + "list": [] + }, + "version": 1 + } diff --git a/tools/performance/cloud/prometheus/prometheus-config-map.yaml b/tools/performance/cloud/prometheus/prometheus-config-map.yaml index a07bc336..9238b255 100644 --- a/tools/performance/cloud/prometheus/prometheus-config-map.yaml +++ b/tools/performance/cloud/prometheus/prometheus-config-map.yaml @@ -49,3 +49,25 @@ data: metrics_path: '/monitoring/prometheus' static_configs: - targets: ['dcae-hv-ves-collector.onap:6060'] + + - job_name: 'kubernetes-cadvisor' + + scheme: https + + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - role: node + + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor +