diff --git a/etc/kayobe/kolla/config/grafana/dashboards/openstack/redfish.json b/etc/kayobe/kolla/config/grafana/dashboards/openstack/redfish.json index e4d959a14..6ba67ad27 100644 --- a/etc/kayobe/kolla/config/grafana/dashboards/openstack/redfish.json +++ b/etc/kayobe/kolla/config/grafana/dashboards/openstack/redfish.json @@ -20,11 +20,38 @@ "fiscalYearStartMonth": 0, "gnetId": 12403, "graphTooltip": 0, - "id": 30, + "id": 91, "links": [], "panels": [ + { + "collapsed": false, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 31, + "panels": [], + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "refId": "A" + } + ], + "title": "Overview", + "type": "row" + }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -51,7 +78,7 @@ "h": 3, "w": 4, "x": 0, - "y": 0 + "y": 1 }, "id": 53, "options": { @@ -78,7 +105,8 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(up{job=\"redfish-exporter\"} == 1)", + "editorMode": "code", + "expr": "count(redfish_system_power_state{group=\"$group\", job!=\"redfish-exporter-collectlog\"})", "format": "table", "hide": false, "instant": true, @@ -100,11 +128,12 @@ "refId": "B" } ], - "title": "iDRAC Up", + "title": "Redfish Up", "type": "stat" }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -131,9 +160,10 @@ "h": 3, "w": 4, "x": 4, - "y": 0 + "y": 1 }, "id": 54, + "interval": "30m", "options": { "colorMode": "value", "graphMode": "area", @@ -158,7 +188,8 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_power_state == 1)", + "editorMode": "code", + "expr": "count(redfish_system_power_state{group=\"$group\", job!=\"redfish-exporter-collectlog\"} == 1)", "format": "table", "hide": false, "instant": true, @@ -172,6 +203,7 @@ }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -198,7 +230,7 @@ "h": 3, "w": 4, "x": 8, - "y": 0 + "y": 1 }, "id": 55, "options": { @@ -225,7 +257,8 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_power_state != 1)", + "editorMode": "code", + "expr": "count(redfish_system_power_state{group=\"$group\", job!=\"redfish-exporter-collectlog\"} != 1)", "format": "table", "hide": false, "instant": true, @@ -239,6 +272,7 @@ }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -254,7 +288,7 @@ }, { "color": "red", - "value": 80 + "value": 1 } ] } @@ -265,7 +299,7 @@ "h": 3, "w": 4, "x": 12, - "y": 0 + "y": 1 }, "id": 56, "options": { @@ -292,7 +326,8 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_chassis_health != 1)", + "editorMode": "code", + "expr": "count(redfish_chassis_health{group=\"$group\", job!=\"redfish-exporter-collectlog\" } != 1)", "format": "table", "hide": false, "instant": true, @@ -306,12 +341,37 @@ }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, + "description": "", "fieldConfig": { "defaults": { - "mappings": [], + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [ + { + "options": { + "1": { + "color": "dark-green", + "index": 1, + "text": "On" + }, + "2": { + "color": "dark-red", + "index": 0, + "text": "Off" + } + }, + "type": "value" + } + ], "thresholds": { "mode": "absolute", "steps": [ @@ -320,227 +380,379 @@ "value": null }, { - "color": "red", - "value": 80 + "color": "#EAB839", + "value": 2 } ] } }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 4, - "x": 16, - "y": 0 - }, - "id": 57, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": true - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "expr": "count(redfish_logservices_entry_count{name=\"SEL Log Service\", severity!=\"OK\"} != 0)", - "format": "table", - "hide": false, - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Nodes with SEL Logs", - "type": "stat" - }, - { - "collapsed": false, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 3 - }, - "id": 31, - "panels": [], - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "refId": "A" - } - ], - "title": "Overview", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "displayName", + "value": "Time" + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false + { + "matcher": { + "id": "byName", + "options": "instance" }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" + "properties": [ + { + "id": "displayName", + "value": "BMC" + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "links", + "value": [ + { + "targetBlank": true, + "title": "", + "url": "https://${__data.fields.instance}" + } + ] + }, + { + "id": "custom.align", + "value": "left" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value" }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "properties": [ + { + "id": "displayName", + "value": "Power state" + }, + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background" + } + }, + { + "id": "custom.align" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "#73BF69", + "value": null + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "__name__" }, - "thresholdsStyle": { - "mode": "off" - } + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] }, - "links": [], - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ + { + "matcher": { + "id": "byName", + "options": "env" + }, + "properties": [ { - "color": "green", - "value": null + "id": "unit", + "value": "short" }, { - "color": "red", - "value": 80 + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" } ] }, - "unit": "watt" - }, - "overrides": [] - }, - "gridPos": { - "h": 11, - "w": 7, + { + "matcher": { + "id": "byName", + "options": "job" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "resource" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "system_id" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "server" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "links", + "value": [ + { + "targetBlank": true, + "title": "", + "url": "https://${__data.fields.instance}" + } + ] + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "hostname" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Power state" + }, + "properties": [ + { + "id": "custom.width", + "value": 197 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, "x": 0, "y": 4 }, - "id": 36, + "id": 59, "options": { - "legend": { - "calcs": [ - "mean", - "max" + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" ], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "show": false }, - "tooltip": { - "mode": "multi", - "sort": "none" - } + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Power state" + } + ] }, - "pluginVersion": "7.1.5", + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(redfish_chassis_power_average_consumed_watts)", - "legendFormat": "Rack power consumption", + "editorMode": "code", + "expr": "sort_desc(redfish_system_power_state{group=\"$group\", job!=\"redfish-exporter-collectlog\"})", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", "refId": "A" } ], - "title": "Power Consumption", - "type": "timeseries" + "title": "Power states", + "transformations": [ + { + "id": "merge", + "options": { + "reducers": [] + } + } + ], + "type": "table" }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, + "description": "", "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" + "align": "auto", + "cellOptions": { + "type": "auto" }, - "thresholdsStyle": { - "mode": "off" - } + "inspect": false }, - "links": [], - "mappings": [], + "mappings": [ + { + "options": { + "1": { + "index": 1, + "text": "Healthy" + }, + "2": { + "index": 2, + "text": "Unknown" + }, + "3": { + "index": 0, + "text": "Unhealthy" + } + }, + "type": "value" + } + ], "thresholds": { "mode": "absolute", "steps": [ @@ -553,52 +765,376 @@ "value": 80 } ] - }, - "unit": "watt" + } }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/__name__|chassis_id|Time|env|job|resource|instance/" + }, + "properties": [ + { + "id": "displayName", + "value": "Time" + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value" + }, + "properties": [ + { + "id": "displayName", + "value": "Status" + }, + { + "id": "unit", + "value": "" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background" + } + }, + { + "id": "custom.align" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(50, 172, 45, 0.97)", + "value": null + }, + { + "color": "#EAB839", + "value": 2 + }, + { + "color": "rgba(245, 54, 54, 0.9)", + "value": 3 + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "server" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "links", + "value": [ + { + "targetBlank": true, + "title": "", + "url": "https://${__data.fields.instance}" + } + ] + }, + { + "id": "custom.align" + } + ] + } + ] }, "gridPos": { - "h": 11, - "w": 6, - "x": 7, + "h": 8, + "w": 12, + "x": 12, "y": 4 }, - "id": 44, + "id": 61, + "interval": "", "options": { - "legend": { - "calcs": [ - "mean", - "lastNotNull", - "max" + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true + "show": false }, - "tooltip": { - "mode": "multi", - "sort": "none" + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Status" + } + ] + }, + "pluginVersion": "11.2.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sort(redfish_chassis_health{group=\"$group\", job!=\"redfish-exporter-collectlog\"})", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "title": "Chassis status", + "transformations": [ + { + "id": "merge", + "options": { + "reducers": [] + } } + ], + "type": "table" + }, + { + "datasource": { + "default": false, + "type": "prometheus", + "uid": "${datasource}" }, - "pluginVersion": "7.1.5", + "description": "", + "fieldConfig": { + "defaults": { + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [ + { + "options": { + "1": { + "index": 1, + "text": "Healthy" + }, + "2": { + "index": 2, + "text": "Warning" + }, + "3": { + "index": 0, + "text": "Critical" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/__name__|chassis_id|Time|env|job|resource|instance/" + }, + "properties": [ + { + "id": "displayName", + "value": "Time" + }, + { + "id": "custom.hidden", + "value": true + }, + { + "id": "custom.align" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Value" + }, + "properties": [ + { + "id": "displayName", + "value": "Status" + }, + { + "id": "unit", + "value": "" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background" + } + }, + { + "id": "custom.align" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(50, 172, 45, 0.97)", + "value": null + }, + { + "color": "#EAB839", + "value": 2 + }, + { + "color": "rgba(245, 54, 54, 0.9)", + "value": 3 + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "server" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "decimals", + "value": 2 + }, + { + "id": "links", + "value": [ + { + "targetBlank": true, + "title": "", + "url": "https://${__data.fields.instance}" + } + ] + }, + { + "id": "custom.align" + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 12 + }, + "id": 62, + "interval": "", + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Status" + } + ] + }, + "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "expr": "sum(redfish_chassis_power_average_consumed_watts) by (env)", + "editorMode": "code", + "expr": "max(last_over_time({__name__=~\"redfish_chassis_log_entry_severity_state|redfish_manager_log_entry_severity_state\", group=\"$group\"}[1h])) by (group, server, log_service_id, instance)", + "format": "table", + "hide": false, + "instant": true, "interval": "", - "legendFormat": "{{ env }}", + "legendFormat": "", "refId": "A" } ], - "title": "Power Consumption", - "type": "timeseries" + "title": "Log severity summary", + "transformations": [ + { + "id": "merge", + "options": { + "reducers": [] + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "includeByName": {}, + "indexByName": { + "Time": 0, + "Value": 4, + "group": 1, + "instance": 5, + "log_service_id": 3, + "server": 2 + }, + "renameByName": { + "Value": "Status", + "log_service_id": "Log Service", + "server": "Server" + } + } + } + ], + "type": "table" }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -655,20 +1191,21 @@ } ] }, - "unit": "short" + "unit": "watt" }, "overrides": [] }, "gridPos": { "h": 11, "w": 6, - "x": 13, - "y": 4 + "x": 12, + "y": 12 }, - "id": 42, + "id": 44, "options": { "legend": { "calcs": [ + "mean", "lastNotNull", "max" ], @@ -681,36 +1218,27 @@ "sort": "none" } }, - "pluginVersion": "7.1.5", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "expr": "count(redfish_system_power_state == 1) by (env)", - "hide": false, - "interval": "", - "legendFormat": "Powered up {{ env }}", - "refId": "A" - }, + "pluginVersion": "7.1.5", + "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_power_state == 2) by (env) * -1", - "hide": true, + "editorMode": "code", + "expr": "sum(redfish_chassis_power_average_consumed_watts{group=\"$group\", job!=\"redfish-exporter-collectlog\"}) by (env)", "interval": "", - "legendFormat": "Powered down {{ env }}", - "refId": "B" + "legendFormat": "{{ env }}", + "range": true, + "refId": "A" } ], - "title": "Powered ON by Rack", + "title": "Power consumption", "type": "timeseries" }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -773,11 +1301,11 @@ }, "gridPos": { "h": 11, - "w": 5, - "x": 19, - "y": 4 + "w": 6, + "x": 18, + "y": 12 }, - "id": 43, + "id": 42, "options": { "legend": { "calcs": [ @@ -800,10 +1328,12 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_power_state == 1) by (env)", - "hide": true, + "editorMode": "code", + "expr": "count(redfish_system_power_state{group=\"$group\", job!=\"redfish-exporter-collectlog\"} == 1) by (env)", + "hide": false, "interval": "", "legendFormat": "Powered up {{ env }}", + "range": true, "refId": "A" }, { @@ -811,14 +1341,16 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_power_state == 2) by (env)", - "hide": false, + "editorMode": "code", + "expr": "count(redfish_system_power_state{group=\"$group\", job!=\"redfish-exporter-collectlog\"} == 2) by (env) * -1", + "hide": true, "interval": "", "legendFormat": "Powered down {{ env }}", + "range": true, "refId": "B" } ], - "title": "Powered OFF by Rack", + "title": "Powered status", "type": "timeseries" }, { @@ -889,7 +1421,7 @@ "h": 11, "w": 7, "x": 0, - "y": 15 + "y": 23 }, "id": 39, "interval": "5m", @@ -917,7 +1449,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "max(redfish_chassis_temperature_celsius{sensor=~\".*Ambient.*Temp\"}) by (env)", + "expr": "max(redfish_chassis_temperature_celsius{sensor=~\".*Ambient.*Temp|.*Inlet.*\", group=\"$group\", job!=\"redfish-exporter-collectlog\"}) by (env)", "hide": false, "interval": "", "legendFormat": "max inlet {{ env }}", @@ -1038,7 +1570,7 @@ "h": 11, "w": 8, "x": 7, - "y": 15 + "y": 23 }, "id": 40, "interval": "5m", @@ -1066,7 +1598,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "max(redfish_chassis_temperature_celsius{sensor=~\".*CPU.*1.*Temp\"}) by (env)", + "expr": "max(redfish_chassis_temperature_celsius{sensor=~\".*CPU.*1.*Temp\", group=\"$group\", job!=\"redfish-exporter-collectlog\"}) by (env)", "hide": false, "interval": "", "legendFormat": "{{ env }}", @@ -1186,7 +1718,7 @@ "h": 11, "w": 9, "x": 15, - "y": 15 + "y": 23 }, "id": 41, "interval": "5m", @@ -1214,7 +1746,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "max(redfish_chassis_temperature_celsius{sensor=~\".*CPU.2.*Temp\"}) by (env)", + "expr": "max(redfish_chassis_temperature_celsius{sensor=~\"CPU2 Temp|.*CPU.2.*Temp\", group=\"$group\", job!=\"redfish-exporter-collectlog\"}) by (env)", "hide": false, "interval": "", "legendFormat": "{{ env }}", @@ -1257,9 +1789,9 @@ }, "gridPos": { "h": 10, - "w": 5, + "w": 6, "x": 0, - "y": 26 + "y": 34 }, "heatmap": {}, "hideZeroBuckets": false, @@ -1316,7 +1848,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_temperature_celsius{sensor=~\".*Ambient.*Temp\"}", + "expr": "redfish_chassis_temperature_celsius{sensor=~\".*Ambient.*Temp|.*Inlet.*\", group=\"$group\", job!=\"redfish-exporter-collectlog\"}", "hide": false, "interval": "", "intervalFactor": 1, @@ -1375,8 +1907,8 @@ "gridPos": { "h": 10, "w": 6, - "x": 5, - "y": 26 + "x": 6, + "y": 34 }, "heatmap": {}, "hideZeroBuckets": false, @@ -1435,7 +1967,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_temperature_celsius{sensor=~\".*CPU.*1.*Temp\"} != 0", + "expr": "redfish_chassis_temperature_celsius{sensor=~\".*CPU.*1.*Temp\", group=\"$group\", job!=\"redfish-exporter-collectlog\"} != 0", "hide": false, "interval": "", "intervalFactor": 1, @@ -1496,8 +2028,8 @@ "gridPos": { "h": 10, "w": 6, - "x": 11, - "y": 26 + "x": 12, + "y": 34 }, "heatmap": {}, "hideZeroBuckets": false, @@ -1556,7 +2088,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_temperature_celsius{sensor=~\".*CPU.*2.*Temp\"} != 0", + "expr": "redfish_chassis_temperature_celsius{sensor=~\".*CPU.*2.*Temp\", group=\"$group\", job!=\"redfish-exporter-collectlog\"} != 0", "hide": false, "interval": "", "intervalFactor": 1, @@ -1594,6 +2126,7 @@ }, "dataFormat": "timeseries", "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, @@ -1615,9 +2148,9 @@ }, "gridPos": { "h": 10, - "w": 5, + "w": 6, "x": 18, - "y": 26 + "y": 34 }, "heatmap": {}, "hideZeroBuckets": false, @@ -1673,11 +2206,13 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "max(redfish_chassis_fan_rpm_percentage) by (server) > 0", + "editorMode": "code", + "expr": "max(redfish_chassis_fan_rpm_percentage{group=\"$group\", job!=\"redfish-exporter-collectlog\"}) by (server) > 0", "hide": false, "interval": "", "intervalFactor": 1, "legendFormat": "", + "range": true, "refId": "A" } ], @@ -1747,8 +2282,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1764,7 +2298,7 @@ "h": 10, "w": 12, "x": 0, - "y": 36 + "y": 44 }, "id": 47, "interval": "5m", @@ -1792,7 +2326,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_temperature_celsius{sensor=~\".*Ambient.*Temp\"}", + "expr": "redfish_chassis_temperature_celsius{sensor=~\".*Ambient.*Temp\", job!=\"redfish-exporter-collectlog\"} or redfish_chassis_temperature_celsius{sensor_id=~\".*InletTemp\", job!=\"redfish-exporter-collectlog\"} or redfish_chassis_temperature_celsius{sensor=~\".*Inlet.*\", job!=\"redfish-exporter-collectlog\"}", "hide": false, "interval": "", "legendFormat": "{{ env }} {{ server }}", @@ -1854,8 +2388,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -1871,7 +2404,7 @@ "h": 10, "w": 12, "x": 12, - "y": 36 + "y": 44 }, "id": 49, "interval": "1m", @@ -1898,7 +2431,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_temperature_celsius{sensor=~\".*CPU.*1.*Temp\"} != 0", + "expr": "redfish_chassis_temperature_celsius{sensor=~\".*CPU.*1.*Temp\", group=\"$group\", job!=\"redfish-exporter-collectlog\"} != 0", "hide": false, "interval": "", "legendFormat": "{{ env }} {{ server }}", @@ -1919,7 +2452,7 @@ "h": 1, "w": 24, "x": 0, - "y": 46 + "y": 54 }, "id": 29, "panels": [], @@ -1951,8 +2484,7 @@ "mode": "percentage", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] }, @@ -1964,7 +2496,7 @@ "h": 4, "w": 8, "x": 0, - "y": 47 + "y": 55 }, "id": 19, "options": { @@ -1990,7 +2522,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_power_average_consumed_watts{server=~\"$server\", job=\"redfish-exporter\"}", + "expr": "redfish_chassis_power_average_consumed_watts{server=\"$server\", job!=\"redfish-exporter-collectlog\"}", "hide": false, "interval": "", "legendFormat": "{{power_voltage}}", @@ -2015,12 +2547,11 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", - "value": 80 + "value": 1 } ] } @@ -2031,7 +2562,7 @@ "h": 4, "w": 2, "x": 8, - "y": 47 + "y": 55 }, "id": 24, "options": { @@ -2056,7 +2587,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_storage_drive_state{server=~\"$server\"} != 1) or vector(0)", + "expr": "count(redfish_system_storage_drive_state{server=~\"$server\", job!=\"redfish-exporter-collectlog\"} != 1) or vector(0)", "format": "table", "instant": true, "interval": "", @@ -2064,7 +2595,7 @@ "refId": "A" } ], - "title": "Disk with errors", + "title": "Disks with errors", "type": "gauge" }, { @@ -2081,12 +2612,11 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", - "value": 80 + "value": 1 } ] } @@ -2097,7 +2627,7 @@ "h": 4, "w": 2, "x": 10, - "y": 47 + "y": 55 }, "id": 25, "options": { @@ -2122,7 +2652,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_system_pcie_device_health_state{server=~\"$server\"} != 1) or vector(0)", + "expr": "count(redfish_system_pcie_device_health_state{server=~\"$server\", job!=\"redfish-exporter-collectlog\"} != 1) or vector(0)", "format": "table", "instant": true, "interval": "", @@ -2148,12 +2678,11 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", - "value": 80 + "value": 1 } ] } @@ -2164,7 +2693,7 @@ "h": 4, "w": 2, "x": 12, - "y": 47 + "y": 55 }, "id": 26, "options": { @@ -2190,7 +2719,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "count(redfish_chassis_temperature_sensor_state{server=~\"$server\"} > 2) or vector(0)", + "expr": "count(redfish_chassis_temperature_sensor_state{server=~\"$server\", job!=\"redfish-exporter-collectlog\"} > 2) or vector(0)", "format": "table", "instant": true, "interval": "", @@ -2215,12 +2744,11 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", - "value": 80 + "value": 1 } ] } @@ -2231,7 +2759,7 @@ "h": 4, "w": 2, "x": 14, - "y": 47 + "y": 55 }, "id": 27, "options": { @@ -2256,7 +2784,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "count(redfish_chassis_power_powersupply_health{server=~\"$server\"} > 1) or vector(0)", + "expr": "count(redfish_chassis_power_powersupply_health{server=~\"$server\", job!=\"redfish-exporter-collectlog\"} > 1) or vector(0)", "format": "table", "instant": true, "interval": "", @@ -2281,7 +2809,7 @@ "custom": { "align": "auto", "cellOptions": { - "type": "color-text" + "type": "auto" }, "inspect": false }, @@ -2292,24 +2820,38 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", - "value": 70 + "value": 80 } ] }, "unit": "degree" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Temperature" + }, + "properties": [ + { + "id": "custom.cellOptions", + "value": { + "type": "color-background" + } + } + ] + } + ] }, "gridPos": { "h": 18, "w": 8, "x": 16, - "y": 47 + "y": 55 }, "id": 17, "options": { @@ -2322,7 +2864,13 @@ ], "show": false }, - "showHeader": true + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Temperature" + } + ] }, "pluginVersion": "11.2.0", "targets": [ @@ -2333,7 +2881,7 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum by (sensor) (sum_over_time(redfish_chassis_temperature_celsius{server=~\"oscephpor01\"}[15m])) / sum by (sensor) (count_over_time(redfish_chassis_temperature_celsius{server=~\"oscephpor01\"}[15m])) > 0", + "expr": "sum by (sensor) (sum_over_time(redfish_chassis_temperature_celsius{server=\"$server\", job!=\"redfish-exporter-collectlog\"}[15m])) / sum by (sensor) (count_over_time(redfish_chassis_temperature_celsius{server=\"$server\", job!=\"redfish-exporter-collectlog\"}[15m])) > 0", "format": "table", "instant": true, "interval": "", @@ -2363,11 +2911,15 @@ }, { "datasource": { + "default": false, "type": "prometheus", "uid": "${datasource}" }, "fieldConfig": { "defaults": { + "color": { + "mode": "thresholds" + }, "mappings": [ { "options": { @@ -2390,8 +2942,7 @@ "mode": "absolute", "steps": [ { - "color": "#d44a3a", - "value": null + "color": "#d44a3a" }, { "color": "#299c46", @@ -2411,15 +2962,15 @@ "h": 4, "w": 3, "x": 0, - "y": 51 + "y": 59 }, "id": 6, "maxDataPoints": 100, "options": { - "colorMode": "background", - "graphMode": "none", + "colorMode": "value", + "graphMode": "area", "justifyMode": "auto", - "orientation": "horizontal", + "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ @@ -2439,7 +2990,8 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "redfish_system_power_state{server=~\"$server\"}", + "editorMode": "code", + "expr": "redfish_system_power_state{server=\"$server\", job!=\"redfish-exporter-collectlog\"}", "format": "time_series", "instant": true, "interval": "", @@ -2452,31 +3004,24 @@ }, { "datasource": { - "default": false, "type": "prometheus", "uid": "${datasource}" }, + "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "thresholds" + }, "mappings": [ { "options": { "1": { "text": "OK" - } - }, - "type": "value" - }, - { - "options": { + }, "2": { "text": "WARNING" - } - }, - "type": "value" - }, - { - "options": { + }, "3": { "text": "CRITICAL" } @@ -2488,8 +3033,7 @@ "mode": "absolute", "steps": [ { - "color": "#299c46", - "value": null + "color": "#299c46" }, { "color": "#299c46", @@ -2509,25 +3053,25 @@ "h": 4, "w": 5, "x": 3, - "y": 51 + "y": 59 }, - "id": 7, + "id": 66, "maxDataPoints": 100, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", - "orientation": "horizontal", + "orientation": "vertical", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ - "lastNotNull" + "max" ], - "fields": "", + "fields": "/^Value$/", "values": false }, "showPercentChange": false, - "textMode": "auto", + "textMode": "value", "wideLayout": true }, "pluginVersion": "11.2.0", @@ -2538,11 +3082,13 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_health{server=~\"$server\", job=\"redfish-exporter\"}", - "format": "time_series", + "exemplar": false, + "expr": "redfish_chassis_health{server=~\"$server\"}", + "format": "table", "instant": true, "interval": "", - "legendFormat": "Chassis {{chassis_id}}", + "legendFormat": "{{chassis_id}}", + "range": false, "refId": "A" } ], @@ -2599,8 +3145,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "orange", @@ -2620,7 +3165,7 @@ "h": 7, "w": 8, "x": 8, - "y": 51 + "y": 59 }, "id": 45, "options": { @@ -2646,7 +3191,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "redfish_chassis_temperature_celsius{server=~\"$server\"}", + "expr": "redfish_chassis_temperature_celsius{server=~\"$server\", job!=\"redfish-exporter-collectlog\"}", "interval": "", "legendFormat": "{{sensor}}", "refId": "A" @@ -2655,6 +3200,141 @@ "title": "Temperatures", "type": "timeseries" }, + { + "datasource": { + "default": false, + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "color-background" + }, + "filterable": false, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#299c46" + }, + { + "color": "#299c46", + "value": 1 + }, + { + "color": "#d44a3a", + "value": 2 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Value" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "1": { + "color": "dark-green", + "index": 0, + "text": "OK" + }, + "2": { + "color": "dark-yellow", + "index": 1, + "text": "WARNING" + }, + "3": { + "color": "dark-red", + "index": 2, + "text": "CRITICAL" + } + }, + "type": "value" + } + ] + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 8, + "x": 0, + "y": 63 + }, + "id": 7, + "maxDataPoints": 100, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "enablePagination": true, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "11.2.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "redfish_chassis_health{server=\"$server\", job!=\"redfish-exporter-collectlog\"}", + "format": "table", + "instant": true, + "interval": "30m", + "legendFormat": "Chassis {{chassis_id}}", + "refId": "A" + } + ], + "title": "Health by Chassis", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "env": true, + "group": true, + "instance": true, + "job": true, + "resource": true, + "server": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + } + ], + "type": "table" + }, { "datasource": { "default": false, @@ -2706,8 +3386,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -2723,7 +3402,7 @@ "h": 7, "w": 8, "x": 8, - "y": 58 + "y": 66 }, "id": 13, "options": { @@ -2750,7 +3429,7 @@ "uid": "${datasource}" }, "editorMode": "code", - "expr": "redfish_chassis_power_average_consumed_watts{server=~\"$server\", job=\"redfish-exporter\"}", + "expr": "redfish_chassis_power_average_consumed_watts{server=~\"$server\", job!=\"redfish-exporter-collectlog\"}", "interval": "", "legendFormat": "{{power_voltage}}", "range": true, @@ -2761,7 +3440,7 @@ "type": "timeseries" } ], - "refresh": false, + "refresh": "", "schemaVersion": 39, "tags": [], "templating": { @@ -2788,23 +3467,89 @@ }, { "current": { - "selected": true, - "text": "oscomppor04", - "value": "oscomppor04" + "selected": false, + "text": "production", + "value": "production" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(redfish_exporter_collector_duration_seconds,env)", + "hide": 0, + "includeAll": false, + "label": "env", + "multi": false, + "name": "env", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(redfish_exporter_collector_duration_seconds,env)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "current": { + "selected": false, + "text": "compute", + "value": "compute" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(redfish_exporter_collector_duration_seconds{env=\"$env\"},group)", + "hide": 0, + "includeAll": false, + "label": "group", + "multi": false, + "name": "group", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(redfish_exporter_collector_duration_seconds{env=\"$env\"},group)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "current": { + "selected": false, + "text": "svn1-dr07-u10", + "value": "svn1-dr07-u10" }, "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "definition": "label_values(redfish_exporter_collector_duration_seconds, server)", + "definition": "label_values(redfish_exporter_collector_duration_seconds{group=\"$group\", env=\"$env\"},server)", "hide": 0, "includeAll": false, "label": "server", "multi": false, "name": "server", "options": [], - "query": "label_values(redfish_exporter_collector_duration_seconds, server)", - "refresh": 1, + "query": { + "qryType": 1, + "query": "label_values(redfish_exporter_collector_duration_seconds{group=\"$group\", env=\"$env\"},server)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 0, @@ -2816,8 +3561,8 @@ ] }, "time": { - "from": "now-15m", - "to": "now-1m" + "from": "now-30m", + "to": "now-5m" }, "timepicker": { "nowDelay": "1m", @@ -2836,8 +3581,8 @@ }, "timezone": "", "title": "Redfish exporter", - "uid": "b02mElQGX", - "version": 2, + "uid": "redfish", + "version": 3, "weekStart": "" } {% endraw %} diff --git a/etc/kayobe/kolla/config/prometheus/prometheus.rules b/etc/kayobe/kolla/config/prometheus/prometheus.rules index 20e1b303a..44d289840 100644 --- a/etc/kayobe/kolla/config/prometheus/prometheus.rules +++ b/etc/kayobe/kolla/config/prometheus/prometheus.rules @@ -7,7 +7,7 @@ groups: rules: - alert: PrometheusTargetMissing - expr: up{job!="redfish-exporter-seed"} == 0 + expr: up{job!="redfish-exporter-seed", job!="redfish-exporter-collectlog"} == 0 for: 5m labels: severity: critical diff --git a/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/60-redfish.yml b/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/60-redfish.yml index 7f929c450..ebec44edc 100644 --- a/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/60-redfish.yml +++ b/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/60-redfish.yml @@ -7,7 +7,7 @@ scrape_configs: collectlogs: ['false'] metrics_path: /redfish scrape_timeout: 300s - scrape_interval: {{ [8 * groups['redfish_exporter_targets'] | length, 300] | max }}s + scrape_interval: {{ redfish_exporter_scrape_interval }}s relabel_configs: - source_labels: [__address__] target_label: __param_target diff --git a/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/70-oscapacity.yml b/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/70-oscapacity.yml index afed8d915..7c868732d 100644 --- a/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/70-oscapacity.yml +++ b/etc/kayobe/kolla/config/prometheus/prometheus.yml.d/70-oscapacity.yml @@ -7,8 +7,10 @@ scrape_configs: static_configs: - targets: - '{{ kolla_internal_fqdn | put_address_in_context('url') }}:9090' - scrape_interval: 15m +{% endraw %} + scrape_interval: "{{ stackhpc_os_capacity_scrape_interval }}s" scrape_timeout: 10m +{% raw %} {% if kolla_enable_tls_internal | bool %} scheme: https {% endif %} diff --git a/etc/kayobe/kolla/globals.yml b/etc/kayobe/kolla/globals.yml index c36b659b5..04be96f0e 100644 --- a/etc/kayobe/kolla/globals.yml +++ b/etc/kayobe/kolla/globals.yml @@ -26,7 +26,7 @@ kolla_image_tags: # Monitoring and alerting related settings opensearch_heap_size: 8g -prometheus_cmdline_extras: "--storage.tsdb.retention.time=30d" +prometheus_cmdline_extras: "--storage.tsdb.retention.time=30d --query.lookback-delta={{ stackhpc_prometheus_query_lookback_delta }}" # Additional command line flags for node exporter to enable texfile collector for disk metrics and create textfile docker volume prometheus_node_exporter_extra_volumes: @@ -56,3 +56,5 @@ prometheus_blackbox_exporter_endpoints_kayobe: - endpoints: - "pulp:http_2xx:{{ pulp_url }}/pulp/api/v3/status/" enabled: "{{ seed_pulp_container_enabled | bool }}" + +prometheus_openstack_exporter_interval: "{{ stackhpc_prometheus_openstack_exporter_interval }}s" diff --git a/etc/kayobe/stackhpc-monitoring.yml b/etc/kayobe/stackhpc-monitoring.yml index 5eee4b19c..994320c13 100644 --- a/etc/kayobe/stackhpc-monitoring.yml +++ b/etc/kayobe/stackhpc-monitoring.yml @@ -1,5 +1,14 @@ --- # StackHPC monitoring configuration +############################################################################### +# Prometheus server configuration + +# How far prometheus will look back in time to find a metric. +stackhpc_prometheus_query_lookback_delta: >- + {{ [stackhpc_redfish_exporter_scrape_interval | int, + stackhpc_os_capacity_scrape_interval | int, + stackhpc_prometheus_openstack_exporter_interval | int, + 300] | max + 30 }}s ############################################################################### # Alert configuration @@ -45,9 +54,15 @@ stackhpc_os_capacity_openstack_cacert: "" stackhpc_os_capacity_openstack_verify: true # Redfish exporter +# How often to scrape the os capacity exporter in seconds. +stackhpc_os_capacity_scrape_interval: 900 + # Whether the redfish exporter is enabled. stackhpc_enable_redfish_exporter: false +# How often to scrape the BMCs in seconds. +stackhpc_redfish_exporter_scrape_interval: "{{ [8 * groups['redfish_exporter_targets'] | length, 300] | max }}" + # Credentials redfish_exporter_default_username: "{{ ipmi_username }}" redfish_exporter_default_password: "{{ ipmi_password }}" @@ -55,6 +70,9 @@ redfish_exporter_default_password: "{{ ipmi_password }}" # The address of the BMC that is used to query redfish metrics. redfish_exporter_target_address: "{{ ipmi_address }}" +# How often to scrape OpenStack Exporter in seconds. +stackhpc_prometheus_openstack_exporter_interval: 300 + ############################################################################### # Whether the RADOS gateway usage exporter is enabled. diff --git a/releasenotes/notes/bumps-redfish-exporter-to-v2-11032fb9dde36283.yaml b/releasenotes/notes/bumps-redfish-exporter-to-v2-11032fb9dde36283.yaml new file mode 100644 index 000000000..3372f052b --- /dev/null +++ b/releasenotes/notes/bumps-redfish-exporter-to-v2-11032fb9dde36283.yaml @@ -0,0 +1,19 @@ +--- +features: + - Upgrades the redfish exporter container image to the v2.x series. + - Adds support for lenovo hardware to the redfish exporter dashboard. + - | + Adds the ``stackhpcredfish_exporter_scrape_interval``, + ``stackhpc_os_capacity_scrape_interval``, and + ``stackhpc_prometheus_openstack_exporter_interval`` + configuration variables. +fixes: + - | + Sets the prometheus server side option ``query.lookback-delta`` to + the largest scrape interval so that metrics are not from exporters + with large scrape intervals are not marked stale before the next scrape. + - Fixes various issues with the redfish exporter dashboard. +upgrade: + - | + Increases default ``os_capacity_scrape_interval`` to ``5m``. If you already customise + this please move to the new ``stackhpc_os_capacity_scrape_interval`` variable.