diff --git a/monitoring/grafana/dashboard_ssv_operator.json b/monitoring/grafana/dashboard_ssv_operator.json index d88b4e8d9e..b66b693cfb 100644 --- a/monitoring/grafana/dashboard_ssv_operator.json +++ b/monitoring/grafana/dashboard_ssv_operator.json @@ -515,11 +515,6 @@ "color": "green", "index": 3, "text": "Ready" - }, - "4": { - "color": "green", - "index": 4, - "text": "Running" } }, "type": "value" diff --git a/monitoring/grafana/dashboard_ssv_validator.json b/monitoring/grafana/dashboard_ssv_validator.json index b482d0a69f..5eeb167bf4 100644 --- a/monitoring/grafana/dashboard_ssv_validator.json +++ b/monitoring/grafana/dashboard_ssv_validator.json @@ -90,11 +90,6 @@ "color": "green", "index": 3, "text": "Ready" - }, - "4": { - "color": "green", - "index": 4, - "text": "Running" } }, "type": "value" @@ -138,49 +133,730 @@ "targets": [ { "exemplar": true, - "expr": "ssv:validator:status{instance=~\"$instance.*\",pubKey=\"$pubkey\"}", + "expr": "ssv:validator:status{instance=~\"$instance.*\",pubKey=\"$pubkey\"}", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "title": "Status", + "type": "stat" + }, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "#EAB839", + "value": 2 + }, + { + "color": "green", + "value": 3 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 5, + "y": 0 + }, + "id": 44, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.0.4", + "targets": [ + { + "exemplar": true, + "expr": "ssv:network:connected_peers{instance=~\"$instance.*\",pubKey=\"$pubkey\"}", + "interval": "", + "legendFormat": "{{pubKey}}", + "refId": "A" + } + ], + "title": "Connected Peers", + "type": "stat" + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 72, + "panels": [], + "title": "Decided Messages", + "type": "row" + }, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "width": 130 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "color": "red", + "index": 0, + "text": "failed" + }, + "1": { + "color": "green", + "index": 1, + "text": "signed" + } + }, + "type": "value" + } + ] + }, + { + "id": "custom.displayMode", + "value": "color-text" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 4, + "x": 0, + "y": 8 + }, + "id": 74, + "options": { + "showHeader": true + }, + "pluginVersion": "8.0.4", + "targets": [ + { + "exemplar": true, + "expr": "ssv:validator:ibft_decided_signers{instance=~\"$instance.*\",pubKey=\"$pubkey\",nodeId=\"1\"}", + "format": "table", + "interval": "", + "legendFormat": "{{seq}}", + "refId": "A" + } + ], + "title": "Decided Messages (Node 1)", + "transformations": [ + { + "id": "seriesToColumns", + "options": { + "byField": "seq" + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Value #A": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "seq": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "seq" + } + ] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "instance": true, + "job": true, + "lambda": true, + "nodeId": true, + "pubKey": true + }, + "indexByName": { + "Time": 2, + "Value #A": 1, + "__name__": 3, + "instance": 4, + "job": 5, + "lambda": 6, + "nodeId": 7, + "pubKey": 8, + "seq": 0 + }, + "renameByName": { + "Value #A (lastNotNull)": "Status", + "seq": "Sequence" + } + } + } + ], + "type": "table" + }, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "width": 130 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "color": "red", + "index": 0, + "text": "failed" + }, + "1": { + "color": "green", + "index": 1, + "text": "signed" + } + }, + "type": "value" + } + ] + }, + { + "id": "custom.displayMode", + "value": "color-text" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 4, + "x": 4, + "y": 8 + }, + "id": 75, + "options": { + "showHeader": true + }, + "pluginVersion": "8.0.4", + "targets": [ + { + "exemplar": true, + "expr": "ssv:validator:ibft_decided_signers{instance=~\"$instance.*\",pubKey=\"$pubkey\",nodeId=\"2\"}", + "format": "table", + "interval": "", + "legendFormat": "{{seq}}", + "refId": "A" + } + ], + "title": "Decided Messages (Node 2)", + "transformations": [ + { + "id": "seriesToColumns", + "options": { + "byField": "seq" + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Value #A": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "seq": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "seq" + } + ] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "instance": true, + "job": true, + "lambda": true, + "nodeId": true, + "pubKey": true + }, + "indexByName": { + "Time": 2, + "Value #A": 1, + "__name__": 3, + "instance": 4, + "job": 5, + "lambda": 6, + "nodeId": 7, + "pubKey": 8, + "seq": 0 + }, + "renameByName": { + "Value #A (lastNotNull)": "Status", + "seq": "Sequence" + } + } + } + ], + "type": "table" + }, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "width": 130 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "color": "red", + "index": 0, + "text": "failed" + }, + "1": { + "color": "green", + "index": 1, + "text": "signed" + } + }, + "type": "value" + } + ] + }, + { + "id": "custom.displayMode", + "value": "color-text" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 4, + "x": 8, + "y": 8 + }, + "id": 76, + "options": { + "showHeader": true + }, + "pluginVersion": "8.0.4", + "targets": [ + { + "exemplar": true, + "expr": "ssv:validator:ibft_decided_signers{instance=~\"$instance.*\",pubKey=\"$pubkey\",nodeId=\"3\"}", + "format": "table", + "interval": "", + "legendFormat": "{{seq}}", + "refId": "A" + } + ], + "title": "Decided Messages (Node 3)", + "transformations": [ + { + "id": "seriesToColumns", + "options": { + "byField": "seq" + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Value #A": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "seq": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "seq" + } + ] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "instance": true, + "job": true, + "lambda": true, + "nodeId": true, + "pubKey": true + }, + "indexByName": { + "Time": 2, + "Value #A": 1, + "__name__": 3, + "instance": 4, + "job": 5, + "lambda": 6, + "nodeId": 7, + "pubKey": 8, + "seq": 0 + }, + "renameByName": { + "Value #A (lastNotNull)": "Status", + "seq": "Sequence" + } + } + } + ], + "type": "table" + }, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "width": 130 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "color": "red", + "index": 0, + "text": "failed" + }, + "1": { + "color": "green", + "index": 1, + "text": "signed" + } + }, + "type": "value" + } + ] + }, + { + "id": "custom.displayMode", + "value": "color-text" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 4, + "x": 12, + "y": 8 + }, + "id": 77, + "options": { + "showHeader": true + }, + "pluginVersion": "8.0.4", + "targets": [ + { + "exemplar": true, + "expr": "ssv:validator:ibft_decided_signers{instance=~\"$instance.*\",pubKey=\"$pubkey\",nodeId=\"4\"}", + "format": "table", "interval": "", - "legendFormat": "", + "legendFormat": "{{seq}}", "refId": "A" } ], - "title": "Status", - "type": "stat" - }, - { - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 7 - }, - "id": 64, - "title": "Network", - "type": "row" + "title": "Decided Messages (Node 4)", + "transformations": [ + { + "id": "seriesToColumns", + "options": { + "byField": "seq" + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Value #A": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "seq": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "seq" + } + ] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "instance": true, + "job": true, + "lambda": true, + "nodeId": true, + "pubKey": true + }, + "indexByName": { + "Time": 2, + "Value #A": 1, + "__name__": 3, + "instance": 4, + "job": 5, + "lambda": 6, + "nodeId": 7, + "pubKey": 8, + "seq": 0 + }, + "renameByName": { + "Value #A (lastNotNull)": "Status", + "seq": "Sequence" + } + } + } + ], + "type": "table" }, { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "red", + "color": "green", "value": null }, { - "color": "#EAB839", - "value": 2 - }, - { - "color": "green", - "value": 3 + "color": "red", + "value": 80 } ] } @@ -189,38 +865,46 @@ }, "gridPos": { "h": 8, - "w": 4, + "w": 12, "x": 0, - "y": 8 + "y": 16 }, - "id": 44, + "id": 60, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right" }, - "text": {}, - "textMode": "auto" + "tooltip": { + "mode": "single" + } }, - "pluginVersion": "8.0.4", "targets": [ { "exemplar": true, - "expr": "ssv:network:connected_peers{instance=~\"$instance.*\",pubKey=\"$pubkey\"}", + "expr": "ssv:network:net_messages_inbound{instance=~\"$instance.*\",pubKey=\"$pubkey\",type=\"DecidedType\"}", "interval": "", - "legendFormat": "{{pubKey}}", + "legendFormat": "Node {{signer}}", "refId": "A" } ], - "title": "Connected Peers", - "type": "stat" + "title": "Incoming Decided Messages Count", + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 64, + "panels": [], + "title": "IBFT Messages", + "type": "row" }, { "datasource": "${DS_PROMETHEUS}", @@ -248,10 +932,10 @@ "overrides": [] }, "gridPos": { - "h": 8, + "h": 10, "w": 7, - "x": 4, - "y": 8 + "x": 0, + "y": 25 }, "id": 66, "options": { @@ -269,7 +953,7 @@ "refId": "A" } ], - "title": "IBFT Messages Outbound", + "title": "Outgoing IBFT Messages", "transformations": [ { "id": "seriesToColumns", @@ -306,6 +990,18 @@ "type": "Type" } } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Sequence" + } + ] + } } ], "type": "table" @@ -339,10 +1035,10 @@ "overrides": [] }, "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 16 + "h": 10, + "w": 10, + "x": 7, + "y": 25 }, "id": 70, "options": { @@ -360,7 +1056,7 @@ "refId": "A" } ], - "title": "IBFT Messages Inbound", + "title": "Incoming IBFT Messages", "transformations": [ { "id": "seriesToColumns", @@ -399,6 +1095,18 @@ "type": "Type" } } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Sequence" + } + ] + } } ], "type": "table" @@ -457,9 +1165,9 @@ }, "gridPos": { "h": 8, - "w": 12, + "w": 8, "x": 0, - "y": 24 + "y": 35 }, "id": 62, "options": { @@ -481,98 +1189,20 @@ "refId": "A" } ], - "title": "IBFT Messages Inbound", - "type": "timeseries" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 32 - }, - "id": 60, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right" - }, - "tooltip": { - "mode": "single" - } - }, - "targets": [ - { - "exemplar": true, - "expr": "ssv:network:net_messages_inbound{instance=~\"$instance.*\",pubKey=\"$pubkey\",type=\"DecidedType\"}", - "interval": "", - "legendFormat": "Node {{signer}}", - "refId": "A" - } - ], - "title": "Decided Messages Inbound", + "title": "Incoming IBFT Messages Count", "type": "timeseries" }, { + "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 40 + "y": 43 }, "id": 56, + "panels": [], "title": "Attestations", "type": "row" }, @@ -600,7 +1230,7 @@ "h": 6, "w": 8, "x": 0, - "y": 41 + "y": 44 }, "id": 42, "options": { @@ -648,7 +1278,6 @@ }, "1": { "index": 0, - "color": "green", "text": "Running" } }, @@ -673,7 +1302,7 @@ "h": 6, "w": 6, "x": 8, - "y": 41 + "y": 44 }, "id": 50, "options": { @@ -769,7 +1398,7 @@ "h": 6, "w": 6, "x": 14, - "y": 41 + "y": 44 }, "id": 46, "options": { @@ -824,7 +1453,7 @@ "h": 6, "w": 8, "x": 0, - "y": 47 + "y": 50 }, "id": 54, "options": { @@ -879,7 +1508,7 @@ "h": 6, "w": 8, "x": 8, - "y": 47 + "y": 50 }, "id": 52, "options": { @@ -950,7 +1579,7 @@ "h": 6, "w": 4, "x": 16, - "y": 47 + "y": 50 }, "id": 48, "options": {