From 4ab96cc75a02d1bf4e2dcd5cdad9b0b1bff650a9 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Wed, 27 Jan 2021 21:08:09 +0100 Subject: [PATCH 1/9] Upgrade to OSP STF 1.1 --- .../configs/osp-stf/files/catalogsource.yaml | 11 +- .../configs/osp-stf/files/dashboardroute.yaml | 16 + .../osp-stf/files/grafanasubscription.yaml | 1 - .../files/operatorhubiocatalogsource.yaml | 10 + .../configs/osp-stf/files/rhos-dashboard.yaml | 2180 ++++++----------- .../osp-stf/files/servicetelemetryobject.yaml | 9 +- .../servicetelemetryobjectwithgrafana.yaml | 15 + .../files/servicetelemetrysubscription.yaml | 4 +- ansible/configs/osp-stf/software.yml | 32 +- 9 files changed, 772 insertions(+), 1506 deletions(-) create mode 100644 ansible/configs/osp-stf/files/dashboardroute.yaml create mode 100644 ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml create mode 100644 ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml diff --git a/ansible/configs/osp-stf/files/catalogsource.yaml b/ansible/configs/osp-stf/files/catalogsource.yaml index b142c804e92..f8aa1af4bae 100644 --- a/ansible/configs/osp-stf/files/catalogsource.yaml +++ b/ansible/configs/osp-stf/files/catalogsource.yaml @@ -1,10 +1,13 @@ apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: - name: operatorhubio-operators + name: redhat-operators-stf namespace: openshift-marketplace spec: + displayName: Red Hat STF Operators + image: quay.io/redhat-operators-stf/stf-catalog:latest + publisher: Red Hat sourceType: grpc - image: quay.io/operator-framework/upstream-community-operators:latest - displayName: OperatorHub.io Operators - publisher: OperatorHub.io \ No newline at end of file + updateStrategy: + registryPoll: + interval: 30m \ No newline at end of file diff --git a/ansible/configs/osp-stf/files/dashboardroute.yaml b/ansible/configs/osp-stf/files/dashboardroute.yaml new file mode 100644 index 00000000000..4697aa49acc --- /dev/null +++ b/ansible/configs/osp-stf/files/dashboardroute.yaml @@ -0,0 +1,16 @@ +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: dashboards + namespace: service-telemetry +spec: + port: + targetPort: 3000 + tls: + insecureEdgeTerminationPolicy: Redirect + termination: edge + to: + kind: Service + name: grafana-service + weight: 100 + wildcardPolicy: None \ No newline at end of file diff --git a/ansible/configs/osp-stf/files/grafanasubscription.yaml b/ansible/configs/osp-stf/files/grafanasubscription.yaml index beace1da5e2..f28a498cb5d 100644 --- a/ansible/configs/osp-stf/files/grafanasubscription.yaml +++ b/ansible/configs/osp-stf/files/grafanasubscription.yaml @@ -9,4 +9,3 @@ spec: name: grafana-operator source: operatorhubio-operators sourceNamespace: openshift-marketplace - startingCSV: grafana-operator.v3.2.0 diff --git a/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml b/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml new file mode 100644 index 00000000000..b142c804e92 --- /dev/null +++ b/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml @@ -0,0 +1,10 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: operatorhubio-operators + namespace: openshift-marketplace +spec: + sourceType: grpc + image: quay.io/operator-framework/upstream-community-operators:latest + displayName: OperatorHub.io Operators + publisher: OperatorHub.io \ No newline at end of file diff --git a/ansible/configs/osp-stf/files/rhos-dashboard.yaml b/ansible/configs/osp-stf/files/rhos-dashboard.yaml index f84682afddd..5ddb6549eda 100644 --- a/ansible/configs/osp-stf/files/rhos-dashboard.yaml +++ b/ansible/configs/osp-stf/files/rhos-dashboard.yaml @@ -24,20 +24,24 @@ spec: "editable": true, "gnetId": null, "graphTooltip": 0, - "id": 2, - "iteration": 1585934380646, - "links": [ - { - "icon": "external link", - "tags": [ - "CloudView" - ], - "targetBlank": false, - "type": "dashboards", - "url": "" - } - ], + "id": 1, + "iteration": 1606152811123, + "links": [], "panels": [ + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 64, + "panels": [], + "title": "Alerts", + "type": "row" + }, { "cacheTimeout": null, "columns": [], @@ -48,7 +52,7 @@ spec: "h": 8, "w": 12, "x": 0, - "y": 0 + "y": 1 }, "id": 61, "links": [], @@ -183,7 +187,7 @@ spec: "h": 8, "w": 12, "x": 12, - "y": 0 + "y": 1 }, "id": 62, "links": [], @@ -308,6 +312,20 @@ spec: "transform": "table", "type": "table" }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 68, + "panels": [], + "title": "Quickview", + "type": "row" + }, { "cacheTimeout": null, "colorBackground": true, @@ -320,7 +338,7 @@ spec: "#C4162A" ], "datasource": null, - "description": "Shows whether any metrics at all were received for this Node during the time period.", + "description": "", "format": "none", "gauge": { "maxValue": 100, @@ -330,10 +348,10 @@ spec: "thresholdMarkers": true }, "gridPos": { - "h": 2, - "w": 24, + "h": 5, + "w": 2, "x": 0, - "y": 8 + "y": 10 }, "id": 33, "interval": null, @@ -420,9 +438,9 @@ spec: "thresholdMarkers": true }, "gridPos": { - "h": 3, - "w": 24, - "x": 0, + "h": 5, + "w": 2, + "x": 2, "y": 10 }, "id": 31, @@ -486,87 +504,200 @@ spec: }, { "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], "datasource": "STFPrometheus", - "description": "Total number of CPUs cores on node", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, + "description": "", "gridPos": { - "h": 7, - "w": 4, - "x": 0, - "y": 13 + "h": 5, + "w": 3, + "x": 4, + "y": 10 }, - "id": 39, - "interval": null, + "id": 19, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 + "options": { + "fieldOptions": { + "calcs": [ + "last" + ], + "defaults": { + "mappings": [ + { + "id": 0, + "op": "=", + "text": "0.0%", + "type": 1, + "value": "null" + } + ], + "max": 100, + "min": 0, + "nullValueMode": "connected", + "thresholds": [ + { + "color": "#299c46", + "value": null + }, + { + "color": "#d44a3a", + "value": 80 + } + ], + "unit": "percent" + }, + "override": {}, + "values": false }, + "orientation": "horizontal", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.5.1", + "targets": [ { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" + "expr": "sum(collectd_cpu_percent{type_instance!=\"idle\", host=\"$hosts\"}) / count(sum by (type_instance) (collectd_cpu_percent{type_instance!=\"idle\",host=\"$hosts\"}))", + "format": "time_series", + "instant": true, + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" } ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false + "timeFrom": null, + "timeShift": null, + "title": "CPU", + "type": "gauge" + }, + { + "cacheTimeout": null, + "datasource": "STFPrometheus", + "description": "", + "gridPos": { + "h": 5, + "w": 3, + "x": 7, + "y": 10 }, - "tableColumn": "", + "id": 44, + "links": [], + "options": { + "fieldOptions": { + "calcs": [ + "last" + ], + "defaults": { + "decimals": 1, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "0.0%", + "type": 1, + "value": "null" + } + ], + "max": 1, + "min": 0, + "nullValueMode": "connected", + "thresholds": [ + { + "color": "#299c46", + "value": null + }, + { + "color": "#d44a3a", + "value": 0.8 + } + ], + "unit": "percentunit" + }, + "override": {}, + "values": false + }, + "orientation": "horizontal", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.5.1", "targets": [ { - "expr": "count(sum(collectd_cpu_percent{host=\"$hosts\"}) by (plugin_instance))", + "expr": "sum(collectd_memory{type_instance=\"used\",host=\"$hosts\"})/ sum(collectd_memory{host=\"$hosts\"})", "format": "time_series", + "hide": false, "intervalFactor": 1, + "legendFormat": "{{memory}}", "refId": "A" } ], - "thresholds": "", "timeFrom": null, "timeShift": null, - "title": "CPU Cores", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ + "title": "Memory", + "type": "gauge" + }, + { + "cacheTimeout": null, + "datasource": "STFPrometheus", + "description": "", + "gridPos": { + "h": 5, + "w": 3, + "x": 10, + "y": 10 + }, + "id": 41, + "links": [], + "options": { + "displayMode": "gradient", + "fieldOptions": { + "calcs": [ + "lastNotNull" + ], + "defaults": { + "decimals": 0, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "N/A", + "type": 1, + "value": "null" + } + ], + "max": 1, + "min": 0, + "nullValueMode": "connected", + "thresholds": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ], + "unit": "percentunit" + }, + "override": {}, + "values": false + }, + "orientation": "horizontal" + }, + "pluginVersion": "6.5.1", + "targets": [ { - "op": "=", - "text": "N/A", - "value": "null" + "expr": "sum(collectd_df_df_complex{host=\"$hosts\",type_instance=\"used\"}) by (plugin_instance) / sum(collectd_df_df_complex{host=\"$hosts\"}) by (plugin_instance)", + "format": "time_series", + "hide": false, + "instant": false, + "intervalFactor": 1, + "legendFormat": "{{plugin_instance}}", + "refId": "A" } ], - "valueName": "avg" + "timeFrom": null, + "timeShift": null, + "title": "File Systems", + "type": "bargauge" }, { "cacheTimeout": null, @@ -578,9 +709,8 @@ spec: "#d44a3a" ], "datasource": "STFPrometheus", - "decimals": 1, - "description": "Total amount of memory on node", - "format": "bytes", + "description": "", + "format": "none", "gauge": { "maxValue": 100, "minValue": 0, @@ -589,12 +719,12 @@ spec: "thresholdMarkers": true }, "gridPos": { - "h": 7, - "w": 4, - "x": 4, - "y": 13 + "h": 5, + "w": 3, + "x": 13, + "y": 10 }, - "id": 40, + "id": 54, "interval": null, "links": [], "mappingType": 1, @@ -627,957 +757,34 @@ spec: "fillColor": "rgba(31, 118, 189, 0.18)", "full": false, "lineColor": "rgb(31, 120, 193)", - "show": false + "show": false, + "ymax": null, + "ymin": null }, "tableColumn": "", "targets": [ { - "expr": "sum(collectd_memory{host=\"$hosts\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{memory}}", - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Memory", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "STFPrometheus", - "decimals": 1, - "description": "Aproxement total disk space available on to the root device on this node.\n\nDisclaimer: this query excludes the temporary filesystems (tmpfs,devtmpfs,overlay). Thus, if swap storage is used, these file systems may use disk space, causing this result to appear smaller than it should. ", - "format": "bytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 7, - "w": 4, - "x": 8, - "y": 13 - }, - "id": 41, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(collectd_df_df_complex{plugin_instance!~\"devtmpfs|overlay|shm|tmpfs\",host=\"$hosts\"})", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "{{df}}", - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Disk Size", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": null, - "description": "All existing proce", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 5, - "x": 12, - "y": 13 - }, - "id": 49, - "links": [], - "options": {}, - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "Type", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "Metric", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Current", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "collectd_processes_ps_state{host=\"$hosts\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{type_instance}}", - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Processes", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "description": "On Linux, load average represents the average number of running and uninterruptable processes residing in the kernel's execution queue. \n\nTypically, short term, midterm, and longterm series give running averages of 1m, 5m, and 15m, respectively. ", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 7, - "x": 17, - "y": 13 - }, - "hiddenSeries": false, - "id": 35, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "collectd_load_shortterm{host=\"$hosts\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "short term", - "refId": "A" - }, - { - "expr": "collectd_load_midterm{host=\"$hosts\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "mid term", - "refId": "B" - }, - { - "expr": "collectd_load_longterm{host=\"$hosts\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "long term", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Load Average", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "Processes", - "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 - } - }, - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 20 - }, - "id": 37, - "panels": [], - "title": "Networking", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 0, - "y": 21 - }, - "id": 54, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false, - "ymax": null, - "ymin": null - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(collectd_interface_if_errors_rx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Physical Interfaces Ingress Errors", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "delta" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 4, - "y": 21 - }, - "id": 55, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false, - "ymax": null, - "ymin": null - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(collectd_interface_if_errors_tx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Physical Interfaces Egress Errors", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "delta" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 8, - "x": 8, - "y": 21 - }, - "hiddenSeries": false, - "id": 56, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(collectd_interface_if_errors_rx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Physical Interfaces Ingress Error Rates", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "none", - "label": "errors/s", - "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": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 8, - "x": 16, - "y": 21 - }, - "hiddenSeries": false, - "id": 57, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(collectd_interface_if_errors_tx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Physical Interfaces Egress Error Rates", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "none", - "label": "errors/s", - "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": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 27 - }, - "hiddenSeries": false, - "id": 58, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(collectd_interface_if_packets_rx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Physical Interfaces Packets Ingress", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "pps", - "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": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 33 - }, - "hiddenSeries": false, - "id": 59, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(collectd_interface_if_packets_tx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Physical Interfaces Packets Egress", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "pps", - "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": "STFPrometheus", - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 39 - }, - "hiddenSeries": false, - "id": 48, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(collectd_interface_if_octets_rx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", + "expr": "sum(collectd_interface_if_errors_rx_total{host=\"$hosts\"}) + sum(collectd_interface_if_errors_tx_total{host=\"$hosts\"})", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{plugin_instance}}", "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Physical Interfaces Data Ingress", - "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 - }, + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Interface Errors", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "op": "=", + "text": "N/A", + "value": "null" } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "valueName": "delta" }, { "aliasColors": {}, @@ -1585,27 +792,25 @@ spec: "dashLength": 10, "dashes": false, "datasource": null, - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", + "description": "Load average represents the average number of running and un-interruptable processes residing in the kernel's execution queue. \n\nTypically, short term, midterm, and long term series give running averages of 1m, 5m, and 15m, respectively. ", "fill": 1, "fillGradient": 0, "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 45 + "h": 5, + "w": 8, + "x": 16, + "y": 10 }, "hiddenSeries": false, - "id": 43, + "id": 35, "legend": { - "alignAsTable": true, "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, + "current": false, + "max": false, + "min": false, "show": true, "total": false, - "values": true + "values": false }, "lines": true, "linewidth": 1, @@ -1624,18 +829,32 @@ spec: "steppedLine": false, "targets": [ { - "expr": "rate(collectd_interface_if_octets_tx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", + "expr": "collectd_load_shortterm{host=\"$hosts\"}", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", + "legendFormat": "short term", "refId": "A" + }, + { + "expr": "collectd_load_midterm{host=\"$hosts\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "mid term", + "refId": "B" + }, + { + "expr": "collectd_load_longterm{host=\"$hosts\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "long term", + "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Physical Interfaces Data Egress", + "title": "Load Average", "tooltip": { "shared": true, "sort": 0, @@ -1651,11 +870,12 @@ spec: }, "yaxes": [ { - "format": "Bps", - "label": null, + "decimals": null, + "format": "short", + "label": "Processes", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { @@ -1673,122 +893,43 @@ spec: } }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, + "collapsed": false, "datasource": null, - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", - "fill": 1, - "fillGradient": 0, "gridPos": { - "h": 6, + "h": 1, "w": 24, "x": 0, - "y": 51 - }, - "hiddenSeries": false, - "id": 53, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(collectd_interface_if_dropped_rx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Physical Interfaces Drop Rate Ingress", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "y": 15 }, - "yaxes": [ - { - "format": "pps", - "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 - } + "id": 37, + "panels": [], + "title": "Network Interfaces", + "type": "row" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, - "description": "Disclaimer: query contains a set of typical hardware interfaces seen on Linux systems. Some unrecognized interfaces may not be included in the query.", + "datasource": "STFPrometheus", + "description": "", "fill": 1, "fillGradient": 0, "gridPos": { - "h": 6, - "w": 24, + "h": 8, + "w": 8, "x": 0, - "y": 57 + "y": 16 }, "hiddenSeries": false, - "id": 52, + "id": 48, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -1804,24 +945,32 @@ spec: "pointradius": 2, "points": false, "renderer": "flot", - "seriesOverrides": [], + "seriesOverrides": [ + { + "alias": "/Tx/", + "transform": "negative-Y" + } + ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "rate(collectd_interface_if_dropped_tx_total{plugin_instance=~\"eth.*|wlan.*|wlp.*|ens.*|enp.*\",host=\"$hosts\"}[10m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{plugin_instance}}", + "expr": "rate(collectd_interface_if_octets_rx_total{host=\"$hosts\"}[10m])", + "legendFormat": "Rx {{plugin_instance}}", "refId": "A" + }, + { + "expr": "rate(collectd_interface_if_octets_tx_total{host=\"$hosts\"}[10m])", + "legendFormat": "Tx {{plugin_instance}}", + "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Physical Interfaces Drop Rate Egress", + "title": "Data", "tooltip": { "shared": true, "sort": 0, @@ -1837,7 +986,7 @@ spec: }, "yaxes": [ { - "format": "pps", + "format": "Bps", "label": null, "logBase": 1, "max": null, @@ -1858,114 +1007,31 @@ spec: "alignLevel": null } }, - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 63 - }, - "id": 21, - "panels": [], - "title": "CPU", - "type": "row" - }, - { - "cacheTimeout": null, - "datasource": "STFPrometheus", - "description": "", - "gridPos": { - "h": 5, - "w": 3, - "x": 0, - "y": 64 - }, - "id": 19, - "links": [], - "options": { - "fieldOptions": { - "calcs": [ - "lastNotNull" - ], - "defaults": { - "mappings": [ - { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" - } - ], - "max": 100, - "min": 0, - "nullValueMode": "connected", - "thresholds": [ - { - "color": "#299c46", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 90 - }, - { - "color": "#d44a3a", - "value": 95 - } - ], - "unit": "percent" - }, - "override": {}, - "values": false - }, - "orientation": "horizontal", - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "6.5.1", - "targets": [ - { - "expr": "sum(collectd_cpu_percent{type_instance!=\"idle\", host=\"$hosts\"}) / count(sum by (type_instance) (collectd_cpu_percent{type_instance!=\"idle\",host=\"$hosts\"}))", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "", - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Current CPU Usage", - "type": "gauge" - }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "STFPrometheus", - "description": "Average non-idle CPU activity of all cores on node", + "description": "", "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 69 + "h": 8, + "w": 8, + "x": 8, + "y": 16 }, "hiddenSeries": false, - "id": 2, + "id": 56, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, - "rightSide": true, - "show": false, + "rightSide": false, + "show": true, "total": false, "values": true }, @@ -1980,24 +1046,34 @@ spec: "pointradius": 2, "points": false, "renderer": "flot", - "seriesOverrides": [], + "seriesOverrides": [ + { + "alias": "/Tx/", + "transform": "negative-Y" + } + ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "sum(collectd_cpu_percent{type_instance!=\"idle\", host=\"$hosts\"}) / count(sum by (type_instance) (collectd_cpu_percent{type_instance!=\"idle\",host=\"$hosts\"}))", + "expr": "rate(collectd_interface_if_errors_rx_total{host=\"$hosts\"}[10m])", "format": "time_series", "intervalFactor": 1, - "legendFormat": "Total", + "legendFormat": "Rx {{plugin_instance}}", "refId": "A" + }, + { + "expr": "rate(collectd_interface_if_errors_tx_total{host=\"$hosts\"}[10m])", + "legendFormat": "Tx {{plugin_instance}}", + "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Aggregate CPU Usage", + "title": "Error Rates", "tooltip": { "shared": true, "sort": 0, @@ -2013,8 +1089,8 @@ spec: }, "yaxes": [ { - "format": "percent", - "label": null, + "format": "none", + "label": "errors/s", "logBase": 1, "max": null, "min": null, @@ -2026,7 +1102,7 @@ spec: "logBase": 1, "max": null, "min": null, - "show": true + "show": false } ], "yaxis": { @@ -2039,25 +1115,25 @@ spec: "bars": false, "dashLength": 10, "dashes": false, - "datasource": "STFPrometheus", - "description": "Shows average time spent for each activity across all cores", + "datasource": null, + "description": "", "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 74 + "h": 8, + "w": 8, + "x": 16, + "y": 16 }, "hiddenSeries": false, - "id": 15, + "id": 53, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -2073,25 +1149,34 @@ spec: "pointradius": 2, "points": false, "renderer": "flot", - "seriesOverrides": [], + "seriesOverrides": [ + { + "alias": "/Tx/", + "transform": "negative-Y" + } + ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "sum(collectd_cpu_percent{type_instance!=\"idle\", host=\"$hosts\"}) by (type_instance) / count(collectd_cpu_percent{host=\"$hosts\"}) by (type_instance)", + "expr": "rate(collectd_interface_if_dropped_rx_total{host=\"$hosts\"}[10m])", "format": "time_series", - "hide": false, "intervalFactor": 1, - "legendFormat": "{{type_instance}}", + "legendFormat": "Rx {{plugin_instance}}", "refId": "A" + }, + { + "expr": "rate(collectd_interface_if_dropped_tx_total{host=\"$hosts\"}[10m])", + "legendFormat": "Tx {{plugin_instance}}", + "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Aggr. CPU Usage by Type", + "title": "Drop Rates", "tooltip": { "shared": true, "sort": 0, @@ -2107,7 +1192,7 @@ spec: }, "yaxes": [ { - "format": "percent", + "format": "pps", "label": null, "logBase": 1, "max": null, @@ -2135,169 +1220,213 @@ spec: "h": 1, "w": 24, "x": 0, - "y": 79 + "y": 24 }, - "id": 25, + "id": 21, "panels": [], - "title": "Memory", + "title": "CPU", "type": "row" }, { - "cacheTimeout": null, + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, "datasource": "STFPrometheus", - "description": "", + "description": "Average non-idle CPU activity of all cores on node", + "fill": 1, + "fillGradient": 0, "gridPos": { - "h": 6, - "w": 3, + "h": 8, + "w": 12, "x": 0, - "y": 80 + "y": 25 }, - "id": 44, + "hiddenSeries": false, + "id": 2, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, "links": [], + "nullPointMode": "null", "options": { - "fieldOptions": { - "calcs": [ - "lastNotNull" - ], - "defaults": { - "decimals": 1, - "mappings": [ - { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" - } - ], - "max": 1, - "min": 0, - "nullValueMode": "connected", - "thresholds": [ - { - "color": "#299c46", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 0.9 - }, - { - "color": "#d44a3a", - "value": 0.95 - } - ], - "unit": "percentunit" - }, - "override": {}, - "values": false - }, - "orientation": "horizontal", - "showThresholdLabels": false, - "showThresholdMarkers": true + "dataLinks": [] }, - "pluginVersion": "6.5.1", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, "targets": [ { - "expr": "sum(collectd_memory{type_instance=\"used\",host=\"$hosts\"})/ sum(collectd_memory{host=\"$hosts\"})", + "expr": "sum(collectd_cpu_percent{type_instance!=\"idle\", host=\"$hosts\"}) / count(sum by (type_instance) (collectd_cpu_percent{type_instance!=\"idle\",host=\"$hosts\"}))", "format": "time_series", - "hide": false, "intervalFactor": 1, - "legendFormat": "{{memory}}", + "legendFormat": "Total", "refId": "A" } ], + "thresholds": [], "timeFrom": null, + "timeRegions": [], "timeShift": null, - "title": "Memory Used", - "type": "gauge" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "STFPrometheus", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true + "title": "Aggr. Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "gridPos": { - "h": 6, - "w": 3, - "x": 3, - "y": 80 + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - "id": 23, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ + "yaxes": [ { - "name": "value to text", - "value": 1 + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true }, { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "pluginVersion": "6.5.2", - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true } ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false, - "ymax": null, - "ymin": null + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "STFPrometheus", + "description": "Shows average time spent for each activity across all cores", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 25 }, - "tableColumn": "", + "hiddenSeries": false, + "id": 15, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, "targets": [ { - "expr": "sum(collectd_hugepages_vmpage_number{type_instance=\"used\",host=\"$hosts\"})", + "expr": "sum(collectd_cpu_percent{type_instance!=\"idle\", host=\"$hosts\"}) by (type_instance) / count(collectd_cpu_percent{host=\"$hosts\"}) by (type_instance)", "format": "time_series", + "hide": false, "intervalFactor": 1, - "legendFormat": "{{hugepages}}", + "legendFormat": "{{type_instance}}", "refId": "A" } ], - "thresholds": "", + "thresholds": [], "timeFrom": null, + "timeRegions": [], "timeShift": null, - "title": "Huge Pages Used", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ + "title": "Aggr. Usage by Type", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ { - "op": "=", - "text": "N/A", - "value": "null" + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true } ], - "valueName": "avg" + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 33 + }, + "id": 25, + "panels": [], + "title": "Memory", + "type": "row" }, { "aliasColors": {}, @@ -2311,9 +1440,9 @@ spec: "fillGradient": 0, "gridPos": { "h": 5, - "w": 24, + "w": 12, "x": 0, - "y": 86 + "y": 34 }, "hiddenSeries": false, "id": 27, @@ -2323,8 +1452,8 @@ spec: "current": true, "max": true, "min": true, - "rightSide": true, - "show": true, + "rightSide": false, + "show": false, "total": false, "values": true }, @@ -2376,7 +1505,7 @@ spec: "label": null, "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { @@ -2394,43 +1523,119 @@ spec: } }, { - "collapsed": false, - "datasource": null, + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "STFPrometheus", + "fill": 1, + "fillGradient": 0, "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 91 + "h": 5, + "w": 9, + "x": 12, + "y": 34 }, - "id": 11, - "panels": [], - "title": "Disk/File System", - "type": "row" + "hiddenSeries": false, + "id": 23, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "6.5.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(collectd_hugepages_vmpage_number{type_instance=\"used\",host=\"$hosts\"})", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{hugepages}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Huge Pages", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } }, { "cacheTimeout": null, "datasource": "STFPrometheus", - "description": "", "gridPos": { - "h": 6, + "h": 5, "w": 3, - "x": 0, - "y": 92 + "x": 21, + "y": 34 }, - "id": 50, + "id": 71, "links": [], "options": { "fieldOptions": { "calcs": [ - "lastNotNull" + "last" ], "defaults": { - "decimals": 1, "mappings": [ { "id": 0, "op": "=", - "text": "N/A", + "text": "0.0%", "type": 1, "value": "null" } @@ -2440,16 +1645,12 @@ spec: "nullValueMode": "connected", "thresholds": [ { - "color": "#299c46", + "color": "green", "value": null }, { - "color": "rgba(237, 129, 40, 0.89)", - "value": 0.9 - }, - { - "color": "#d44a3a", - "value": 0.95 + "color": "red", + "value": 0.8 } ], "unit": "percentunit" @@ -2464,61 +1665,63 @@ spec: "pluginVersion": "6.5.1", "targets": [ { - "expr": "sum(collectd_df_df_complex{plugin_instance!~\"devtmpfs|overlay|shm|tmpfs\",type_instance!=\"free\",host=\"$hosts\"})/sum(collectd_df_df_complex{plugin_instance!~\"devtmpfs|overlay|shm|tmpfs\",host=\"$hosts\"})", + "expr": "sum(collectd_hugepages_vmpage_number{type_instance=\"used\",host=\"$hosts\"}) / sum(collectd_hugepages_vmpage_number{host=\"$hosts\"})", "format": "time_series", "intervalFactor": 1, - "legendFormat": "", + "legendFormat": "{{hugepages}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, - "title": "Disk Space Usage", + "title": "Huge Pages (%)", "type": "gauge" }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 39 + }, + "id": 11, + "panels": [], + "title": "File System", + "type": "row" + }, { "cacheTimeout": null, "datasource": "STFPrometheus", "description": "", "gridPos": { - "h": 6, - "w": 3, - "x": 3, - "y": 92 + "h": 8, + "w": 6, + "x": 0, + "y": 40 }, "id": 51, "links": [], "options": { + "displayMode": "gradient", "fieldOptions": { "calcs": [ - "lastNotNull" + "last" ], "defaults": { - "decimals": 1, - "mappings": [ - { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" - } - ], + "decimals": 2, + "mappings": [], "max": 1, "min": 0, - "nullValueMode": "connected", "thresholds": [ { - "color": "#299c46", + "color": "green", "value": null }, { - "color": "rgba(237, 129, 40, 0.89)", - "value": 0.9 - }, - { - "color": "#d44a3a", - "value": 0.95 + "color": "red", + "value": 80 } ], "unit": "percentunit" @@ -2526,24 +1729,22 @@ spec: "override": {}, "values": false }, - "orientation": "horizontal", - "showThresholdLabels": false, - "showThresholdMarkers": true + "orientation": "horizontal" }, "pluginVersion": "6.5.1", "targets": [ { - "expr": "sum(collectd_df_df_inodes{type_instance=\"used\", host=\"$hosts\"}) / sum(collectd_df_df_inodes{host=\"$hosts\"})", + "expr": "sum by (plugin_instance) (collectd_df_df_inodes{type_instance=\"used\", host=\"$hosts\"}) / sum by (plugin_instance) (collectd_df_df_inodes{host=\"$hosts\"})", "format": "time_series", "intervalFactor": 1, - "legendFormat": "", + "legendFormat": "{{plugin_instance}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Inode Usage", - "type": "gauge" + "type": "bargauge" }, { "aliasColors": {}, @@ -2554,10 +1755,10 @@ spec: "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 98 + "h": 8, + "w": 18, + "x": 6, + "y": 40 }, "hiddenSeries": false, "id": 9, @@ -2567,7 +1768,7 @@ spec: "current": true, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -2589,10 +1790,10 @@ spec: "steppedLine": false, "targets": [ { - "expr": "sum by (type_instance) (collectd_df_df_complex{plugin_instance!~\"devtmpfs|overlay|shm|tmpfs\",type_instance!~\"free\",host=\"$hosts\"})", + "expr": "sum by (plugin_instance) (collectd_df_df_complex{type_instance!~\"free\",host=\"$hosts\"})", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{type_instance}}", + "legendFormat": "{{plugin_instance}}", "refId": "A" } ], @@ -2600,7 +1801,7 @@ spec: "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Aggregate Disk Space Usage", + "title": "File System Usage", "tooltip": { "shared": true, "sort": 0, @@ -2637,6 +1838,20 @@ spec: "alignLevel": null } }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 48 + }, + "id": 70, + "panels": [], + "title": "Disk", + "type": "row" + }, { "aliasColors": {}, "bars": false, @@ -2648,10 +1863,10 @@ spec: "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, + "h": 6, + "w": 12, "x": 0, - "y": 103 + "y": 49 }, "hiddenSeries": false, "id": 13, @@ -2662,7 +1877,7 @@ spec: "hideZero": false, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -2702,7 +1917,7 @@ spec: "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Disk Traffic", + "title": "Traffic", "tooltip": { "shared": true, "sort": 0, @@ -2723,7 +1938,7 @@ spec: "label": "", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { @@ -2751,10 +1966,10 @@ spec: "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 108 + "h": 6, + "w": 12, + "x": 12, + "y": 49 }, "hiddenSeries": false, "id": 4, @@ -2764,7 +1979,7 @@ spec: "current": true, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -2803,7 +2018,7 @@ spec: "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Disk Load", + "title": "Load", "tooltip": { "shared": true, "sort": 0, @@ -2824,7 +2039,7 @@ spec: "label": "", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { @@ -2852,10 +2067,10 @@ spec: "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, + "h": 6, + "w": 12, "x": 0, - "y": 113 + "y": 55 }, "hiddenSeries": false, "id": 17, @@ -2865,7 +2080,7 @@ spec: "current": true, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -2927,7 +2142,7 @@ spec: "label": "", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { @@ -2954,10 +2169,10 @@ spec: "fill": 1, "fillGradient": 0, "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 118 + "h": 6, + "w": 12, + "x": 12, + "y": 55 }, "hiddenSeries": false, "id": 16, @@ -2967,7 +2182,7 @@ spec: "current": true, "max": true, "min": true, - "rightSide": true, + "rightSide": false, "show": true, "total": false, "values": true @@ -3009,7 +2224,7 @@ spec: "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Average I/O Operation Time", + "title": "Avg. I/O Operation Time", "tooltip": { "shared": true, "sort": 0, @@ -3029,7 +2244,7 @@ spec: "label": "", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { @@ -3047,7 +2262,7 @@ spec: } } ], - "refresh": "10s", + "refresh": "1m", "schemaVersion": 21, "style": "dark", "tags": [], @@ -3055,11 +2270,6 @@ spec: "list": [ { "allValue": null, - "current": { - "selected": false, - "text": "controller-0.redhat.local", - "value": "controller-0.redhat.local" - }, "datasource": "STFPrometheus", "definition": "label_values(host)", "hide": 0, @@ -3082,7 +2292,7 @@ spec: ] }, "time": { - "from": "now-5m", + "from": "now-12h", "to": "now" }, "timepicker": { @@ -3113,5 +2323,5 @@ spec: "timezone": "", "title": "Infrastructure Node View", "uid": "1F1OJZEWz", - "version": 12 + "version": 28 } diff --git a/ansible/configs/osp-stf/files/servicetelemetryobject.yaml b/ansible/configs/osp-stf/files/servicetelemetryobject.yaml index d57f1fd2b56..4f5fec4e4e0 100644 --- a/ansible/configs/osp-stf/files/servicetelemetryobject.yaml +++ b/ansible/configs/osp-stf/files/servicetelemetryobject.yaml @@ -4,5 +4,10 @@ metadata: name: stf-default namespace: service-telemetry spec: - metricsEnabled: true - eventsEnabled: true \ No newline at end of file + backends: + metrics: + prometheus: + enabled: true + events: + elasticsearch: + enabled: true \ No newline at end of file diff --git a/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml b/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml new file mode 100644 index 00000000000..f3e343a477d --- /dev/null +++ b/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml @@ -0,0 +1,15 @@ +apiVersion: infra.watch/v1alpha1 +kind: ServiceTelemetry +metadata: + name: stf-default + namespace: service-telemetry +spec: + backends: + metrics: + prometheus: + enabled: true + events: + elasticsearch: + enabled: true + graphing: + enabled: true \ No newline at end of file diff --git a/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml b/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml index 957a2e10cff..7778c03a3f3 100644 --- a/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml +++ b/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml @@ -1,11 +1,11 @@ apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: - name: servicetelemetry-operator + name: service-telemetry-operator namespace: service-telemetry spec: channel: stable installPlanApproval: Automatic - name: servicetelemetry-operator + name: service-telemetry-operator source: redhat-operators-stf sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/ansible/configs/osp-stf/software.yml b/ansible/configs/osp-stf/software.yml index b5b5cfb848a..8d011d651b5 100644 --- a/ansible/configs/osp-stf/software.yml +++ b/ansible/configs/osp-stf/software.yml @@ -91,6 +91,11 @@ - "result.resources | length > 0" - name: Create catalog source to provide access to the resources on the OperatorHub.io Community Catalog Source + k8s: + state: present + definition: "{{ lookup('file', 'operatorhubiocatalogsource.yaml') }}" + + - name: Create catalog source to provide access to the resources Service Telemetry Operator and the Smart Gateway Operator k8s: state: present definition: "{{ lookup('file', 'catalogsource.yaml') }}" @@ -183,7 +188,7 @@ k8s_info: api_version: operators.coreos.com/v1alpha1 kind: Subscription - name: servicetelemetry-operator + name: service-telemetry-operator namespace: service-telemetry register: r_subscription_service_telemetry retries: 50 @@ -278,35 +283,38 @@ name: "{{ r_subscription_grafana.resources[0].status.currentCSV }}" namespace: service-telemetry register: r_csv_grafana - retries: 50 - delay: 20 + retries: 100 + delay: 30 until: - r_csv_grafana.resources[0].status.phase is defined - r_csv_grafana.resources[0].status.phase | length > 0 - r_csv_grafana.resources[0].status.phase == "Succeeded" - - name: Creating a grafana object in OCP + - name: Enable grafana in the ServiceTelemetry object in OCP k8s: state: present - definition: "{{ lookup('file', 'grafanaobject.yaml') }}" - - - name: Create Grafana Datasource - k8s: - state: present - definition: "{{ lookup('file', 'datasource.yaml') }}" + definition: "{{ lookup('file', 'servicetelemetryobjectwithgrafana.yaml') }}" - name: Create RHOS Dashboard k8s: state: present definition: "{{ lookup('file', 'rhos-dashboard.yaml') }}" - - name: get route by querying the OpenShift API + - name: Create Grafaha Dashboard route + k8s: + state: present + definition: "{{ lookup('file', 'dashboardroute.yaml') }}" + + - name: Get grafana route k8s_info: api_version: route.openshift.io/v1 kind: Route - name: "grafana-route" + name: dashboards namespace: service-telemetry register: r_grafana_route + retries: 50 + delay: 5 + until: r_grafana_route.resources[0].spec.host != '' - name: Register crc host with ip add_host: From f3d9eba19f2d138a0a1b9d48c86ab2c2b751e5c2 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Mon, 8 Feb 2021 15:26:18 +0100 Subject: [PATCH 2/9] Disabling ICMP checks --- ansible/configs/osp-stf/templates/standalone_parameters.yaml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ansible/configs/osp-stf/templates/standalone_parameters.yaml.j2 b/ansible/configs/osp-stf/templates/standalone_parameters.yaml.j2 index 011f763613d..5c0ffd018f2 100644 --- a/ansible/configs/osp-stf/templates/standalone_parameters.yaml.j2 +++ b/ansible/configs/osp-stf/templates/standalone_parameters.yaml.j2 @@ -20,4 +20,6 @@ parameter_defaults: StandaloneExtraConfig: NovaComputeLibvirtType: qemu ControlPlaneStaticRoutes: [{'ip_netmask':'0.0.0.0/0', 'next_hop':'{{ ansible_default_ipv4.gateway }}', 'default':true}] + ValidateGatewaysIcmp: false + ValidateControllersIcmp: false From 4f724e4464a4353a46959cce6aae4662d03de0a6 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Thu, 11 Feb 2021 21:17:54 +0100 Subject: [PATCH 3/9] Fixing the name of the grafana route --- ansible/configs/osp-stf/files/dashboardroute.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/configs/osp-stf/files/dashboardroute.yaml b/ansible/configs/osp-stf/files/dashboardroute.yaml index 4697aa49acc..3c3371d3a27 100644 --- a/ansible/configs/osp-stf/files/dashboardroute.yaml +++ b/ansible/configs/osp-stf/files/dashboardroute.yaml @@ -1,7 +1,7 @@ apiVersion: route.openshift.io/v1 kind: Route metadata: - name: dashboards + name: grafana-route namespace: service-telemetry spec: port: From af64b695b0bd695f6d505441171cda2ae25e2991 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Fri, 12 Feb 2021 10:39:30 +0100 Subject: [PATCH 4/9] Modiying the grafana-route name in software.yml --- ansible/configs/osp-stf/software.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/configs/osp-stf/software.yml b/ansible/configs/osp-stf/software.yml index 8d011d651b5..d157dd8fc87 100644 --- a/ansible/configs/osp-stf/software.yml +++ b/ansible/configs/osp-stf/software.yml @@ -309,7 +309,7 @@ k8s_info: api_version: route.openshift.io/v1 kind: Route - name: dashboards + name: grafana-route namespace: service-telemetry register: r_grafana_route retries: 50 From 88b7ea365a9ed9675a967323863623a0011151da Mon Sep 17 00:00:00 2001 From: pnavarro Date: Fri, 12 Feb 2021 15:29:54 +0100 Subject: [PATCH 5/9] Opening the port 3000 ss the Grafana in STF1.1 route is using it Deleting the old grafana object from STF 1.0 --- ansible/configs/osp-stf/default_vars.yml | 7 ++++++ .../configs/osp-stf/files/grafanaobject.yaml | 25 ------------------- ansible/configs/osp-stf/post_software.yml | 7 +++--- 3 files changed, 10 insertions(+), 29 deletions(-) delete mode 100644 ansible/configs/osp-stf/files/grafanaobject.yaml diff --git a/ansible/configs/osp-stf/default_vars.yml b/ansible/configs/osp-stf/default_vars.yml index d5eea072eba..b00fcd565a4 100644 --- a/ansible/configs/osp-stf/default_vars.yml +++ b/ansible/configs/osp-stf/default_vars.yml @@ -146,6 +146,13 @@ security_groups: to_port: 6443 cidr: "0.0.0.0/0" rule_type: Ingress + - name: 3000CRCSG + protocol: tcp + description: "HTTP Public" + from_port: 3000 + to_port: 3000 + cidr: "0.0.0.0/0" + rule_type: Ingress - name: OSPSG rules: - name: SSHOSPG diff --git a/ansible/configs/osp-stf/files/grafanaobject.yaml b/ansible/configs/osp-stf/files/grafanaobject.yaml deleted file mode 100644 index ddc7a4c756a..00000000000 --- a/ansible/configs/osp-stf/files/grafanaobject.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: integreatly.org/v1alpha1 -kind: Grafana -metadata: - name: service-telemetry-grafana2 - namespace: service-telemetry -spec: - ingress: - enabled: true - config: - auth: - disable_signout_menu: true - auth.anonymous: - enabled: true - log: - level: warn - mode: console - security: - admin_password: secret - admin_user: root - dashboardLabelSelector: - - matchExpressions: - - key: app - operator: In - values: - - grafana diff --git a/ansible/configs/osp-stf/post_software.yml b/ansible/configs/osp-stf/post_software.yml index 79185a83b97..160355f2874 100644 --- a/ansible/configs/osp-stf/post_software.yml +++ b/ansible/configs/osp-stf/post_software.yml @@ -159,8 +159,6 @@ - "You can also access (with the same credentials) to your Code Ready Containers + Service Telemetry Framework workload via SSH:" - "ssh {{ student_name }}@stfcrc.{{ guid }}.{{ osp_cluster_dns_zone }}" - "" - - "Your base domain is '{{ student_dns_zone | default(osp_cluster_dns_zone) }}'" - - "" - "" - "OSP Console access: http://ospallinone.{{ guid }}.{{ osp_cluster_dns_zone }}" - "" @@ -169,7 +167,8 @@ - "" - "To access to the CRC OCP Console add this line to your /etc/hosts: " - "{{ crc_public_ip }} console-openshift-console.apps-crc.testing api.crc.testing oauth-openshift.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing grafana-route-service-telemetry.apps-crc.testing" - - "Or access through the bastion using: " + - "" + - "Or access through the bastion using the username '{{ student_name }}' and the password '{{ hostvars['bastionstf']['student_password'] }}' when prompted.: " - "" - "sshuttle -H -r {{ student_name }}@bastionstf.{{ guid }}.{{ osp_cluster_dns_zone }} {{ networks[0].subnet_cidr }}" - "" @@ -178,7 +177,7 @@ - "Credentials :" - "{{ hostvars['crc_with_stf_installed']['crc_console_credentials_stdout'] }}" - "" - - "Grafana access: https://grafana-route-service-telemetry.apps-crc.testing/login" + - "Grafana access: https://grafana-route-service-telemetry.apps-crc.testing:3000/login" - "" - "Credentials :" - "user: root / password: secret " From 8482a89e2c96b01929597aed83c3924c501e5269 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Fri, 12 Feb 2021 20:14:12 +0100 Subject: [PATCH 6/9] Reverting the previous commit. Fixing identation in the spec of the STF object so graphana is enabled --- ansible/configs/osp-stf/default_vars.yml | 7 ------- .../osp-stf/files/servicetelemetryobjectwithgrafana.yaml | 6 +++--- ansible/configs/osp-stf/post_software.yml | 4 ++-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/ansible/configs/osp-stf/default_vars.yml b/ansible/configs/osp-stf/default_vars.yml index b00fcd565a4..d5eea072eba 100644 --- a/ansible/configs/osp-stf/default_vars.yml +++ b/ansible/configs/osp-stf/default_vars.yml @@ -146,13 +146,6 @@ security_groups: to_port: 6443 cidr: "0.0.0.0/0" rule_type: Ingress - - name: 3000CRCSG - protocol: tcp - description: "HTTP Public" - from_port: 3000 - to_port: 3000 - cidr: "0.0.0.0/0" - rule_type: Ingress - name: OSPSG rules: - name: SSHOSPG diff --git a/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml b/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml index f3e343a477d..dafc76db418 100644 --- a/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml +++ b/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml @@ -4,12 +4,12 @@ metadata: name: stf-default namespace: service-telemetry spec: + graphing: + enabled: true backends: metrics: prometheus: enabled: true events: elasticsearch: - enabled: true - graphing: - enabled: true \ No newline at end of file + enabled: true \ No newline at end of file diff --git a/ansible/configs/osp-stf/post_software.yml b/ansible/configs/osp-stf/post_software.yml index 160355f2874..e35567091a6 100644 --- a/ansible/configs/osp-stf/post_software.yml +++ b/ansible/configs/osp-stf/post_software.yml @@ -3,7 +3,7 @@ hosts: osps become: true roles: - - {role: "bastion-student-user"} + - role: bastion-student-user tags: - osp-student-user-access @@ -177,7 +177,7 @@ - "Credentials :" - "{{ hostvars['crc_with_stf_installed']['crc_console_credentials_stdout'] }}" - "" - - "Grafana access: https://grafana-route-service-telemetry.apps-crc.testing:3000/login" + - "Grafana access: https://grafana-route-service-telemetry.apps-crc.testing/login" - "" - "Credentials :" - "user: root / password: secret " From 0274553f2a786224b7059bb5c096b08a43222b39 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Fri, 12 Feb 2021 22:46:49 +0100 Subject: [PATCH 7/9] Renaming Grafana route to dashboards to stick to the documentation. --- ansible/configs/osp-stf/files/dashboardroute.yaml | 2 +- ansible/configs/osp-stf/post_software.yml | 4 ++-- ansible/configs/osp-stf/software.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible/configs/osp-stf/files/dashboardroute.yaml b/ansible/configs/osp-stf/files/dashboardroute.yaml index 3c3371d3a27..4697aa49acc 100644 --- a/ansible/configs/osp-stf/files/dashboardroute.yaml +++ b/ansible/configs/osp-stf/files/dashboardroute.yaml @@ -1,7 +1,7 @@ apiVersion: route.openshift.io/v1 kind: Route metadata: - name: grafana-route + name: dashboards namespace: service-telemetry spec: port: diff --git a/ansible/configs/osp-stf/post_software.yml b/ansible/configs/osp-stf/post_software.yml index e35567091a6..07c8d7b0af6 100644 --- a/ansible/configs/osp-stf/post_software.yml +++ b/ansible/configs/osp-stf/post_software.yml @@ -166,7 +166,7 @@ - "{{ hostvars['osp_with_variables']['credentials'] }}" - "" - "To access to the CRC OCP Console add this line to your /etc/hosts: " - - "{{ crc_public_ip }} console-openshift-console.apps-crc.testing api.crc.testing oauth-openshift.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing grafana-route-service-telemetry.apps-crc.testing" + - "{{ crc_public_ip }} console-openshift-console.apps-crc.testing api.crc.testing oauth-openshift.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing dashboards-service-telemetry.apps-crc.testing" - "" - "Or access through the bastion using the username '{{ student_name }}' and the password '{{ hostvars['bastionstf']['student_password'] }}' when prompted.: " - "" @@ -177,7 +177,7 @@ - "Credentials :" - "{{ hostvars['crc_with_stf_installed']['crc_console_credentials_stdout'] }}" - "" - - "Grafana access: https://grafana-route-service-telemetry.apps-crc.testing/login" + - "Grafana access: https://dashboards-service-telemetry.apps-crc.testing/login" - "" - "Credentials :" - "user: root / password: secret " diff --git a/ansible/configs/osp-stf/software.yml b/ansible/configs/osp-stf/software.yml index d157dd8fc87..aa6d36f005a 100644 --- a/ansible/configs/osp-stf/software.yml +++ b/ansible/configs/osp-stf/software.yml @@ -309,7 +309,7 @@ k8s_info: api_version: route.openshift.io/v1 kind: Route - name: grafana-route + name: dashboards namespace: service-telemetry register: r_grafana_route retries: 50 @@ -340,7 +340,7 @@ - setup-bastion tasks: - name: Add AMQ Interconnect IP to /etc/hosts - lineinfile: dest=/etc/hosts backup=yes insertbefore=EOF line="{{ hostvars['crc_with_stf_installed']['crc_ip'] }} console-openshift-console.apps-crc.testing api.crc.testing oauth-openshift.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing grafana-route-service-telemetry.apps-crc.testing" + lineinfile: dest=/etc/hosts backup=yes insertbefore=EOF line="{{ hostvars['crc_with_stf_installed']['crc_ip'] }} console-openshift-console.apps-crc.testing api.crc.testing oauth-openshift.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing dashboards-service-telemetry.apps-crc.testing" become: yes # Install OSP all in one From e5230972aebbca0cc07d6505c8df008d7f3ef2e4 Mon Sep 17 00:00:00 2001 From: pnavarro Date: Sat, 13 Feb 2021 17:10:13 +0100 Subject: [PATCH 8/9] Improving the user information to consume the demo --- ansible/configs/osp-stf/post_software.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ansible/configs/osp-stf/post_software.yml b/ansible/configs/osp-stf/post_software.yml index 07c8d7b0af6..97fe9a9ba90 100644 --- a/ansible/configs/osp-stf/post_software.yml +++ b/ansible/configs/osp-stf/post_software.yml @@ -148,15 +148,16 @@ agnosticd_user_info: msg: "{{ item }}" loop: + - "SSH ACCESS" - "You can access your bastion via SSH:" - "ssh {{ student_name }}@bastionstf.{{ guid }}.{{ osp_cluster_dns_zone }}" - "" - "Make sure you use the username '{{ student_name }}' and the password '{{ hostvars['bastionstf']['student_password'] }}' when prompted." - "" - - "You can also access (with the same credentials) to your OSP standalone via SSH:" + - "You can access to your OSP standalone via SSH using the username '{{ student_name }}' and the password '{{ hostvars['ospallinone']['student_password'] }}':" - "ssh {{ student_name }}@ospallinone.{{ guid }}.{{ osp_cluster_dns_zone }}" - "" - - "You can also access (with the same credentials) to your Code Ready Containers + Service Telemetry Framework workload via SSH:" + - "You can access to your Code Ready Containers + Service Telemetry Framework workload via SSH using the username '{{ student_name }}' and the password '{{ hostvars['stfcrc']['student_password'] }}':" - "ssh {{ student_name }}@stfcrc.{{ guid }}.{{ osp_cluster_dns_zone }}" - "" - "" @@ -172,12 +173,13 @@ - "" - "sshuttle -H -r {{ student_name }}@bastionstf.{{ guid }}.{{ osp_cluster_dns_zone }} {{ networks[0].subnet_cidr }}" - "" - - "OCP Console acces: https://console-openshift-console.apps-crc.testing" + - "OpenShift Console acces: https://console-openshift-console.apps-crc.testing" - "" - "Credentials :" - "{{ hostvars['crc_with_stf_installed']['crc_console_credentials_stdout'] }}" - "" - - "Grafana access: https://dashboards-service-telemetry.apps-crc.testing/login" + - "Acces to the Grafana dashboard demo" + - "Grafana Dashboard access: https://dashboards-service-telemetry.apps-crc.testing/login" - "" - "Credentials :" - "user: root / password: secret " From bd9deffe44577349f798df51190d6e97e8ae9b1c Mon Sep 17 00:00:00 2001 From: pnavarro Date: Mon, 15 Feb 2021 18:26:42 +0100 Subject: [PATCH 9/9] Fixing some yamllint erros --- ansible/configs/osp-stf/files/amqsubscription.yaml | 2 +- ansible/configs/osp-stf/files/catalogsource.yaml | 2 +- ansible/configs/osp-stf/files/dashboardroute.yaml | 2 +- .../configs/osp-stf/files/elasticcloudsubscription.yaml | 2 +- .../configs/osp-stf/files/operatorhubiocatalogsource.yaml | 2 +- ansible/configs/osp-stf/files/servicetelemetryobject.yaml | 2 +- .../osp-stf/files/servicetelemetryobjectwithgrafana.yaml | 2 +- .../osp-stf/files/servicetelemetrysubscription.yaml | 2 +- .../files/standalone-tripleo-additional-services.yaml | 2 +- ansible/configs/osp-stf/post_software.yml | 7 +++---- 10 files changed, 12 insertions(+), 13 deletions(-) diff --git a/ansible/configs/osp-stf/files/amqsubscription.yaml b/ansible/configs/osp-stf/files/amqsubscription.yaml index 57b542f3ccd..caa011998e1 100644 --- a/ansible/configs/osp-stf/files/amqsubscription.yaml +++ b/ansible/configs/osp-stf/files/amqsubscription.yaml @@ -8,4 +8,4 @@ spec: installPlanApproval: Automatic name: amq7-cert-manager source: redhat-operators - sourceNamespace: openshift-marketplace \ No newline at end of file + sourceNamespace: openshift-marketplace diff --git a/ansible/configs/osp-stf/files/catalogsource.yaml b/ansible/configs/osp-stf/files/catalogsource.yaml index f8aa1af4bae..1a031ef6d6d 100644 --- a/ansible/configs/osp-stf/files/catalogsource.yaml +++ b/ansible/configs/osp-stf/files/catalogsource.yaml @@ -10,4 +10,4 @@ spec: sourceType: grpc updateStrategy: registryPoll: - interval: 30m \ No newline at end of file + interval: 30m diff --git a/ansible/configs/osp-stf/files/dashboardroute.yaml b/ansible/configs/osp-stf/files/dashboardroute.yaml index 4697aa49acc..d46b1c3b2bc 100644 --- a/ansible/configs/osp-stf/files/dashboardroute.yaml +++ b/ansible/configs/osp-stf/files/dashboardroute.yaml @@ -13,4 +13,4 @@ spec: kind: Service name: grafana-service weight: 100 - wildcardPolicy: None \ No newline at end of file + wildcardPolicy: None diff --git a/ansible/configs/osp-stf/files/elasticcloudsubscription.yaml b/ansible/configs/osp-stf/files/elasticcloudsubscription.yaml index ad8b4dd4039..b546d2ffe0a 100644 --- a/ansible/configs/osp-stf/files/elasticcloudsubscription.yaml +++ b/ansible/configs/osp-stf/files/elasticcloudsubscription.yaml @@ -8,4 +8,4 @@ spec: installPlanApproval: Automatic name: elastic-cloud-eck source: operatorhubio-operators - sourceNamespace: openshift-marketplace \ No newline at end of file + sourceNamespace: openshift-marketplace diff --git a/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml b/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml index b142c804e92..32593e8783a 100644 --- a/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml +++ b/ansible/configs/osp-stf/files/operatorhubiocatalogsource.yaml @@ -7,4 +7,4 @@ spec: sourceType: grpc image: quay.io/operator-framework/upstream-community-operators:latest displayName: OperatorHub.io Operators - publisher: OperatorHub.io \ No newline at end of file + publisher: OperatorHub.io diff --git a/ansible/configs/osp-stf/files/servicetelemetryobject.yaml b/ansible/configs/osp-stf/files/servicetelemetryobject.yaml index 4f5fec4e4e0..0e9a58c5009 100644 --- a/ansible/configs/osp-stf/files/servicetelemetryobject.yaml +++ b/ansible/configs/osp-stf/files/servicetelemetryobject.yaml @@ -10,4 +10,4 @@ spec: enabled: true events: elasticsearch: - enabled: true \ No newline at end of file + enabled: true diff --git a/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml b/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml index dafc76db418..4605a9b3dab 100644 --- a/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml +++ b/ansible/configs/osp-stf/files/servicetelemetryobjectwithgrafana.yaml @@ -12,4 +12,4 @@ spec: enabled: true events: elasticsearch: - enabled: true \ No newline at end of file + enabled: true diff --git a/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml b/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml index 7778c03a3f3..13a0c397b9f 100644 --- a/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml +++ b/ansible/configs/osp-stf/files/servicetelemetrysubscription.yaml @@ -8,4 +8,4 @@ spec: installPlanApproval: Automatic name: service-telemetry-operator source: redhat-operators-stf - sourceNamespace: openshift-marketplace \ No newline at end of file + sourceNamespace: openshift-marketplace diff --git a/ansible/configs/osp-stf/files/standalone-tripleo-additional-services.yaml b/ansible/configs/osp-stf/files/standalone-tripleo-additional-services.yaml index de7918eed04..a8b3c6ce64b 100644 --- a/ansible/configs/osp-stf/files/standalone-tripleo-additional-services.yaml +++ b/ansible/configs/osp-stf/files/standalone-tripleo-additional-services.yaml @@ -2,4 +2,4 @@ resource_registry: OS::TripleO::Services::HeatApi: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-container-puppet.yaml OS::TripleO::Services::HeatApiCfn: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-cfn-container-puppet.yaml OS::TripleO::Services::HeatApiCloudwatch: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-cloudwatch-disabled-puppet.yaml - OS::TripleO::Services::HeatEngine: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-engine-container-puppet.yaml \ No newline at end of file + OS::TripleO::Services::HeatEngine: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-engine-container-puppet.yaml diff --git a/ansible/configs/osp-stf/post_software.yml b/ansible/configs/osp-stf/post_software.yml index 97fe9a9ba90..b3b27805356 100644 --- a/ansible/configs/osp-stf/post_software.yml +++ b/ansible/configs/osp-stf/post_software.yml @@ -5,7 +5,7 @@ roles: - role: bastion-student-user tags: - - osp-student-user-access + - osp-student-user-access - name: Providing the OSP standlone with flavors, test image, external network and tenant network hosts: osps @@ -14,7 +14,7 @@ - openstack-demo-environment tasks: - name: "Create flavors" - os_nova_flavor: + os_nova_flavor: cloud: standalone name: "{{ item.name }}" ram: "{{ item.ram }}" @@ -35,9 +35,8 @@ disk: '0' ephemeral: '0' flavorid: '2' - - name: Get cirros images - get_url: + get_url: url: "http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img" dest: "/home/{{ ansible_user }}/"