{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" }, { "name": "VAR_CURRENCY", "type": "constant", "label": "Currency Code", "value": "USD", "description": "" }, { "name": "VAR_PRYSM_BEACON_JOB_NAME", "type": "constant", "label": "Prysm Beacon Job Name", "value": "prysm_beacon", "description": "" }, { "name": "VAR_PRYSM_VALIDATOR_JOB_NAME", "type": "constant", "label": "Prysm Validator Job Name", "value": "prysm_validator", "description": "" }, { "name": "VAR_LIGHTHOUSE_VALIDATOR_JOB_NAME", "type": "constant", "label": "Lighthouse Validator Job Name", "value": "lighthouse_validator", "description": "" }, { "name": "VAR_LIGHTHOUSE_BEACON_JOB_NAME", "type": "constant", "label": "Lighthouse Beacon Job Name", "value": "lighthouse_beacon", "description": "" }, { "name": "VAR_CONSENSUS_EXPLORER_PATH_EPOCH", "type": "constant", "label": "Consensus Explorer Epoch Path", "value": "/epoch/", "description": "" }, { "name": "VAR_CONSENSUS_EXPLORER_PATH_SLOT", "type": "constant", "label": "Consensus Explorer Slot Path", "value": "/slot/", "description": "" }, { "name": "VAR_EXECUTION_EXPLORER_PATH_BLOCK", "type": "constant", "label": "Execution Explorer Block Path", "value": "/block/", "description": "" }, { "name": "VAR_EXECUTION_EXPLORER_PATH_ADDRESS", "type": "constant", "label": "Execution Explorer Address URL", "value": "/address/", "description": "" }, { "name": "VAR_CONSENSUS_EXPLORER_PATH_VALIDATOR", "type": "constant", "label": "Consensus Explorer Validator Path", "value": "/validator/", "description": "" } ], "__elements": {}, "__requires": [ { "type": "panel", "id": "barchart", "name": "Bar chart", "version": "" }, { "type": "panel", "id": "bargauge", "name": "Bar gauge", "version": "" }, { "type": "panel", "id": "gauge", "name": "Gauge", "version": "" }, { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "9.2.3" }, { "type": "panel", "id": "heatmap", "name": "Heatmap", "version": "" }, { "type": "panel", "id": "piechart", "name": "Pie chart", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "table", "name": "Table", "version": "" }, { "type": "panel", "id": "timeseries", "name": "Time series", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "datasource", "uid": "grafana" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "description": "", "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": null, "links": [], "liveNow": false, "panels": [ { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 903, "panels": [], "title": "Sample Dashboard ($group)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current count of consensus and execution client peers. Full support: Besu, Erigon, Geth, Lighthouse, Lodestar, Nethermind, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 0, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "orange", "value": 10 }, { "color": "yellow", "value": 20 }, { "color": "green", "value": 30 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 0, "y": 1 }, "id": 98, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (consensus_node_peer_count:connected{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peer_count{group=\"$group\",state=\"Connected\",job!=\"$prysm_validator_job_name\"})", "hide": false, "instant": true, "interval": "", "legendFormat": "{{service}}", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service) (execution_net_peerCount{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peers{group=\"$group\"})", "hide": false, "instant": true, "legendFormat": "{{service}}", "range": false, "refId": "D" } ], "title": "Peer Count", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of proposals. Each client's proposal count will reset to zero when the client restarts. Full support: Prysm, Teku, Nimbus, Lodestar. No support: Lighthouse", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "displayName", "value": "Block Production Successes" } ] }, { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "displayName", "value": "Blocks Produced" } ] } ] }, "gridPos": { "h": 3, "w": 3, "x": 3, "y": 1 }, "id": 987, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (validator_successful_proposals{group=\"$group\"})", "format": "table", "instant": true, "legendFormat": "Successful Proposals", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (validator_beacon_node_published_block{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Published Blocks", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (beacon_block_production_successes_total{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Block Production Successes", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (vc_block_produced_total{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Blocks Produced", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (beacon_blocks_sent{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Blocks Sent", "range": false, "refId": "E" } ], "title": "Proposals", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of validators expected to attest that did so during the prior epoch. Full support: Lighthouse, Prysm, Teku. No support: Lodestar, Nimbus", "fieldConfig": { "defaults": { "decimals": 2, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null }, { "color": "red", "value": 0.01 }, { "color": "orange", "value": 0.66 }, { "color": "yellow", "value": 0.8 }, { "color": "green", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 1 }, "id": 23, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,network) (beacon_prev_epoch_target_gwei{group=\"$group\",job!=\"$prysm_validator_job_name\"}/beacon_prev_epoch_active_gwei{group=\"$group\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,network) (beacon_previous_live_validators{group=\"$group\"}/beacon_previous_active_validators{group=\"$group\"}) or\r\nmax by (group,service,network) (beacon_participation_prev_epoch_target_attesting_gwei_total{group=\"$group\"}/beacon_participation_prev_epoch_active_gwei_total{group=\"$group\"})", "interval": "", "legendFormat": "{{service}} {{network}}", "range": true, "refId": "A" } ], "title": "Participation Rate", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Network liveness is a measure of how quickly blocks are being finalized on the network. 100% means that the blocks are being finalized as quickly as the protocol allows. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 1 }, "id": 945, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "clamp_min((1-(4*(\r\n((max by (service) (slotclock_present_epoch{group=\"$group\"}) or\r\nmax by (service) (beacon_current_epoch{group=\"$group\"}) or\r\nmax by (service) (beacon_epoch{group=\"$group\"}) or\r\nmax by (service) (floor(beacon_clock_slot{group=\"$group\"}/32)) or\r\nmax by (service) (floor(beacon_clock_time_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"} / 32)))\r\n- max by (service) (beacon_finalized_epoch{group=\"$group\",job!=\"$prysm_validator_job_name\"}) - 2)\r\n/100))),0)", "format": "table", "instant": false, "legendFormat": "{{service}}", "range": true, "refId": "A" } ], "title": "Network Liveness", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Processor usage on the server by mode. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMax": 1, "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 12, "y": 1 }, "id": 906, "interval": "", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:guest:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Guest", "range": true, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:nice:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Nice", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:steal:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Steal", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:irq:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "IRQ", "range": true, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:iowait:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "IOWait", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:system:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "System", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:softirq:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "SoftIRQ", "range": true, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:user:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "User", "range": true, "refId": "B" } ], "title": "CPU", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Latest base fee per gas. Full support: Besu, Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 9, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 18, "y": 1 }, "id": 188, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (execution_fee_base_fee_per_gas{group=\"$group\"})/1000000000", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Base Fee per Gas", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of the gas limit used. Full support: Besu, Erigon, Ethereum Metrics Exporter, Geth, Nethermind.", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 0, "mappings": [], "max": 1, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "super-light-yellow", "value": 0.51 }, { "color": "#EAB839", "value": 0.6 }, { "color": "orange", "value": 0.7 }, { "color": "red", "value": 0.8 }, { "color": "dark-red", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 21, "y": 1 }, "id": 190, "options": { "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(max by (network) (besu_blockchain_chain_head_gas_used{group=\"$group\"}/besu_blockchain_chain_head_gas_limit{group=\"$group\"})) or\r\n(max by (network) (execution_fee_gas_used_ratio{group=\"$group\"})) or\r\n(max by (network) (eth_exe_block_head_gas_used{group=\"$group\"}/eth_exe_block_head_gas_limit{group=\"$group\"}))", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Gas Used", "type": "gauge" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sync status of consensus and execution clients in the selected group. Full support: Prysm, Lighthouse. Partial support: Lighthouse, Lodestar, Nimbus, Teku.\nUses: Ethereum Metrics Exporter", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0, "text": "Not Synced" }, "1": { "index": 1, "text": "Synced" }, "10": { "index": 3, "text": "Not Syncing" }, "11": { "index": 2, "text": "Syncing" }, "20": { "index": 4, "text": "Stalled" }, "21": { "index": 5, "text": "Syncing Finalized" }, "22": { "index": 6, "text": "Syncing Head" }, "23": { "index": 7, "text": "Synced" } }, "type": "value" } ] }, { "id": "noValue", "value": "N/A" } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Execution Connection" }, { "id": "noValue" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0 }, "1": { "index": 1, "text": "Connected" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Sync Distance" } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "displayName", "value": "Sync %" }, { "id": "unit", "value": "percent" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "orange", "value": 90 }, { "color": "yellow", "value": 95 }, { "color": "green", "value": 100 } ] } }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color" } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 2, "text": "Not Synced" }, "1": { "index": 3, "text": "Synced" }, "10": { "index": 0, "text": "Not Syncing" }, "11": { "index": 1, "text": "Syncing" }, "20": { "index": 4, "text": "Stalled" }, "21": { "index": 5, "text": "Syncing Finalized" }, "22": { "index": 6, "text": "Syncing Head" }, "23": { "index": 7, "text": "Synced" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 4, "w": 12, "x": 0, "y": 4 }, "id": 913, "options": { "footer": { "enablePagination": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "topk by (service) (1,beacon_node_syncing_active{group=\"$group\"} + 10) or\r\non(service) bottomk by (service) (1,besu_synchronizer_in_sync{group=\"$group\"}) or\r\non(service) bottomk by (service) (1,sync_eth2_synced{group=\"$group\"}) or\r\non(service) topk by (service) (1,execution_eth_syncing{group=\"$group\"} + 10) or\r\non(service) topk by (service) (1,lodestar_sync_status{group=\"$group\"} + 20) or\r\non(service) topk by (service) (1,consensus_node_syncing{group=\"$group\"} + 10)", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "bottomk by (service) (1,powchain_sync_eth1_connected{group=\"$group\"}) or\r\nbottomk by (service) (1,sync_eth1_connected{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(max by (service) (eth_con_sync_percentage{group=\"$group\"})) or (max by (service) (eth_exe_sync_percentage{group=\"$group\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (service) (eth_con_sync_distance{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "F" } ], "title": "Sync Status", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "service" } }, { "id": "organize", "options": { "excludeByName": { "Time 2": true, "Time 3": true, "Time 4": true, "Value": false, "__name__": true, "buildDate": true, "client": true, "client 2": true, "commit": true, "ethereum_role": true, "exported_network": true, "group": true, "group 2": true, "group 3": true, "host": true, "host 2": true, "host 3": true, "html_url": false, "instance": true, "instance 2": true, "instance 3": true, "job": true, "job 2": true, "job 3": true, "json_exporter": true, "module": true, "network": true, "network 1": true, "network 2": true, "network 3": true, "node_name": true, "service": false, "tag_name": false, "version": false }, "indexByName": { "Time 1": 4, "Time 2": 5, "Time 3": 13, "Time 4": 21, "Time 5": 23, "Value #C": 1, "Value #D": 3, "Value #E": 2, "Value #F": 24, "Value #G": 22, "__name__": 14, "explorer 1": 6, "explorer 2": 15, "group 1": 7, "group 2": 16, "host 1": 8, "host 2": 17, "instance 1": 9, "instance 2": 18, "job 1": 10, "job 2": 19, "json_exporter": 11, "network 1": 12, "network 2": 20, "service": 0 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of the gas limit used over time. Full support: Besu, Erigon, Ethereum Metrics Exporter, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 0 }, { "id": "max", "value": 1.01 }, { "id": "unit", "value": "percentunit" }, { "id": "color", "value": { "fixedColor": "#fade2a24", "mode": "fixed" } }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "custom.drawStyle", "value": "bars" } ] }, { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "decimals", "value": 4 }, { "id": "custom.fillOpacity", "value": 20 } ] }, { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 0 }, { "id": "max", "value": 1.01 }, { "id": "custom.fillOpacity", "value": 0 } ] } ] }, "gridPos": { "h": 7, "w": 6, "x": 18, "y": 5 }, "id": 191, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "avg by (network) (execution_fee_base_fee_per_gas{group=\"$group\"})/1000000000", "hide": false, "legendFormat": "Base Fee per Gas", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(max by (network) (besu_blockchain_chain_head_gas_used{group=\"$group\"}/besu_blockchain_chain_head_gas_limit{group=\"$group\"})) or\r\n(max by (network) (execution_fee_gas_used_ratio{group=\"$group\"})) or\r\n(max by (network) (eth_exe_block_head_gas_used{group=\"$group\"}/eth_exe_block_head_gas_limit{group=\"$group\"}))", "hide": false, "legendFormat": "% Gas Used", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "avg by (network,service) (avg_over_time(execution_fee_gas_used_ratio{group=\"$group\"}[384s]))", "hide": false, "legendFormat": "6.4m Avg % Gas Used", "range": true, "refId": "C" } ], "title": "Base Fee/Gas Used", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Host temperature sensor values. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "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": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] }, "unit": "celsius" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 6 }, "id": 946, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "node_hwmon_temp_celsius{host=\"$host\"} * on (host,sensor,chip) group_left (label) (node_hwmon_sensor_label{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "{{label}}", "range": true, "refId": "A" } ], "title": "CPU Temperature", "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "include": [ "Core 0", "Core 1", "Core 2", "Core 3", "Package id 0" ], "reducer": "mean" }, "replaceFields": false } } ], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Count of consensus and execution client peers over time. Full support: Besu, Erigon, Geth, Lighthouse, Lodestar, Nethermind, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 8 }, "id": 5, "options": { "legend": { "calcs": [ "mean", "lastNotNull" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (consensus_node_peer_count:connected{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peer_count{group=\"$group\",state=\"Connected\",job!=\"$prysm_validator_job_name\"})", "hide": false, "interval": "", "legendFormat": "{{service}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (execution_net_peerCount{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peers{group=\"$group\"})", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "B" } ], "title": "Peers", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of active validators in the network. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 8 }, "id": 929, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (label_replace(beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}, \"state\", \"Active\", \"\", \"\"))", "legendFormat": "__auto", "range": true, "refId": "A" } ], "title": "Network Active Validators", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The mathematical expectation of time between proposals for an individual validator and across all local validators. These numbers are based on the number of validators and the number of slots/day, and do not represent a prediction or countdown between proposals. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "decimals": 1, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] }, "unit": "d" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 8 }, "id": 133, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (network) (beacon_current_active_validators{group=\"$group\"}/7200)", "format": "time_series", "instant": true, "legendFormat": "Individual Validator", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (network) (\r\n (\r\n max by (network) (beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}) /\r\n max by (network) (total_local_validators:active{group=\"$group\"}) /\r\n 7200\r\n )\r\n or\r\n (\r\n max by (network) (beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}) / \r\n count by (network) (count by (network, pubkey) (consensus_validator_balance:ETH{group=\"$group\"})) /\r\n 7200\r\n )\r\n)", "hide": false, "instant": true, "legendFormat": "All Local Validators", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(time() - (scalar(last_over_time(consensus_beacon_genesis_time{group=\"Mainnet Prysm/Geth\"}[2h])) + (max by (group,network) (validator_next_proposal_slot{group=\"Mainnet Prysm/Geth\"}) * 12))) / 86500", "hide": false, "legendFormat": "Last Proposal", "range": true, "refId": "C" } ], "title": "Expected Time Between Proposals", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current price of ETH in $currency.", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "decimals": 2, "links": [ { "targetBlank": true, "title": "CoinGecko: Ethereum (ETH)", "url": "https://www.coingecko.com/en/coins/ethereum" } ], "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 11 }, "id": 102, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "avg(ethprice{cur=\"$currency\"})", "instant": true, "interval": "", "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "ETH Price ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of unique local validator public keys being monitored. This includes validators set up explicitly through dashboard configuration and those that may be provided directly by the consensus client.", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "decimals": 0, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 11 }, "id": 997, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "total_consensus_validators:active{group=\"$group\"} or on(group) total_local_validators:active{group=\"$group\"}", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "# of Local Validators", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Memory usage on the host. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] }, "unit": "decbytes" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "color", "value": { "fixedColor": "#181b1f", "mode": "fixed" } }, { "id": "custom.hideFrom", "value": { "legend": true, "tooltip": false, "viz": false } } ] } ] }, "gridPos": { "h": 5, "w": 6, "x": 12, "y": 12 }, "id": 905, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_Buffers_bytes{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Buffers", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_Slab_bytes{host=\"$host\"})", "interval": "", "legendFormat": "Slab", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_apps_bytes{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Apps", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_Cached_bytes{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Cached", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_MemFree_bytes{host=\"$host\"})", "interval": "", "legendFormat": "Free", "range": true, "refId": "D" } ], "title": "Host Memory Usage", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of transactions, voluntary exits, attester slashings, and proposer slashing in the head block over time. Full support: Ethereum Metrics Exporter. Limited support: Besu, Prysm", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 12 }, "id": 1020, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (besu_blockchain_chain_head_transaction_count{group=\"$group\"}) or\r\nmax by (network) (eth_con_beacon_transactions{group=\"$group\",block_id=\"head\"}) or\r\nmax by (network) (txs_per_slot_count{group=\"$group\"})", "legendFormat": "Transactions", "range": true, "refId": "A" } ], "title": "Head Block Transactions", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current number of active, pending, exiting, and slashed validators. Pending and exiting validators will include length of time to process the current queues, where available. Full support: Prysm. Partial support: Lighthouse, Nimbus, Teku, Lodestar", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "unit", "value": "m" }, { "id": "displayName", "value": "Queue Time" } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Validators" } ] }, { "matcher": { "id": "byName", "options": "state" }, "properties": [ { "id": "displayName", "value": "State" } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "Validators" } ] }, { "matcher": { "id": "byName", "options": "State" }, "properties": [ { "id": "custom.width", "value": 100 } ] } ] }, "gridPos": { "h": 6, "w": 5, "x": 0, "y": 14 }, "id": 119, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "frameIndex": 1, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service,state) (validator_count{group=\"$group\",state=\"Active\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (validator_count{group=\"$group\",state=\"Pending\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (validator_count{group=\"$group\",state=\"Exiting\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (validator_count{group=\"$group\",state=\"Slashed\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (label_replace(beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}, \"state\", \"Active\", \"\", \"\"))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service,state) (label_replace(((max by (group,service,state) (validator_count{group=\"$group\",state=\"Pending\",job!=\"$prysm_validator_job_name\"})) /\r\n ignoring(state) (max by (group,service,state) ((floor(validator_count{group=\"$group\",state=\"Active\",job!=\"$prysm_validator_job_name\"}/65536) > 4) or vector(4)))*6.4), \"state\", \"Pending\", \"\", \"\")) or\r\nmax by (group,service,state) (label_replace(((max by (group,service,state) (validator_count{group=\"$group\",state=\"Exiting\",job!=\"$prysm_validator_job_name\"})) /\r\n ignoring(state) (max by (group,service,state) ((floor(validator_count{group=\"$group\",state=\"Active\",job!=\"$prysm_validator_job_name\"}/65536) > 4) or vector(4)))*6.4), \"state\", \"Exiting\", \"\", \"\"))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "G" } ], "title": "Validator Count", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": { "Time": true, "group": true, "service": true }, "indexByName": { "Time": 4, "Value #B": 2, "Value #G": 3, "group": 5, "service": 0, "state": 1 }, "renameByName": { "Value #B": "", "Value #G": "" } } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Hourly, daily, weekly, and monthly balance changes to both validators and addresses. Displays the annualized rate of change based on the balance change for the period. Withdrawals will show as a reduction in balance and may result in a lower/negative annualized rate of change until 1 period has past without a withdrawal. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "fixed" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "period" }, "properties": [ { "id": "mappings", "value": [ { "options": { "1d": { "index": 2, "text": "Past Day" }, "1h": { "index": 1, "text": "Past Hour" }, "30d": { "index": 4, "text": "Past Month" }, "365d": { "index": 5, "text": "Past Year" }, "384s": { "index": 0, "text": "Past Epoch" }, "7d": { "index": 3, "text": "Past Week" } }, "type": "value" } ] }, { "id": "displayName", "value": "Period" } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Validator Δ Rate" }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "yellow", "value": 0 }, { "color": "green", "value": 0.00001 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Validator Δ (ETH)" } ] }, { "matcher": { "id": "byName", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "network\\s*\\d*" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "displayName", "value": "Validator Δ ($currency)" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 2 }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color", "value": { "mode": "thresholds" } } ] }, { "matcher": { "id": "byRegexp", "options": "service\\s*\\d*" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Total Δ (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Address Δ (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Total Δ ($currency)" }, { "id": "decimals", "value": 2 }, { "id": "unit", "value": "short" } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Address Δ ($currency)" }, { "id": "decimals", "value": 2 }, { "id": "unit", "value": "short" } ] }, { "matcher": { "id": "byName", "options": "Value #I" }, "properties": [ { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Total Δ (ETH)" } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "unit", "value": "percentunit" }, { "id": "displayName", "value": "Total Δ Rate" }, { "id": "decimals", "value": 4 }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "yellow", "value": 0 }, { "color": "green", "value": 0.00001 } ] } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #H" }, "properties": [ { "id": "displayName", "value": "Address Δ Rate" }, { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 4 }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "yellow", "value": 0 }, { "color": "green", "value": 0.00001 } ] } } ] }, { "matcher": { "id": "byName", "options": "Period" }, "properties": [ { "id": "custom.width", "value": 127 } ] }, { "matcher": { "id": "byName", "options": "Total Δ (USD)" }, "properties": [ { "id": "custom.width", "value": 134 } ] } ] }, "gridPos": { "h": 6, "w": 7, "x": 5, "y": 14 }, "id": 1025, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (period) (validator_balance:increase:384s{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:1h{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:1d{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:7d{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:30d{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:365d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "legendFormat": "Validator Balance Change (ETH)", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n sum by (period) (validator_balance:increase:384s{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:1h{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:1d{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:7d{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:30d{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:365d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"})\r\n) * on() scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": true, "instant": true, "legendFormat": "Validator Balance Change ($currency)", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(scalar(sum(consensus_validator_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:384s{group=\"$group\"}) * 365 * 225 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:1h{group=\"$group\"}) * 365 * 24 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:1d{group=\"$group\"}) * 365 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:7d{group=\"$group\"}) * 365 / 7 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:30d{group=\"$group\"}) * 365 / 30 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:365d{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "legendFormat": "Validator Annualized Rate of Change", "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "label_replace(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)), \"period\", \"384s\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)), \"period\", \"1h\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)), \"period\", \"1d\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)), \"period\", \"7d\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:30d{group=\"$group\"}), \"period\", \"30d\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:365d{group=\"$group\"}), \"period\", \"365d\", \"\", \"\")", "format": "table", "hide": true, "instant": true, "legendFormat": "Address Balance Change (ETH)", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n label_replace(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)), \"period\", \"384s\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)), \"period\", \"1h\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)), \"period\", \"1d\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)), \"period\", \"7d\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:30d{group=\"$group\"}), \"period\", \"30d\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:365d{group=\"$group\"}), \"period\", \"365d\", \"\", \"\")\r\n) * on() scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": true, "instant": true, "legendFormat": "Address Balance Change ($currency)", "range": false, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "((scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:384s{group=\"$group\"}) * 365 * 225 or\r\n((scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:1h{group=\"$group\"}) * 365 * 24 or\r\n((scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:1d{group=\"$group\"}) * 365 or\r\n((scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:7d{group=\"$group\"}) * 365 / 7 or\r\n((scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:30d{group=\"$group\"}) * 365 / 30 or\r\n((scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:365d{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "legendFormat": "Address Balance Rate of Change", "range": false, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) ", "format": "table", "hide": false, "instant": true, "legendFormat": "Total Balance Change (ETH)", "range": false, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n sum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)))\r\n) * on() scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "Total Balance Change ($currency)", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(scalar(sum(consensus_validator_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:384s{group=\"$group\"}) * 365 * 225 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:1h{group=\"$group\"}) * 365 * 24 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:1d{group=\"$group\"}) * 365 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:7d{group=\"$group\"}) * 365 / 7 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:30d{group=\"$group\"}) * 365 / 30 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:365d{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Total Annualized Rate of Change", "range": false, "refId": "G" } ], "title": "Balance Changes/Annualized Rate", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "period" } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of API calls received per second. Full support: Besu, Erigon, Geth, Lighthouse, Lodestar, Nethermind, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 17 }, "id": 168, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_request_deserialization_failures{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Deserialization Failures", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_invalid_requests{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Invalid Requests", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_errors{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_successes{group=\"$group\"}[1m])) or\r\nsum by (group,service) (rate(rpc_success{group=\"$group\"}[1m]))", "legendFormat": "{{service}} Successes", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(rpc_total{group=\"$group\"}[1m]) or\r\nsum by (group,service) (rate(rpc_requests{group=\"$group\"}[1m])) or\r\nsum by (group,service) (rate(validator_beacon_node_requests_total{group=\"$group\"}[1m])))", "hide": false, "legendFormat": "{{service}} Beacon Total", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(rpc_failure{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Failures", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(lodestar_api_rest_requests_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} REST Total", "range": true, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(lodestar_api_rest_errors_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} REST Errors", "range": true, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(grpc_server_handled_total{group=\"$group\",job!=\"$prysm_validator_job_name\"}[1m]))", "hide": false, "legendFormat": "{{service}} GRPC Total", "range": true, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(http_api_paths_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} HTTP Total", "range": true, "refId": "J" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service,status) (rate(http_api_status_codes_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} {{status}}", "range": true, "refId": "K" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(besu_rpc_request_time_count{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} RPC Total", "range": true, "refId": "L" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_reqresp_incoming_requests_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Requests", "range": true, "refId": "M" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_reqresp_incoming_requests_error_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "N" } ], "title": "RPC Received per Second", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Block size over time. Full support: Ethereum Metrics Exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 18, "y": 18 }, "id": 206, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (eth_exe_block_head_block_size_bytes{group=\"$group\"})", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Block Size", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all local validators. Full support: Nimbus, Lighthouse, Lodestar, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 0, "y": 20 }, "id": 968, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,network) (validator_balance{group=\"$group\",job=\"$prysm_validator_job_name\"}) or\r\nsum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})", "instant": true, "interval": "", "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Validators Balance (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all local validators multiplied by the price of ETH in the configured currency. Full support: Nimbus, Lighthouse, Lodestar, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 3, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 3, "y": 20 }, "id": 969, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,network) (validator_balance{group=\"$group\"} * scalar(avg(ethprice{cur=\"$currency\"}))) or\r\nsum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})", "hide": false, "instant": true, "interval": "", "legendFormat": "Balance ($currency)", "refId": "B" } ], "title": "Validators Balance ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all monitored addresses. Full support: Nimbus, Lighthouse, Lodestar, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 20 }, "id": 970, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,network) (address_balance:ETH{group=\"$group\"})", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Addresses Balance (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all monitored addresses multiplied by the price of ETH in the configured currency. Full support: Nimbus, Lighthouse, Lodestar, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 2, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 20 }, "id": 971, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(sum by (group,network) (address_balance:ETH{group=\"$group\"}) or on() vector(0)) * scalar(avg(ethprice{cur=\"$currency\"}))", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Addresses Balance ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Details of locally monitored validators, including status, balance, attestations, aggregations, proposals, and inactivity score. Validator address links to explorer information for each validator. Includes display of most recent proposal slot with link to view slot details at explorer. Full support: Prysm. Limited support: Lighthouse, Lodestar, Nimbus, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "pubkey_short" }, "properties": [ { "id": "displayName", "value": "Validator" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Validator ${__value.text}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_validator}${__data.fields.pubkey}" } ] } ] }, { "matcher": { "id": "byName", "options": "status" }, "properties": [ { "id": "displayName", "value": "Status" }, { "id": "mappings", "value": [ { "options": { "0": { "color": "text", "index": 0, "text": "Unknown" }, "1": { "color": "orange", "index": 1, "text": "Deposited" }, "2": { "color": "yellow", "index": 2, "text": "Pending" }, "3": { "color": "green", "index": 3, "text": "Active" }, "4": { "color": "blue", "index": 4, "text": "Exiting" }, "5": { "color": "red", "index": 5, "text": "Slashing" }, "6": { "color": "text", "index": 6, "text": "Exited" } }, "type": "value" } ] }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "displayName", "value": "Balance (ETH)" }, { "id": "unit", "value": "none" }, { "id": "decimals", "value": 4 }, { "id": "color", "value": { "fixedColor": "green", "mode": "thresholds" } }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "dark-red" }, { "color": "red", "value": 16 }, { "color": "orange", "value": 20 }, { "color": "yellow", "value": 24 }, { "color": "green", "value": 32 } ] } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "displayName", "value": "Proposals" }, { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Last/Next Proposal" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Attestations" } ] }, { "matcher": { "id": "byName", "options": "Value #H" }, "properties": [ { "id": "displayName", "value": "Failed Attestations" }, { "id": "color", "value": { "mode": "thresholds" } }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "yellow", "value": 1 }, { "color": "orange", "value": 2 }, { "color": "red", "value": 3 } ] } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #I" }, "properties": [ { "id": "displayName", "value": "Aggregations" } ] }, { "matcher": { "id": "byName", "options": "Value #J" }, "properties": [ { "id": "displayName", "value": "Failed Aggregations" }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #K" }, "properties": [ { "id": "displayName", "value": "Inactivity Score" }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "yellow", "value": 1 }, { "color": "orange", "value": 2 }, { "color": "red", "value": 3 }, { "color": "dark-red", "value": 4 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "displayName", "value": "Last/Next Attestation" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Missed Proposals" }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Last/Next Proposal" }, "properties": [ { "id": "custom.width", "value": 159 } ] }, { "matcher": { "id": "byName", "options": "Value #L" }, "properties": [ { "id": "displayName", "value": "Balance (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "status" }, "properties": [ { "id": "displayName", "value": "Status" }, { "id": "mappings", "value": [ { "options": { "active_exiting": { "index": 3, "text": "Active - Exiting" }, "active_ongoing": { "index": 2, "text": "Active" }, "active_slashed": { "index": 4, "text": "Active - Slashed" }, "exited_slashed": { "index": 6, "text": "Exited - Slashed" }, "exited_unslashed": { "index": 5, "text": "Exited - Pending Withdrawal Epoch" }, "pending_initialized": { "index": 0, "text": "Pending - Initialized" }, "pending_queued": { "index": 1, "text": "Pending - Queued" }, "withdrawal_done": { "index": 8, "text": "Exited - Withdrawn" }, "withdrawal_possible": { "index": 7, "text": "Exited - Eligible for Withdrawal" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "Balance (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "index" }, "properties": [ { "id": "displayName", "value": "Index" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Validator ${__value.text}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_validator}${__value.text}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #M" }, "properties": [ { "id": "displayName", "value": "Balance ($currency)" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 3 } ] }, { "matcher": { "id": "byName", "options": "pubkey" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "host" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "instance" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 8, "w": 14, "x": 0, "y": 23 }, "id": 910, "links": [], "options": { "footer": { "enablePagination": true, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Last/Next Proposal" } ] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "topk by (pubkey_short) (1, consensus_validator_balance:ETH{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Balance", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (consensus_validator_balance:ETH{group=\"$group\"}) * scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Balance", "refId": "M" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_successful_proposals{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "interval": "", "legendFormat": "Proposals", "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (pubkey_short) (validator_next_proposal_slot{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Latest/Upcoming Proposal", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (pubkey_short) (validator_failed_proposals{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "legendFormat": "Failed Proposals", "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_successful_attestations{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "interval": "", "legendFormat": "Attestations", "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (pubkey_short) (validator_next_attestation_slot{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "legendFormat": "__auto", "range": false, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_failed_attestations{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "interval": "", "legendFormat": "Failed Attestations", "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_successful_aggregations{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "interval": "", "legendFormat": "Aggregations", "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_failed_aggregations{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "interval": "", "legendFormat": "Failed Aggregations", "refId": "J" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_inactivity_score{group=\"$group\"})", "format": "table", "hide": true, "instant": true, "interval": "", "legendFormat": "Inactivity Score", "refId": "K" } ], "title": "Local Validators", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "pubkey_short", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": { "Time 1": 2, "Time 2": 14, "Time 3": 16, "Time 4": 18, "Time 5": 20, "Time 6": 22, "Value #A": 13, "Value #F": 17, "Value #G": 19, "Value #I": 21, "Value #K": 23, "Value #M": 15, "__name__": 3, "explorer": 4, "group": 5, "host": 6, "index": 0, "instance": 7, "job": 8, "network": 9, "pubkey": 10, "pubkey_short": 1, "service": 11, "status": 12 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "ETH balance of monitored Ethereum addresses. Includes link to explorer information in Address column. Full support: Besu, Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "unit", "value": "ETH" }, { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Balance (ETH)" } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "displayName", "value": "Network" } ] }, { "matcher": { "id": "byName", "options": "pubkey_short" }, "properties": [ { "id": "displayName", "value": "Address" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Address ${__value.text}", "url": "https://${__data.fields.explorer}${execution_explorer_path_address}${__data.fields[0]}" } ] } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Balance ($currency)" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 2 } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "^group\\s*\\d*$" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "pubkey" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 8, "w": 10, "x": 14, "y": 23 }, "id": 994, "options": { "footer": { "enablePagination": true, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Balance (ETH)" } ] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,pubkey_short,pubkey,explorer) (address_balance:ETH{group=\"$group\",pubkey!=\"\"})", "format": "table", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,pubkey_short,pubkey) (address_balance:ETH{group=\"$group\",pubkey!=\"\"}) * scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "Address Balances", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": { "Time": false, "__name__": true, "instance": true, "job": true, "server": true, "staking_group": true }, "indexByName": { "Time": 3, "Value": 2, "__name__": 6, "instance": 4, "job": 5, "network": 0, "pubkey": 1, "server": 7, "staking_group": 8 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Software client details, including version, latest release, uptime, and database size. Full support: Erigon, Lighthouse, Prysm. Partial support: Besu, Ethereum Metrics Exporter, Geth, Lodestar, Nethermind, Nimbus, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "version" }, "properties": [ { "id": "displayName", "value": "Version" } ] }, { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "displayName", "value": "DB Size" }, { "id": "unit", "value": "decbytes" } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "unit", "value": "dtdurations" }, { "id": "displayName", "value": "Uptime" }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "#EAB839", "value": 172800 }, { "color": "green", "value": 345600 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "instance" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "server" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Version" }, "properties": [ { "id": "custom.width", "value": 302 } ] }, { "matcher": { "id": "byName", "options": "Uptime" }, "properties": [ { "id": "custom.width", "value": 109 } ] }, { "matcher": { "id": "byName", "options": "Service" }, "properties": [ { "id": "custom.width", "value": 185 } ] }, { "matcher": { "id": "byRegexp", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0, "text": "Not Synced" }, "1": { "index": 1, "text": "Synced" }, "10": { "index": 3, "text": "Not Syncing" }, "11": { "index": 2, "text": "Syncing" }, "20": { "index": 4, "text": "Stalled" }, "21": { "index": 5, "text": "Syncing Finalized" }, "22": { "index": 6, "text": "Syncing Head" }, "23": { "index": 7, "text": "Synced" } }, "type": "value" } ] }, { "id": "noValue", "value": "N/A" } ] }, { "matcher": { "id": "byName", "options": "DB Size" }, "properties": [ { "id": "custom.width", "value": 142 } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Connected to EL" }, { "id": "noValue" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0 }, "1": { "index": 1, "text": "Connected" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "tag_name" }, "properties": [ { "id": "displayName", "value": "Latest Release" }, { "id": "links", "value": [ { "targetBlank": true, "title": "", "url": "${__data.fields[0]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Sync Distance" } ] }, { "matcher": { "id": "byName", "options": "html_url" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "client" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "displayName", "value": "Sync %" }, { "id": "unit", "value": "percent" } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 7, "w": 14, "x": 0, "y": 31 }, "id": 898, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\ntopk by (service) (1,version{group=\"$group\"}) or\r\non(service) topk by (service) (1,lighthouse_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,prysm_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,beacon_teku_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,execution_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,prometheus_build_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,lodestar_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,blackbox_exporter_build_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,node_exporter_build_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,dirk_release{group=\"$group\"}) or\r\non(service) topk by (service) (1,vouch_release{group=\"$group\"}) or\r\non(service) topk by (service) (1,process_start_time_seconds{group=\"$group\"}) or\r\non(service) topk by (service) (1,eth_exe_web3_client_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,eth_con_node_version{group=\"$group\"})\r\n) * on(client) group_left(tag_name,html_url) topk by (client) (1,last_over_time(release_id{client!=\"\"}[2h]))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "topk by (service) (1,(time() - process_start_time_seconds{group=\"$group\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (service) (bcnode_disk_beaconchain_bytes_total{group=\"$group\"}) or\r\nsum by (service) (eth_db_chaindata_disk_size{group=\"$group\"} + eth_db_chaindata_ancient_size{group=\"$group\"}) or\r\nsum by (service) (db_size{group=\"$group\"}) or\r\nsum by (service) (store_disk_db_size{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "C" } ], "title": "Group Software: $group", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "service" } }, { "id": "organize", "options": { "excludeByName": { "Time 2": true, "Time 3": true, "Time 4": true, "Value": false, "__name__": true, "buildDate": true, "client": true, "client 2": true, "commit": true, "ethereum_role": true, "exported_network": true, "group": true, "group 2": true, "group 3": true, "host": true, "host 2": true, "host 3": true, "html_url": false, "instance": true, "instance 2": true, "instance 3": true, "job": true, "job 2": true, "job 3": true, "json_exporter": true, "module": true, "network": true, "network 1": true, "network 2": true, "network 3": true, "node_name": true, "service": false, "tag_name": false, "version": false }, "indexByName": { "Time": 0, "Value #A": 6, "Value #B": 7, "Value #C": 8, "Value #D": 9, "Value #E": 10, "group": 1, "html_url": 2, "service": 3, "tag_name": 5, "version": 4 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Software client details, including current version, latest release, and uptime. Full support: blackbox_exporter, Grafana, node_exporter, Prometheus. Partial support: json_exporter", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "version" }, "properties": [ { "id": "displayName", "value": "Version" } ] }, { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "unit", "value": "dtdurations" }, { "id": "displayName", "value": "Uptime" }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "#EAB839", "value": 172800 }, { "color": "green", "value": 345600 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "instance" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "server" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0, "text": "Not Synced" }, "1": { "index": 1, "text": "Synced" }, "10": { "index": 3, "text": "Not Syncing" }, "11": { "index": 2, "text": "Syncing" } }, "type": "value" } ] }, { "id": "noValue", "value": "N/A" } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Connected to EL" }, { "id": "noValue" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0 }, "1": { "index": 1, "text": "Connected" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "tag_name" }, "properties": [ { "id": "displayName", "value": "Latest Release" }, { "id": "links", "value": [ { "targetBlank": true, "title": "", "url": "${__data.fields[0]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "html_url" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "client" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "edition" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 7, "w": 10, "x": 14, "y": 31 }, "id": 992, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "repeatDirection": "v", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\ntopk by (service) (1,prometheus_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,blackbox_exporter_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,node_exporter_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,grafana_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,process_start_time_seconds{host=\"$host\",group=\"\"})\r\n) * on(client) group_left(tag_name,html_url) topk by (client) (1,last_over_time(release_id{client!=\"\"}[2h]))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "topk by (service) (1,(time() - process_start_time_seconds{host=\"$host\",group=\"\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "Host Software: $host", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "service" } }, { "id": "organize", "options": { "excludeByName": { "Time 1": true, "Time 2": true, "Value #A": false, "Value #B": false, "branch": true, "client 1": true, "client 2": true, "goversion": true, "host 1": true, "host 2": true, "html_url": false, "instance 1": true, "instance 2": true, "job 1": true, "job 2": true, "revision": true, "tag_name": false }, "indexByName": { "Time": 0, "Value #A": 6, "Value #B": 7, "Value #C": 8, "Value #D": 9, "Value #E": 10, "group": 1, "html_url": 2, "service": 3, "tag_name": 5, "version": 4 }, "renameByName": {} } } ], "type": "table" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 38 }, "id": 162, "panels": [], "repeat": "group", "repeatDirection": "h", "title": "Clients ($group)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sync status of consensus and execution clients in the selected group. Full support: Prysm, Lighthouse. Partial support: Besu, Erigon, Geth, Lodestar, Nethermind, Nimbus, Teku", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0, "text": "Not Synced" }, "1": { "index": 1, "text": "Synced" }, "10": { "index": 3, "text": "Not Syncing" }, "11": { "index": 2, "text": "Syncing" }, "20": { "index": 4, "text": "Stalled" }, "21": { "index": 5, "text": "Syncing Finalized" }, "22": { "index": 6, "text": "Syncing Head" }, "23": { "index": 7, "text": "Synced" } }, "type": "value" } ] }, { "id": "noValue", "value": "N/A" } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Execution Connection" }, { "id": "noValue" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0 }, "1": { "index": 1, "text": "Connected" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Sync Distance" } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "displayName", "value": "Sync %" }, { "id": "unit", "value": "percent" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "orange", "value": 90 }, { "color": "yellow", "value": 95 }, { "color": "green", "value": 100 } ] } }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color" } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 2, "text": "Not Synced" }, "1": { "index": 3, "text": "Synced" }, "10": { "index": 0, "text": "Not Syncing" }, "11": { "index": 1, "text": "Syncing" }, "20": { "index": 4, "text": "Stalled" }, "21": { "index": 5, "text": "Syncing Finalized" }, "22": { "index": 6, "text": "Syncing Head" }, "23": { "index": 7, "text": "Synced" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 4, "w": 10, "x": 0, "y": 39 }, "id": 962, "options": { "footer": { "enablePagination": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "topk by (service) (1,beacon_node_syncing_active{group=\"$group\"} + 10) or\r\non(service) bottomk by (service) (1,besu_synchronizer_in_sync{group=\"$group\"}) or\r\non(service) bottomk by (service) (1,sync_eth2_synced{group=\"$group\"}) or\r\non(service) topk by (service) (1,execution_eth_syncing{group=\"$group\"} + 10) or\r\non(service) topk by (service) (1,lodestar_sync_status{group=\"$group\"} + 20) or\r\non(service) topk by (service) (1,consensus_node_syncing{group=\"$group\"} + 10)", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "bottomk by (service) (1,powchain_sync_eth1_connected{group=\"$group\"}) or\r\nbottomk by (service) (1,sync_eth1_connected{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(max by (service) (eth_con_sync_percentage{group=\"$group\"})) or (max by (service) (eth_exe_sync_percentage{group=\"$group\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (service) (eth_con_sync_distance{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "F" } ], "title": "Sync Status", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "service" } }, { "id": "organize", "options": { "excludeByName": { "Time 2": true, "Time 3": true, "Time 4": true, "Value": false, "__name__": true, "buildDate": true, "client": true, "client 2": true, "commit": true, "ethereum_role": true, "exported_network": true, "group": true, "group 2": true, "group 3": true, "host": true, "host 2": true, "host 3": true, "html_url": false, "instance": true, "instance 2": true, "instance 3": true, "job": true, "job 2": true, "job 3": true, "json_exporter": true, "module": true, "network": true, "network 1": true, "network 2": true, "network 3": true, "node_name": true, "service": false, "tag_name": false, "version": false }, "indexByName": { "Time 1": 4, "Time 2": 5, "Time 3": 13, "Time 4": 21, "Time 5": 23, "Value #C": 1, "Value #D": 3, "Value #E": 2, "Value #F": 24, "Value #G": 22, "__name__": 14, "explorer 1": 6, "explorer 2": 15, "group 1": 7, "group 2": 16, "host 1": 8, "host 2": 17, "instance 1": 9, "instance 2": 18, "job 1": 10, "job 2": 19, "json_exporter": 11, "network 1": 12, "network 2": 20, "service": 0 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current count of consensus and execution client peers. Full support: Besu, Erigon, Geth, Lighthouse, Lodestar, Nethermind, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 0, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "orange", "value": 10 }, { "color": "yellow", "value": 20 }, { "color": "green", "value": 30 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 10, "y": 39 }, "id": 958, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (consensus_node_peer_count:connected{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peer_count{group=\"$group\",state=\"Connected\",job!=\"$prysm_validator_job_name\"})", "hide": false, "instant": true, "interval": "", "legendFormat": "{{service}}", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service) (execution_net_peerCount{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peers{group=\"$group\"})", "hide": false, "instant": true, "legendFormat": "{{service}}", "range": false, "refId": "D" } ], "title": "Peer Count", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current number of consensus peers of each type, stacked. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 10, "w": 5, "x": 14, "y": 39 }, "id": 172, "options": { "displayLabels": [ "name", "percent" ], "legend": { "displayMode": "list", "placement": "bottom", "showLegend": true }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service,agent) (libp2p_peers_identity{group=\"$group\"}) or\r\nsum by (group,service,agent) (label_replace(libp2p_peers_per_client{group=\"$group\"}, \"agent\", \"$1\", \"Client\", \"(.*)\")) or\r\nsum by (group,service,agent) (label_replace(libp2p_connected_peers_current{group=\"$group\"}, \"agent\", \"$1\", \"client\", \"(.*)\")) or\r\nsum by (group,service,agent) (label_replace(lodestar_peers_by_client_count{group=\"$group\"}, \"agent\", \"$1\", \"client\", \"(.*)\")) or\r\nsum by (group,service,agent) (connected_libp2p_peers{group=\"$group\"})", "hide": false, "legendFormat": "{{agent}}", "range": true, "refId": "A" } ], "title": "Consensus Peer Type", "type": "piechart" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Count of consensus and execution client peers over time. Full support: Besu, Erigon, Geth, Lighthouse, Lodestar, Nethermind, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 6, "w": 7, "x": 0, "y": 43 }, "id": 963, "options": { "legend": { "calcs": [ "mean", "lastNotNull" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (consensus_node_peer_count:connected{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peer_count{group=\"$group\",state=\"Connected\",job!=\"$prysm_validator_job_name\"})", "hide": false, "interval": "", "legendFormat": "{{service}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (execution_net_peerCount{group=\"$group\"}) or\r\nmax by (group,service) (p2p_peers{group=\"$group\"})", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "B" } ], "title": "Peers", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of consensus peers of each type over time, stacked. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "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" } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 7, "x": 7, "y": 43 }, "id": 904, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service,agent) (libp2p_peers_identity{group=\"$group\"}) or\r\nsum by (group,service,agent) (label_replace(libp2p_peers_per_client{group=\"$group\"}, \"agent\", \"$1\", \"Client\", \"(.*)\")) or\r\nsum by (group,service,agent) (label_replace(libp2p_connected_peers_current{group=\"$group\"}, \"agent\", \"$1\", \"client\", \"(.*)\")) or\r\nsum by (group,service,agent) (label_replace(lodestar_peers_by_client_count{group=\"$group\"}, \"agent\", \"$1\", \"client\", \"(.*)\")) or\r\nsum by (group,service,agent) (connected_libp2p_peers{group=\"$group\"})", "hide": false, "legendFormat": "{{agent}}", "range": true, "refId": "A" } ], "title": "Consensus Peers by Type", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Execution layer pending and queued transactions over time, stacked. Full support: Erigon, Geth, Nethermind. Partial support: Besu", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 6, "w": 7, "x": 0, "y": 49 }, "id": 123, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (service) (txpool_pending{group=\"$group\"}) or\r\non(service) (execution_txpool:pending{group=\"$group\"}) or\r\non(service) (besu_transaction_pool_transactions{group=\"$group\"}) or\r\non(service) (eth_exe_txpool_transactions{group=\"$group\",status=\"pending\"})", "hide": false, "legendFormat": "Pending", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (service) (txpool_queued{group=\"$group\"}) or\r\non(service) (execution_txpool:queued{group=\"$group\"}) or\r\non(service) (eth_exe_txpool_transactions{group=\"$group\",status=\"queued\"})", "hide": false, "legendFormat": "Queued", "range": true, "refId": "D" } ], "title": "Execution Layer Transaction Pools", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of API calls received per second. Full support: Besu, Erigon, Geth, Lighthouse, Lodestar, Nethermind, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 7, "y": 49 }, "id": 993, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_request_deserialization_failures{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Deserialization Failures", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_invalid_requests{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Invalid Requests", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_errors{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(nethermind_json_rpc_successes{group=\"$group\"}[1m])) or\r\nsum by (group,service) (rate(rpc_success{group=\"$group\"}[1m]))", "legendFormat": "{{service}} Successes", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(rpc_total{group=\"$group\"}[1m]) or\r\nsum by (group,service) (rate(rpc_requests{group=\"$group\"}[1m])) or\r\nsum by (group,service) (rate(validator_beacon_node_requests_total{group=\"$group\"}[1m])))", "hide": false, "legendFormat": "{{service}} Beacon Total", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(rpc_failure{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Failures", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(lodestar_api_rest_requests_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} REST Total", "range": true, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(lodestar_api_rest_errors_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} REST Errors", "range": true, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(grpc_server_handled_total{group=\"$group\",job!=\"$prysm_validator_job_name\"}[1m]))", "hide": false, "legendFormat": "{{service}} GRPC Total", "range": true, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(http_api_paths_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} HTTP Total", "range": true, "refId": "J" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service,status) (rate(http_api_status_codes_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} {{status}}", "range": true, "refId": "K" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(besu_rpc_request_time_count{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} RPC Total", "range": true, "refId": "L" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_reqresp_incoming_requests_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Requests", "range": true, "refId": "M" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_reqresp_incoming_requests_error_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "N" } ], "title": "RPC Received per Second", "type": "timeseries" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 55 }, "id": 160, "panels": [], "repeat": "group", "repeatDirection": "h", "title": "Network ($group)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of validators expected to attest that did so during the prior epoch. Full support: Lighthouse, Prysm, Teku. No support: Lodestar, Nimbus", "fieldConfig": { "defaults": { "decimals": 2, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text" }, { "color": "red", "value": 0.01 }, { "color": "orange", "value": 0.66 }, { "color": "yellow", "value": 0.8 }, { "color": "green", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 0, "y": 56 }, "id": 960, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,network) (beacon_prev_epoch_target_gwei{group=\"$group\",job!=\"$prysm_validator_job_name\"}/beacon_prev_epoch_active_gwei{group=\"$group\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,network) (beacon_previous_live_validators{group=\"$group\"}/beacon_previous_active_validators{group=\"$group\"}) or\r\nmax by (group,service,network) (beacon_participation_prev_epoch_target_attesting_gwei_total{group=\"$group\"}/beacon_participation_prev_epoch_active_gwei_total{group=\"$group\"})", "interval": "", "legendFormat": "{{service}} {{network}}", "range": true, "refId": "A" } ], "title": "Participation Rate", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Network liveness is a measure of how quickly blocks are being finalized on the network. 100% means that the blocks are being finalized as quickly as the protocol allows. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "red", "value": 80 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 3, "y": 56 }, "id": 961, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "clamp_min((1-(4*(\r\n((max by (service) (slotclock_present_epoch{group=\"$group\"}) or\r\nmax by (service) (beacon_current_epoch{group=\"$group\"}) or\r\nmax by (service) (beacon_epoch{group=\"$group\"}) or\r\nmax by (service) (floor(beacon_clock_slot{group=\"$group\"}/32)) or\r\nmax by (service) (floor(beacon_clock_time_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"} / 32)))\r\n- max by (service) (beacon_finalized_epoch{group=\"$group\",job!=\"$prysm_validator_job_name\"}) - 2)\r\n/100))),0)", "format": "table", "instant": false, "legendFormat": "{{service}}", "range": true, "refId": "A" } ], "title": "Network Liveness", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of active validators in the network. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 56 }, "id": 964, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (label_replace(beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}, \"state\", \"Active\", \"\", \"\"))", "legendFormat": "__auto", "range": true, "refId": "A" } ], "title": "Network Active Validators", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current and head slot of the consensus layer. Click to see slot information at an explorer. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "decimals": 0, "links": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__field.labels.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ], "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 56 }, "id": 29, "links": [], "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)) or\r\nmax by (group,service,explorer) (beacon_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"}) or \r\nmax by (group,service,explorer) (beacon_clock_slot{group=\"$group\"})", "instant": true, "interval": "", "legendFormat": "Current Slot", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (beacon_head_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"})", "instant": true, "interval": "", "legendFormat": "Head Slot", "refId": "B" } ], "title": "Slots", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current, justified, and finalized epochs of the consensus layer. Click to see epoch information at an explorer. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "decimals": 0, "links": [ { "targetBlank": true, "title": "Explorer: Epoch ${__value.numeric}", "url": "https://${__field.labels.explorer}${consensus_explorer_path_epoch}${__value.numeric}" } ], "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 12, "y": 56 }, "id": 27, "links": [], "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (floor(beacon_clock_time_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"} / 32)) or\r\nmax by (group,service,explorer) (beacon_epoch{group=\"$group\"}) or max by (group,service,explorer) (floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/384))", "format": "time_series", "instant": true, "interval": "", "legendFormat": "Current Epoch", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (beacon_current_justified_epoch{group=\"$group\",job!=\"$prysm_validator_job_name\"})", "format": "time_series", "instant": true, "interval": "", "legendFormat": "Justified Epoch", "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (beacon_finalized_epoch{group=\"$group\",job!=\"$prysm_validator_job_name\"})", "format": "time_series", "instant": true, "interval": "", "legendFormat": "Finalized Epoch", "refId": "D" } ], "title": "Epochs", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Head and finalized block of the execution layer. Click to see block information at an explorer. Full support: Besu, Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "decimals": 0, "links": [ { "targetBlank": true, "title": "Explorer: Block ${__value.numeric}", "url": "https://${__field.labels.explorer}${execution_explorer_path_block}${__value.numeric}" } ], "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 15, "y": 56 }, "id": 109, "links": [], "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (chain_head_block{group=\"$group\"}) or\r\nmax by (group,service,explorer) (ethereum_best_known_block_number{group=\"$group\"}) or\r\nmax by (group,service,explorer) (nethermind_blocks{group=\"$group\"}) or\r\nmax by (group,service,explorer) (sync{group=\"$group\",stage=\"finish\"})", "instant": true, "interval": "", "legendFormat": "Head Block", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,explorer) (chain_head_finalized{group=\"$group\"}) or\r\nmax by (group,service,explorer) (execution_finalized_block{group=\"$group\"})", "instant": true, "interval": "", "legendFormat": "Finalized Block", "refId": "B" } ], "title": "Blocks", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current number of active, pending, exiting, and slashed validators. Pending and exiting validators include length of time to process the current queues, where available. Full support: Prysm. Partial support: Lighthouse, Nimbus, Teku, Lodestar", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "unit", "value": "m" }, { "id": "displayName", "value": "Queue Time" } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Validators" } ] }, { "matcher": { "id": "byName", "options": "state" }, "properties": [ { "id": "displayName", "value": "State" } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "Validators" } ] }, { "matcher": { "id": "byName", "options": "State" }, "properties": [ { "id": "custom.width", "value": 100 } ] }, { "matcher": { "id": "byName", "options": "Validators" }, "properties": [ { "id": "custom.width", "value": 104 } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 56 }, "id": 967, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "frameIndex": 1, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service,state) (validator_count{group=\"$group\",state=\"Active\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (validator_count{group=\"$group\",state=\"Pending\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (validator_count{group=\"$group\",state=\"Exiting\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (validator_count{group=\"$group\",state=\"Slashed\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,state) (label_replace(beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}, \"state\", \"Active\", \"\", \"\"))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service,state) (label_replace(((max by (group,service,state) (validator_count{group=\"$group\",state=\"Pending\",job!=\"$prysm_validator_job_name\"})) /\r\n ignoring(state) (max by (group,service,state) ((floor(validator_count{group=\"$group\",state=\"Active\",job!=\"$prysm_validator_job_name\"}/65536) > 4) or vector(4)))*6.4), \"state\", \"Pending\", \"\", \"\")) or\r\nmax by (group,service,state) (label_replace(((max by (group,service,state) (validator_count{group=\"$group\",state=\"Exiting\",job!=\"$prysm_validator_job_name\"})) /\r\n ignoring(state) (max by (group,service,state) ((floor(validator_count{group=\"$group\",state=\"Active\",job!=\"$prysm_validator_job_name\"}/65536) > 4) or vector(4)))*6.4), \"state\", \"Exiting\", \"\", \"\"))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "G" } ], "title": "Validator Count", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": { "Time": true, "group": true, "service": true }, "indexByName": { "Time": 4, "Value #B": 2, "Value #G": 3, "group": 5, "service": 0, "state": 1 }, "renameByName": { "Value #B": "", "Value #G": "" } } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of validators expected to attest that did so during the prior epoch. Red line displays participation rate under which the network will be unable to finalize. Full support: Lighthouse, Prysm, Teku. No support: Lodestar, Nimbus", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "orange", "value": 0.66 }, { "color": "yellow", "value": 0.8 }, { "color": "green", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [ { "matcher": { "id": "byName", "options": "0.66" }, "properties": [ { "id": "custom.fillOpacity", "value": 0 }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.hideFrom", "value": { "legend": true, "tooltip": true, "viz": false } } ] }, { "matcher": { "id": "byName", "options": "Mainnet - Prysm Beacon " }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "thresholds" } } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 59 }, "id": 907, "options": { "legend": { "calcs": [ "mean", "lastNotNull" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service,network) (beacon_prev_epoch_target_gwei{group=\"$group\",job!=\"$prysm_validator_job_name\"}/beacon_prev_epoch_active_gwei{group=\"$group\",job!=\"$prysm_validator_job_name\"}) or\r\nmax by (group,service,network) (beacon_previous_live_validators{group=\"$group\"}/beacon_previous_active_validators{group=\"$group\"}) or\r\nmax by (group,service,network) (beacon_participation_prev_epoch_target_attesting_gwei_total{group=\"$group\"}/beacon_participation_prev_epoch_active_gwei_total{group=\"$group\"})", "hide": false, "legendFormat": "{{network}} - {{service}} ", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "0.66", "hide": false, "instant": false, "legendFormat": "__auto", "range": true, "refId": "B" } ], "title": "Participation Rate", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Client network traffic as reported by clients. Full support: Erigon, Geth, Lighthouse, Lodestar, Nethermind, Nimbus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "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": "green" }, { "color": "red", "value": 80 } ] }, "unit": "Bps" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 6, "y": 59 }, "id": 937, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "rate(p2p_ingress{group=\"$group\"}[1m])", "legendFormat": "{{service}} P2P Received", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "rate(p2p_egress{group=\"$group\"}[1m])", "hide": false, "legendFormat": "{{service}} P2P Sent", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "rate(nethermind_json_rpc_bytes_sent{group=\"$group\"}[1m]) + rate(nethermind_discovery_bytes_sent{group=\"$group\"}[1m]) + rate(nethermind_p2pbytes_sent{group=\"$group\"}[1m])", "hide": false, "legendFormat": "{{service}} JSON RPC Sent", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "rate(nethermind_json_rpc_bytes_received{group=\"$group\"}[1m]) + rate(nethermind_discovery_bytes_received{group=\"$group\"}[1m]) + rate(nethermind_p2pbytes_received{group=\"$group\"}[1m])", "hide": false, "legendFormat": "{{service}} JSON RPC Received", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(lodestar_api_rest_sockets_bytes_read_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} REST Received", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(lodestar_api_rest_sockets_bytes_write_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} REST Sent", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(libp2p_inbound_bytes{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} libp2p Received", "range": true, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(libp2p_outbound_bytes{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} libp2p Sent", "range": true, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(network_node_bytes_total_received{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Network Received", "range": true, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(network_node_bytes_total_transmit{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Network Sent", "range": true, "refId": "J" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(libp2p_network_bytes_total{group=\"$group\",direction=\"out\"}[1m]))", "hide": false, "legendFormat": "{{service}} Network Sent", "range": true, "refId": "K" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(libp2p_network_bytes_total{group=\"$group\",direction=\"in\"}[1m]))", "hide": false, "legendFormat": "{{service}} Network Received", "range": true, "refId": "L" } ], "title": "Client Network Traffic", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The number of active validators (left-axis), the number of pending, exiting, and slashing validators (right axis), and the number of pending deposits (right axis) over time. Pending validators and deposits are shown as positive values, while exiting and slashing validators are shown as negative values. Full support: Prysm. Partial support: Lighthouse, Lodestar, Nimbus, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 3, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "short" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "custom.transform", "value": "negative-Y" }, { "id": "custom.axisPlacement", "value": "right" }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "custom.transform", "value": "negative-Y" }, { "id": "custom.axisPlacement", "value": "right" }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "color", "value": { "fixedColor": "#ef843c91", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } }, { "id": "decimals" } ] }, { "matcher": { "id": "byFrameRefID", "options": "E" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "custom.fillOpacity", "value": 0 } ] }, { "matcher": { "id": "byFrameRefID", "options": "F" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" } ] }, { "matcher": { "id": "byFrameRefID", "options": "G" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 59 }, "id": 64, "interval": "", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (validator_count{group=\"$group\",state=\"Pending\",job!=\"$prysm_validator_job_name\"})", "interval": "", "legendFormat": "Pending Validators", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (validator_count{group=\"$group\",state=\"Exiting\",job!=\"$prysm_validator_job_name\"}) or\r\non (group,service) (beacon_processor_exit_queue_total{group=\"$group\"}) or\r\non (group,service) (label_replace(lodestar_oppool_voluntary_exit_pool_size{group=\"$group\"}, \"state\", \"Exiting\", \"\", \"\"))", "interval": "", "legendFormat": "Exiting", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (validator_count{group=\"$group\",state=\"Slashing\",job!=\"$prysm_validator_job_name\"}) ", "interval": "", "legendFormat": "Slashing", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (label_replace(beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}, \"state\", \"Active\", \"\", \"\"))", "interval": "", "legendFormat": "Active", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (beacon_pending_deposits{group=\"$group\"}) or\r\nmax by (group,service) (beacondb_pending_deposits{group=\"$group\",job!=\"$prysm_validator_job_name\"})", "hide": false, "legendFormat": "Pending Deposits", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "label_replace(lodestar_oppool_proposer_slashing_pool_size{group=\"$group\"}, \"state\", \"Slashing\", \"\", \"\")", "hide": false, "legendFormat": "Proposer Slashing", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "label_replace(lodestar_oppool_attester_slashing_pool_size{group=\"$group\"}, \"state\", \"Slashing\", \"\", \"\")", "hide": false, "legendFormat": "Attester Slashing", "range": true, "refId": "G" } ], "title": "Network Validators", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of the gas limit used over time. Full support: Besu, Erigon, Ethereum Metrics Exporter, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 0 }, { "id": "max", "value": 1.01 }, { "id": "unit", "value": "percentunit" }, { "id": "color", "value": { "fixedColor": "#fade2a24", "mode": "fixed" } }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "custom.drawStyle", "value": "bars" } ] }, { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "decimals", "value": 4 }, { "id": "custom.fillOpacity", "value": 20 } ] }, { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 0 }, { "id": "max", "value": 1.01 }, { "id": "custom.fillOpacity", "value": 0 } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 62 }, "id": 979, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "avg by (network) (execution_fee_base_fee_per_gas{group=\"$group\"})/1000000000", "hide": false, "legendFormat": "Base Fee per Gas", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(max by (network) (besu_blockchain_chain_head_gas_used{group=\"$group\"}/besu_blockchain_chain_head_gas_limit{group=\"$group\"})) or\r\n(max by (network) (execution_fee_gas_used_ratio{group=\"$group\"})) or\r\n(max by (network) (eth_exe_block_head_gas_used{group=\"$group\"}/eth_exe_block_head_gas_limit{group=\"$group\"}))", "hide": false, "legendFormat": "% Gas Used", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "avg by (network,service) (avg_over_time(execution_fee_gas_used_ratio{group=\"$group\"}[384s]))", "hide": false, "legendFormat": "6.4m Avg % Gas Used", "range": true, "refId": "C" } ], "title": "Base Fee/Gas Used", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of transactions, voluntary exits, attester slashings, and proposer slashing in the head block over time. Full support: Ethereum Metrics Exporter. Limited support: Besu, Prysm", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 65 }, "id": 1021, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (besu_blockchain_chain_head_transaction_count{group=\"$group\"}) or\r\nmax by (network) (eth_con_beacon_transactions{group=\"$group\",block_id=\"head\"}) or\r\nmax by (network) (txs_per_slot_count{group=\"$group\"})", "legendFormat": "Transactions", "range": true, "refId": "A" } ], "title": "Head Block Transactions", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of transactions, voluntary exits, attester slashings, and proposer slashing in the head block over time. Full support: Ethereum Metrics Exporter. Limited support: Besu, Prysm", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 6, "y": 65 }, "id": 213, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (eth_con_beacon_voluntary_exits{group=\"$group\",block_id=\"head\"})", "hide": false, "legendFormat": "Voluntary Exits", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "eth_con_beacon_slashings{group=\"$group\",block_id=\"head\",type=\"attester\"}", "hide": false, "legendFormat": "Attester Slashings", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "eth_con_beacon_slashings{group=\"$group\",block_id=\"head\",type=\"proposer\"}", "hide": false, "legendFormat": "Proposer Slashings", "range": true, "refId": "D" } ], "title": "Head Block Validator Actions", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Block size over time. Full support: Ethereum Metrics Exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 65 }, "id": 981, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (eth_exe_block_head_block_size_bytes{group=\"$group\"})", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Block Size", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Latest base fee per gas. Full support: Besu, Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 9, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 18, "y": 68 }, "id": 977, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (execution_fee_base_fee_per_gas{group=\"$group\"})/1000000000", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Base Fee per Gas", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of the gas limit used. Full support: Besu, Erigon, Ethereum Metrics Exporter, Geth, Nethermind.", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 0, "mappings": [], "max": 1, "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "super-light-yellow", "value": 0.51 }, { "color": "#EAB839", "value": 0.6 }, { "color": "orange", "value": 0.7 }, { "color": "red", "value": 0.8 }, { "color": "dark-red", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 21, "y": 68 }, "id": 978, "options": { "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(max by (network) (besu_blockchain_chain_head_gas_used{group=\"$group\"}/besu_blockchain_chain_head_gas_limit{group=\"$group\"})) or\r\n(max by (network) (execution_fee_gas_used_ratio{group=\"$group\"})) or\r\n(max by (network) (eth_exe_block_head_gas_used{group=\"$group\"}/eth_exe_block_head_gas_limit{group=\"$group\"}))", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Gas Used", "type": "gauge" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of epochs that have passed since the last finalized epoch. Optimal value is 2. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "yellow", "value": 3 }, { "color": "orange", "value": 4 }, { "color": "red", "value": 5 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 71 }, "id": 931, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(max by (service) (slotclock_present_epoch{group=\"$group\"}) or\r\nmax by (service) (beacon_current_epoch{group=\"$group\"}) or\r\nmax by (service) (beacon_epoch{group=\"$group\"}) or\r\nmax by (service) (floor(beacon_clock_slot{group=\"$group\"}/32)) or\r\nmax by (service) (floor(beacon_clock_time_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"} / 32)))\r\n- max by (service) (beacon_finalized_epoch{group=\"$group\",job!=\"$prysm_validator_job_name\"})", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "D" } ], "title": "Epochs Since Finalization", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The mathematical expectation of time between proposals for an individual validator and across all local validators. These numbers are based on the number of validators and the number of slots/day, and do not represent a prediction or countdown between proposals. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "decimals": 1, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "d" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 6, "y": 71 }, "id": 965, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (network) (beacon_current_active_validators{group=\"$group\"}/7200)", "format": "time_series", "instant": true, "legendFormat": "Individual Validator", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (network) (\r\n (\r\n max by (network) (beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}) /\r\n max by (network) (total_local_validators:active{group=\"$group\"}) /\r\n 7200\r\n )\r\n or\r\n (\r\n max by (network) (beacon_current_active_validators{group=\"$group\",job!=\"$prysm_validator_job_name\"}) / \r\n count by (network) (count by (network, pubkey) (consensus_validator_balance:ETH{group=\"$group\"})) /\r\n 7200\r\n )\r\n)", "hide": false, "instant": true, "legendFormat": "All Local Validators", "range": false, "refId": "B" } ], "title": "Expected Time Between Proposals", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of transactions, voluntary exits, attester slashings, and proposer slashing in the head block. Full support: Ethereum Metrics Exporter. Limited support: Besu.", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 12, "y": 71 }, "id": 204, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (besu_blockchain_chain_head_transaction_count{group=\"$group\"}) or max by (network) (eth_con_beacon_transactions{group=\"$group\",block_id=\"head\"})", "legendFormat": "Transactions", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (eth_con_beacon_voluntary_exits{group=\"$group\",block_id=\"head\"})", "hide": false, "legendFormat": "Voluntary Exits", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "eth_con_beacon_slashings{group=\"$group\",block_id=\"head\",type=\"attester\"}", "hide": false, "legendFormat": "Attester Slashings", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "eth_con_beacon_slashings{group=\"$group\",block_id=\"head\",type=\"proposer\"}", "hide": false, "legendFormat": "Proposer Slashings", "range": true, "refId": "D" } ], "title": "Head Block", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The percentage of the gas limit used. Full support: Besu, Erigon, Ethereum Metrics Exporter, Geth, Nethermind.", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 0, "mappings": [], "max": 1, "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "super-light-yellow", "value": 0.51 }, { "color": "#EAB839", "value": 0.6 }, { "color": "orange", "value": 0.7 }, { "color": "red", "value": 0.8 }, { "color": "dark-red", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 18, "y": 72 }, "id": 1022, "options": { "displayMode": "lcd", "minVizHeight": 10, "minVizWidth": 0, "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showUnfilled": true }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(max by (network) (besu_blockchain_chain_head_gas_used{group=\"$group\"}/besu_blockchain_chain_head_gas_limit{group=\"$group\"})) or\r\n(max by (network) (execution_fee_gas_used_ratio{group=\"$group\"})) or\r\n(max by (network) (eth_exe_block_head_gas_used{group=\"$group\"}/eth_exe_block_head_gas_limit{group=\"$group\"}))", "legendFormat": "{{network}}", "range": true, "refId": "A" } ], "title": "Gas Used", "type": "bargauge" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Displays the number of times the chain has been reorganized since the consensus client restarted. Full support: Ethereum Metrics Exporter. Partial support: Lighthouse, Prysm, Nimbus, Teku", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 6, "y": 74 }, "id": 201, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (service) (beacon_reorgs_total{group=\"$group\",job!~\"$prysm_validator_job_name|$lighthouse_validator_job_name\"}) or max by (service) (eth_con_beacon_reorg_count{group=\"$group\",job!~\"$prysm_validator_job_name|$lighthouse_validator_job_name\"})", "legendFormat": "Reorg Count", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "eth_con_beacon_reorg_depth{group=\"$group\"}", "hide": false, "legendFormat": "Last Reorg Depth", "range": true, "refId": "B" } ], "title": "Beacon Reorgs", "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 77 }, "id": 897, "panels": [], "title": "Software", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Software client details, including version, latest release, uptime, and database size. Full support: Erigon, Lighthouse, Prysm. Partial support: Besu, Ethereum Metrics Exporter, Geth, Lodestar, Nethermind, Nimbus, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "version" }, "properties": [ { "id": "displayName", "value": "Version" } ] }, { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "displayName", "value": "DB Size" }, { "id": "unit", "value": "decbytes" } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "unit", "value": "dtdurations" }, { "id": "displayName", "value": "Uptime" }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "#EAB839", "value": 172800 }, { "color": "green", "value": 345600 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "instance" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "server" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Version" }, "properties": [ { "id": "custom.width", "value": 302 } ] }, { "matcher": { "id": "byName", "options": "Uptime" }, "properties": [ { "id": "custom.width", "value": 109 } ] }, { "matcher": { "id": "byName", "options": "Service" }, "properties": [ { "id": "custom.width", "value": 185 } ] }, { "matcher": { "id": "byRegexp", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0, "text": "Not Synced" }, "1": { "index": 1, "text": "Synced" }, "10": { "index": 3, "text": "Not Syncing" }, "11": { "index": 2, "text": "Syncing" }, "20": { "index": 4, "text": "Stalled" }, "21": { "index": 5, "text": "Syncing Finalized" }, "22": { "index": 6, "text": "Syncing Head" }, "23": { "index": 7, "text": "Synced" } }, "type": "value" } ] }, { "id": "noValue", "value": "N/A" } ] }, { "matcher": { "id": "byName", "options": "DB Size" }, "properties": [ { "id": "custom.width", "value": 142 } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Connected to EL" }, { "id": "noValue" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0 }, "1": { "index": 1, "text": "Connected" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "tag_name" }, "properties": [ { "id": "displayName", "value": "Latest Release" }, { "id": "links", "value": [ { "targetBlank": true, "title": "GitHub: Tag Name ${__data.fields[2]}", "url": "${__data.fields[0]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Sync Distance" } ] }, { "matcher": { "id": "byName", "options": "html_url" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "client" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "displayName", "value": "Sync %" }, { "id": "unit", "value": "percent" } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 7, "w": 14, "x": 0, "y": 78 }, "id": 982, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "repeat": "group", "repeatDirection": "v", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\ntopk by (service) (1,version{group=\"$group\"}) or\r\non(service) topk by (service) (1,lighthouse_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,prysm_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,beacon_teku_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,execution_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,prometheus_build_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,lodestar_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,blackbox_exporter_build_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,node_exporter_build_info{group=\"$group\"}) or\r\non(service) topk by (service) (1,dirk_release{group=\"$group\"}) or\r\non(service) topk by (service) (1,vouch_release{group=\"$group\"}) or\r\non(service) topk by (service) (1,process_start_time_seconds{group=\"$group\"}) or\r\non(service) topk by (service) (1,eth_exe_web3_client_version{group=\"$group\"}) or\r\non(service) topk by (service) (1,eth_con_node_version{group=\"$group\"})\r\n) * on(client) group_left(tag_name,html_url) topk by (client) (1,last_over_time(release_id{client!=\"\"}[2h]))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "topk by (service) (1,(time() - process_start_time_seconds{group=\"$group\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (service) (bcnode_disk_beaconchain_bytes_total{group=\"$group\"}) or\r\nsum by (service) (eth_db_chaindata_disk_size{group=\"$group\"} + eth_db_chaindata_ancient_size{group=\"$group\"}) or\r\nsum by (service) (db_size{group=\"$group\"}) or\r\nsum by (service) (store_disk_db_size{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "C" } ], "title": "Group Software: $group", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "service" } }, { "id": "organize", "options": { "excludeByName": { "Time 2": true, "Time 3": true, "Time 4": true, "Value": false, "__name__": true, "buildDate": true, "client": true, "client 2": true, "commit": true, "ethereum_role": true, "exported_network": true, "group": true, "group 2": true, "group 3": true, "host": true, "host 2": true, "host 3": true, "html_url": false, "instance": true, "instance 2": true, "instance 3": true, "job": true, "job 2": true, "job 3": true, "json_exporter": true, "module": true, "network": true, "network 1": true, "network 2": true, "network 3": true, "node_name": true, "service": false, "tag_name": false, "version": false }, "indexByName": { "Time": 0, "Value #A": 6, "Value #B": 7, "Value #C": 8, "Value #D": 9, "Value #E": 10, "group": 1, "html_url": 2, "service": 3, "tag_name": 5, "version": 4 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Software client details, including current version, latest release, and uptime. Full support: blackbox_exporter, Grafana, node_exporter, Prometheus. Partial support: json_exporter", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "version" }, "properties": [ { "id": "displayName", "value": "Version" } ] }, { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "unit", "value": "dtdurations" }, { "id": "displayName", "value": "Uptime" }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "#EAB839", "value": 172800 }, { "color": "green", "value": 345600 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "instance" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "server" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "displayName", "value": "Service" } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Sync Status" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0, "text": "Not Synced" }, "1": { "index": 1, "text": "Synced" }, "10": { "index": 3, "text": "Not Syncing" }, "11": { "index": 2, "text": "Syncing" } }, "type": "value" } ] }, { "id": "noValue", "value": "N/A" } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Connected to EL" }, { "id": "noValue" }, { "id": "mappings", "value": [ { "options": { "0": { "index": 0 }, "1": { "index": 1, "text": "Connected" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "tag_name" }, "properties": [ { "id": "displayName", "value": "Latest Release" }, { "id": "links", "value": [ { "targetBlank": true, "title": "", "url": "${__data.fields[0]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "html_url" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "client" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "edition" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 7, "w": 10, "x": 14, "y": 78 }, "id": 983, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "repeat": "host", "repeatDirection": "v", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\ntopk by (service) (1,prometheus_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,blackbox_exporter_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,node_exporter_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,grafana_build_info{host=\"$host\",group=\"\"}) or\r\non(service) topk by (service) (1,process_start_time_seconds{host=\"$host\",group=\"\"})\r\n) * on(client) group_left(tag_name,html_url) topk by (client) (1,last_over_time(release_id{client!=\"\"}[2h]))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "topk by (service) (1,(time() - process_start_time_seconds{host=\"$host\",group=\"\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "Host Software: $host", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "service" } }, { "id": "organize", "options": { "excludeByName": { "Time 1": true, "Time 2": true, "Value #A": false, "Value #B": false, "branch": true, "client 1": true, "client 2": true, "goversion": true, "host 1": true, "host 2": true, "html_url": false, "instance 1": true, "instance 2": true, "job 1": true, "job 2": true, "revision": true, "tag_name": false }, "indexByName": { "Time": 0, "Value #A": 6, "Value #B": 7, "Value #C": 8, "Value #D": 9, "Value #E": 10, "group": 1, "html_url": 2, "service": 3, "tag_name": 5, "version": 4 }, "renameByName": {} } } ], "type": "table" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 85 }, "id": 142, "panels": [], "repeat": "group", "repeatDirection": "h", "title": "Local Validators ($group)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all local validators. Full support: Nimbus, Lighthouse, Lodestar, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 0, "y": 86 }, "id": 972, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,network) (validator_balance{group=\"$group\",job=\"$prysm_validator_job_name\"}) or\r\nsum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})", "instant": true, "interval": "", "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Validators Balance (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Excess balance above the 32 ETH/validator minimum stake required per validator. This value is calculated as the sum of all validator balances minus the number of validators multiplied by 32. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#F2495C" }, { "color": "green", "value": 0 } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 3, "y": 86 }, "id": 52, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(sum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})) -\r\n scalar(32 * count(count by (pubkey) (consensus_validator_balance:ETH{group=\"$group\"}))) or\r\nsum by (group,network) (validator_balance{group=\"$group\",job=\"$prysm_validator_job_name\"}) -\r\n (max by (group,network) (total_local_validators:active{group=\"$group\"}) * 32)", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "title": "Validator Withdrawable (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all monitored addresses. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 86 }, "id": 128, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,network) (address_balance:ETH{group=\"$group\"})", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Addresses Balance (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The value of monitored Ethereum addresses plus the difference between validator balances and required minimum stake. Support: Lighthouse, Lodestar, Nimbus, Prysm, Teku.", "fieldConfig": { "defaults": { "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#F2495C" }, { "color": "green", "value": 0 } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 86 }, "id": 195, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "((sum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})) -\r\n scalar(32 * count(count by (pubkey) (consensus_validator_balance:ETH{group=\"$group\"}))) or\r\nsum by (group,network) (validator_balance{group=\"$group\",job=\"$prysm_validator_job_name\"}) -\r\n (max by (group,network) (total_local_validators:active{group=\"$group\"}) * 32)) + sum by (group,network) (address_balance:ETH{group=\"$group\"})", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "title": "Withdrawable + Addresses (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Difference between validator balances and initial stake plus the value of monitored Ethereum addresses. (Prysm) Note: This value is calculated based on the current balance of validators and addresses, and does not take into account any withdrawals that may have been performed.", "fieldConfig": { "defaults": { "decimals": 4, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#F2495C" }, { "color": "green", "value": 0 } ] }, "unit": "ETH" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 12, "y": 86 }, "id": 954, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "((sum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})) or\r\nsum by (group,network) (validator_balance{group=\"$group\",job=\"$prysm_validator_job_name\"})) + sum by (group,network) (address_balance:ETH{group=\"$group\"})", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "title": "All Balances (ETH)", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current price of ETH in $currency.", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "decimals": 2, "links": [ { "targetBlank": true, "title": "CoinGecko: Ethereum (ETH)", "url": "https://www.coingecko.com/en/coins/ethereum" } ], "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 15, "y": 86 }, "id": 966, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "avg(ethprice{cur=\"$currency\"})", "instant": true, "interval": "", "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "ETH Price ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Current price of ETH in $currency.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [ { "targetBlank": true, "title": "CoinGecko: Ethereum (ETH)", "url": "https://www.coingecko.com/en/coins/ethereum" } ], "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "currencyUSD" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 86 }, "id": 950, "links": [], "maxDataPoints": 100, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "ethprice{cur=\"$currency\"}", "instant": false, "interval": "", "legendFormat": "{{cur}}", "range": true, "refId": "B" } ], "title": "ETH Price ($currency)", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sum of the current balance of all local validators multiplied by the price of ETH in the configured currency. Full support: Nimbus, Lighthouse, Lodestar, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 3, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 0, "y": 89 }, "id": 918, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,network) (validator_balance{group=\"$group\"} * scalar(avg(ethprice{cur=\"$currency\"}))) or\r\nsum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})", "hide": false, "instant": true, "interval": "", "legendFormat": "Balance ($currency)", "refId": "B" } ], "title": "Validators Balance ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "$currency value of excess balance above the 32 ETH/validator minimum stake required per validator. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "decimals": 2, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "green", "value": 0 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 3, "y": 89 }, "id": 101, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(\r\n (sum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})) -\r\n scalar(32 * count(count by (pubkey) (consensus_validator_balance:ETH{group=\"$group\"}))) or\r\n (sum by (group,network) (validator_balance{group=\"$group\"}) -\r\n (max by (group,network) (total_local_validators:active{group=\"$group\"}) * 32))\r\n) *\r\nscalar(avg(ethprice{cur=\"$currency\"}))", "hide": false, "instant": true, "interval": "", "legendFormat": "balance", "refId": "A" } ], "title": "Validator Withdrawable ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Fiat value of the sum of the current balance of all monitored Ethereum addresses. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 2, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 6, "y": 89 }, "id": 145, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(sum by (group,network) (address_balance:ETH{group=\"$group\"}) or on() vector(0)) * scalar(avg(ethprice{cur=\"$currency\"}))", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "Addresses Balance ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The $currency value of monitored Ethereum addresses and the difference between validator balances and required minimum stake. Support: Lighthouse, Lodestar, Nimbus, Prysm, Teku.", "fieldConfig": { "defaults": { "decimals": 2, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "green", "value": 0 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 9, "y": 89 }, "id": 196, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "((\r\n (sum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})) -\r\n scalar(32 * count(count by (pubkey) (consensus_validator_balance:ETH{group=\"$group\"}))) or\r\n (sum by (group,network) (validator_balance{group=\"$group\"}) -\r\n (max by (group,network) (total_local_validators:active{group=\"$group\"}) * 32))\r\n) *\r\nscalar(avg(ethprice{cur=\"$currency\"}))) + (sum by (group,network) (address_balance:ETH{group=\"$group\"}) or on() vector(0)) * scalar(avg(ethprice{cur=\"$currency\"}))", "hide": false, "instant": true, "interval": "", "legendFormat": "balance", "refId": "A" } ], "title": "Withdrawable + Addresses ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Total earnings and address balances in fiat. (Prysm) This value is calculated based on the current balance of validators and addresses, and does not take into account any withdrawals that may have been performed.", "fieldConfig": { "defaults": { "decimals": 2, "mappings": [], "min": 0, "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "green", "value": 0 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 12, "y": 89 }, "id": 955, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "((\r\n (sum by (group,network) (consensus_validator_balance:ETH{group=\"$group\"})) or\r\n (sum by (group,network) (validator_balance{group=\"$group\"})) \r\n) *\r\nscalar(avg(ethprice{cur=\"$currency\"}))) + (sum by (group,network) (address_balance:ETH{group=\"$group\"}) or on() vector(0)) * scalar(avg(ethprice{cur=\"$currency\"}))", "hide": false, "instant": true, "interval": "", "legendFormat": "balance", "refId": "A" } ], "title": "All Balances ($currency)", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of proposals. Each client's proposal count will reset to zero when the client restarts. Full support: Prysm, Teku, Nimbus, Lodestar. No support: Lighthouse", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 15, "y": 89 }, "id": 959, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (validator_successful_proposals{group=\"$group\"})", "format": "table", "instant": true, "legendFormat": "Successful Proposals", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (validator_beacon_node_published_block{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Published Blocks", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (beacon_block_production_successes_total{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Block Production Successes", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (vc_block_produced_total{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Blocks Produced", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (network) (beacon_blocks_sent{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Blocks Sent", "range": false, "refId": "E" } ], "title": "Proposals", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Hourly, daily, weekly, and monthly balance changes to both validators and addresses. Displays the annualized rate of change based on the balance change for the period. Withdrawals will show as a reduction in balance and may result in a lower/negative annualized rate of change until 1 period has past without a withdrawal. Full support: Lighthouse, Lodestar, Nimbus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "fixed" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "period" }, "properties": [ { "id": "mappings", "value": [ { "options": { "1d": { "index": 2, "text": "Past Day" }, "1h": { "index": 1, "text": "Past Hour" }, "30d": { "index": 4, "text": "Past Month" }, "365d": { "index": 5, "text": "Past Year" }, "384s": { "index": 0, "text": "Past Epoch" }, "7d": { "index": 3, "text": "Past Week" } }, "type": "value" } ] }, { "id": "displayName", "value": "Period" } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Validator Δ Rate" }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "yellow", "value": 0 }, { "color": "green", "value": 0.00001 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Validator Δ (ETH)" } ] }, { "matcher": { "id": "byName", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "network\\s*\\d*" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "displayName", "value": "Validator Δ ($currency)" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 2 }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color", "value": { "mode": "thresholds" } } ] }, { "matcher": { "id": "byRegexp", "options": "service\\s*\\d*" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Total Δ (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Address Δ (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Total Δ ($currency)" }, { "id": "decimals", "value": 2 }, { "id": "unit", "value": "short" } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Address Δ ($currency)" }, { "id": "decimals", "value": 2 }, { "id": "unit", "value": "short" } ] }, { "matcher": { "id": "byName", "options": "Value #I" }, "properties": [ { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Total Δ (ETH)" } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "unit", "value": "percentunit" }, { "id": "displayName", "value": "Total Δ Rate" }, { "id": "decimals", "value": 4 }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "yellow", "value": 0 }, { "color": "green", "value": 0.00001 } ] } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #H" }, "properties": [ { "id": "displayName", "value": "Address Δ Rate" }, { "id": "unit", "value": "percentunit" }, { "id": "decimals", "value": 4 }, { "id": "custom.displayMode", "value": "color-text" }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red" }, { "color": "yellow", "value": 0 }, { "color": "green", "value": 0.00001 } ] } } ] } ] }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 92 }, "id": 990, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (period) (validator_balance:increase:384s{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:1h{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:1d{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:7d{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:30d{group=\"$group\"}) or\r\nsum by (period) (validator_balance:increase:365d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Validator Balance Change (ETH)", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n sum by (period) (validator_balance:increase:384s{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:1h{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:1d{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:7d{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:30d{group=\"$group\"}) or\r\n sum by (period) (validator_balance:increase:365d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"})\r\n) * on() scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "Validator Balance Change ($currency)", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(scalar(sum(consensus_validator_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:384s{group=\"$group\"}) * 365 * 225 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:1h{group=\"$group\"}) * 365 * 24 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:1d{group=\"$group\"}) * 365 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:7d{group=\"$group\"}) * 365 / 7 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:30d{group=\"$group\"}) * 365 / 30 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) / total_staked_ETH:avg_over_time:365d{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Validator Annualized Rate of Change", "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "label_replace(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)), \"period\", \"384s\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)), \"period\", \"1h\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)), \"period\", \"1d\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)), \"period\", \"7d\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:30d{group=\"$group\"}), \"period\", \"30d\", \"\", \"\") or\r\nlabel_replace(sum(address_balance:ETH:increase:365d{group=\"$group\"}), \"period\", \"365d\", \"\", \"\")", "format": "table", "hide": false, "instant": true, "legendFormat": "Address Balance Change (ETH)", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n label_replace(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)), \"period\", \"384s\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)), \"period\", \"1h\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)), \"period\", \"1d\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)), \"period\", \"7d\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:30d{group=\"$group\"}), \"period\", \"30d\", \"\", \"\") or\r\n label_replace(sum(address_balance:ETH:increase:365d{group=\"$group\"}), \"period\", \"365d\", \"\", \"\")\r\n) * on() scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "Address Balance Change ($currency)", "range": false, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "((scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:384s{group=\"$group\"}) * 365 * 225 or\r\n((scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:1h{group=\"$group\"}) * 365 * 24 or\r\n((scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:1d{group=\"$group\"}) * 365 or\r\n((scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:7d{group=\"$group\"}) * 365 / 7 or\r\n((scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:30d{group=\"$group\"}) * 365 / 30 or\r\n((scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)))) / total_staked_ETH:avg_over_time:365d{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Address Balance Rate of Change", "range": false, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\nsum by (period) (validator_balance:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) ", "format": "table", "hide": false, "instant": true, "legendFormat": "Total Balance Change (ETH)", "range": false, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n sum by (period) (consensus_validator_balance:ETH:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (consensus_validator_balance:ETH:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:384s{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:1h{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:1d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:7d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:30d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0))) or\r\n sum by (period) (validator_balance:increase:365d{group=\"$group\"}) + scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)))\r\n) * on() scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "Total Balance Change ($currency)", "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(scalar(sum(consensus_validator_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:384s{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:384s{group=\"$group\"}) * 365 * 225 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:1h{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:1h{group=\"$group\"}) * 365 * 24 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:1d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:1d{group=\"$group\"}) * 365 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:7d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:7d{group=\"$group\"}) * 365 / 7 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:30d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:30d{group=\"$group\"}) * 365 / 30 or\r\n(scalar(sum(consensus_validator_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)) + (scalar(sum(address_balance:ETH:increase:365d{group=\"$group\"} or on() vector(0)))))\r\n / total_staked_ETH:avg_over_time:365d{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Total Annualized Rate of Change", "range": false, "refId": "G" } ], "title": "Balance Changes/Annualized Rate", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "period" } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Details of locally monitored validators, including status, balance, attestations, aggregations, proposals, and inactivity score. Validator address links to explorer information for each validator. Includes display of most recent proposal slot with link to view slot details at explorer. Full support: Prysm. Limited support: Lighthouse, Nimbus, Teku.", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "pubkey_short" }, "properties": [ { "id": "displayName", "value": "Validator" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Validator ${__value.text}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_validator}${__data.fields.pubkey}" } ] } ] }, { "matcher": { "id": "byName", "options": "status" }, "properties": [ { "id": "displayName", "value": "Status" }, { "id": "mappings", "value": [ { "options": { "0": { "color": "text", "index": 0, "text": "Unknown" }, "1": { "color": "orange", "index": 1, "text": "Deposited" }, "2": { "color": "yellow", "index": 2, "text": "Pending" }, "3": { "color": "green", "index": 3, "text": "Active" }, "4": { "color": "blue", "index": 4, "text": "Exiting" }, "5": { "color": "red", "index": 5, "text": "Slashing" }, "6": { "color": "text", "index": 6, "text": "Exited" } }, "type": "value" } ] }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "displayName", "value": "Balance (ETH)" }, { "id": "unit", "value": "none" }, { "id": "decimals", "value": 4 }, { "id": "color", "value": { "fixedColor": "green", "mode": "thresholds" } }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "dark-red" }, { "color": "red", "value": 16 }, { "color": "orange", "value": 20 }, { "color": "yellow", "value": 24 }, { "color": "green", "value": 32 } ] } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "displayName", "value": "Proposals" }, { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Last/Next Proposal" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Attestations" } ] }, { "matcher": { "id": "byName", "options": "Value #H" }, "properties": [ { "id": "displayName", "value": "Failed Attestations" }, { "id": "color", "value": { "mode": "thresholds" } }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "yellow", "value": 1 }, { "color": "orange", "value": 2 }, { "color": "red", "value": 3 } ] } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #I" }, "properties": [ { "id": "displayName", "value": "Aggregations" } ] }, { "matcher": { "id": "byName", "options": "Value #J" }, "properties": [ { "id": "displayName", "value": "Failed Aggregations" }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Value #K" }, "properties": [ { "id": "displayName", "value": "Inactivity Score" }, { "id": "color" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "yellow", "value": 1 }, { "color": "orange", "value": 2 }, { "color": "red", "value": 3 }, { "color": "dark-red", "value": 4 } ] } } ] }, { "matcher": { "id": "byName", "options": "Value #G" }, "properties": [ { "id": "displayName", "value": "Last/Next Attestation" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Missed Proposals" }, { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-text" } ] }, { "matcher": { "id": "byName", "options": "Last/Next Proposal" }, "properties": [ { "id": "custom.width", "value": 159 } ] }, { "matcher": { "id": "byName", "options": "Value #L" }, "properties": [ { "id": "displayName", "value": "Balance (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "status" }, "properties": [ { "id": "displayName", "value": "Status" }, { "id": "mappings", "value": [ { "options": { "active_exiting": { "index": 3, "text": "Active - Exiting" }, "active_ongoing": { "index": 2, "text": "Active" }, "active_slashed": { "index": 4, "text": "Active - Slashed" }, "exited_slashed": { "index": 6, "text": "Exited - Slashed" }, "exited_unslashed": { "index": 5, "text": "Exited - Pending Withdrawal Epoch" }, "pending_initialized": { "index": 0, "text": "Pending - Initialized" }, "pending_queued": { "index": 1, "text": "Pending - Queued" }, "withdrawal_done": { "index": 8, "text": "Exited - Withdrawn" }, "withdrawal_possible": { "index": 7, "text": "Exited - Eligible for Withdrawal" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "Balance (ETH)" }, { "id": "decimals", "value": 4 } ] }, { "matcher": { "id": "byName", "options": "index" }, "properties": [ { "id": "displayName", "value": "Index" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Validator ${__value.text}", "url": "https://${__data.fields.explorer}${consensus_explorer_path_validator}${__value.text}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value #M" }, "properties": [ { "id": "displayName", "value": "Balance ($currency)" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 3 } ] }, { "matcher": { "id": "byName", "options": "pubkey" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "host" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "instance" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "job" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "group" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "__name__" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 99 }, "id": 901, "links": [], "options": { "footer": { "enablePagination": true, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Last/Next Proposal" } ] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "topk by (pubkey_short) (1, consensus_validator_balance:ETH{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Balance", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (consensus_validator_balance:ETH{group=\"$group\"}) * scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Balance", "refId": "M" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_successful_proposals{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Proposals", "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (pubkey_short) (validator_next_proposal_slot{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Latest/Upcoming Proposal", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (pubkey_short) (validator_failed_proposals{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "Failed Proposals", "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_successful_attestations{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Attestations", "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (pubkey_short) (validator_next_attestation_slot{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_failed_attestations{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Failed Attestations", "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_successful_aggregations{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Aggregations", "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_failed_aggregations{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Failed Aggregations", "refId": "J" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (pubkey_short) (validator_inactivity_score{group=\"$group\"})", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "Inactivity Score", "refId": "K" } ], "title": "Local Validators", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "pubkey_short", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": { "Time 1": 13, "Time 2": 14, "Time 3": 15, "Time 4": 36, "Time 5": 16, "Time 6": 17, "Time 7": 18, "Time 8": 19, "Time 9": 37, "Value #A": 4, "Value #C": 6, "Value #D": 7, "Value #E": 8, "Value #F": 9, "Value #G": 10, "Value #I": 11, "Value #K": 12, "Value #M": 5, "__name__ 1": 20, "__name__ 2": 21, "explorer": 0, "group 1": 22, "group 2": 23, "host 1": 34, "host 2": 35, "index": 1, "instance 1": 24, "instance 2": 25, "job 1": 26, "job 2": 27, "network 1": 28, "network 2": 29, "pubkey 1": 30, "pubkey 2": 31, "pubkey_short": 2, "service 1": 32, "service 2": 33, "status": 3 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "ETH balance of monitored Ethereum addresses. Includes link to explorer information in Address column. Full support: Besu, Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "unit", "value": "ETH" }, { "id": "decimals", "value": 4 }, { "id": "displayName", "value": "Balance (ETH)" } ] }, { "matcher": { "id": "byName", "options": "network" }, "properties": [ { "id": "displayName", "value": "Network" } ] }, { "matcher": { "id": "byName", "options": "pubkey_short" }, "properties": [ { "id": "displayName", "value": "Address" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Explorer: Address ${__value.text}", "url": "https://${__data.fields.explorer}${execution_explorer_path_address}${__data.fields[0]}" } ] } ] }, { "matcher": { "id": "byName", "options": "service" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "displayName", "value": "Balance ($currency)" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 2 } ] }, { "matcher": { "id": "byType", "options": "time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "^group\\s*\\d*$" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "explorer" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "pubkey" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 8, "w": 10, "x": 0, "y": 107 }, "id": 984, "options": { "footer": { "enablePagination": true, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Balance (ETH)" } ] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,pubkey_short,pubkey,explorer) (address_balance:ETH{group=\"$group\",pubkey!=\"\"})", "format": "table", "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (group,pubkey_short,pubkey) (address_balance:ETH{group=\"$group\",pubkey!=\"\"}) * scalar(avg(ethprice{cur=\"$currency\"}))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "Address Balances", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": { "Time": false, "__name__": true, "instance": true, "job": true, "server": true, "staking_group": true }, "indexByName": { "Time": 3, "Value": 2, "__name__": 6, "instance": 4, "job": 5, "network": 0, "pubkey": 1, "server": 7, "staking_group": 8 }, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of unique local validator public keys being monitored. This includes validators set up explicitly through dashboard configuration and those that may be provided directly by the consensus client.", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "decimals": 0, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 10, "y": 107 }, "id": 996, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "fieldOptions": { "calcs": [ "lastNotNull" ] }, "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "total_consensus_validators:active{group=\"$group\"} or on(group) total_local_validators:active{group=\"$group\"}", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" } ], "title": "# of Local Validators", "transformations": [], "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 115 }, "id": 158, "panels": [], "repeat": "host", "repeatDirection": "h", "title": "Host ($host)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Memory usage on the host, stacked. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "decbytes" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "color", "value": { "fixedColor": "#181b1f", "mode": "fixed" } }, { "id": "custom.hideFrom", "value": { "legend": true, "tooltip": false, "viz": false } } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 116 }, "id": 975, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_Buffers_bytes{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Buffers", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_Slab_bytes{host=\"$host\"})", "interval": "", "legendFormat": "Slab", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_apps_bytes{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Apps", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_Cached_bytes{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Cached", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_memory_MemFree_bytes{host=\"$host\"})", "interval": "", "legendFormat": "Free", "range": true, "refId": "D" } ], "title": "Host Memory Usage", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Processor usage on the server by mode. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMax": 1, "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 6, "y": 116 }, "id": 973, "interval": "", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:guest:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Guest", "range": true, "refId": "I" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:nice:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Nice", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:steal:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "Steal", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:irq:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "IRQ", "range": true, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:iowait:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "IOWait", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:system:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "System", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:softirq:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "SoftIRQ", "range": true, "refId": "H" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_cpu_seconds_total:user:percent{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "User", "range": true, "refId": "B" } ], "title": "CPU", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Overall disk usage (left axis) and client self-reported database size (right axis). Full support: Erigon, Geth, Lighthouse, Prysm. Partial support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "yellow", "value": 0.7 }, { "color": "orange", "value": 0.8 }, { "color": "red", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "decbytes" }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "color", "value": { "mode": "palette-classic" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "decbytes" }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "color", "value": { "mode": "palette-classic" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "max", "value": 1 } ] }, { "matcher": { "id": "byFrameRefID", "options": "E" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "decbytes" }, { "id": "color", "value": { "mode": "palette-classic" } }, { "id": "custom.fillOpacity", "value": 0 } ] }, { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "unit", "value": "decbytes" }, { "id": "color", "value": { "mode": "palette-classic" } }, { "id": "custom.fillOpacity", "value": 0 } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 116 }, "id": 92, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(sum by (host) (node_filesystem_size_bytes{host=\"$host\"}) - sum by (host) (node_filesystem_avail_bytes{host=\"$host\"})) /\r\nsum by (host) (node_filesystem_size_bytes{host=\"$host\"})", "interval": "", "legendFormat": "Disk Use %", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (service) (bcnode_disk_beaconchain_bytes_total{host=\"$host\",job=~\"$prysm_beacon_job_name\"})", "hide": false, "instant": false, "legendFormat": "{{service}}", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (eth_db_chaindata_disk_size{host=\"$host\"} + eth_db_chaindata_ancient_size{host=\"$host\"})", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (db_size{host=\"$host\"})", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (store_disk_db_size{host=\"$host\"})", "hide": false, "legendFormat": "{{service}} Hot DB", "range": true, "refId": "E" } ], "title": "Disk Usage", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Network transmission (tx) and reception (rx) rates across all non-loopback interfaces on the selected host. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "Bps" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 116 }, "id": 14, "options": { "legend": { "calcs": [ "mean" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_network_transmit_bytes_total:non_loopback:increase:1m{host=\"$host\"}/60)", "hide": false, "interval": "", "intervalFactor": 5, "legendFormat": "Transmission (tx)", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (node_network_receive_bytes_total:non_loopback:increase:1m{host=\"$host\"}/60)", "hide": false, "interval": "", "intervalFactor": 5, "legendFormat": "Reception (rx)", "range": true, "refId": "B" } ], "title": "Network Traffic", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Self-reported client resident memory use. Full support: Besu, blackbox_exporter, Erigon, Ethereum Metrics Exporter, Geth, json_exporter, Lighthouse, Lodestar, Nethermind, Nimbus, node_exporter, Prometheus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 122 }, "id": 99, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (host,service) (process_resident_memory_bytes{host=\"$host\"})", "instant": false, "interval": "", "legendFormat": "{{service}}", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host,service) (system_memory_held{host=\"$host\"})", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host,service) (dotnet_total_memory_bytes{host=\"$host\"}) ", "hide": false, "legendFormat": "{{service}}", "range": true, "refId": "B" } ], "title": "Client Resident Memory Usage", "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "reducer": "sum" } } } ], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Host temperature sensor values. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "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": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "celsius" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 6, "y": 122 }, "id": 974, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "node_hwmon_temp_celsius{host=\"$host\"} * on (host,sensor,chip) group_left (label) (node_hwmon_sensor_label{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "{{label}}", "range": true, "refId": "A" } ], "title": "CPU Temperature", "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "include": [ "Core 0", "Core 1", "Core 2", "Core 3", "Package id 0" ], "reducer": "mean" }, "replaceFields": false } } ], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Host disk reads and writes per second. Full support: node_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "iops" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 122 }, "id": 140, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.4", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (rate(node_disk_reads_completed_total{host=\"$host\"}[1m]))", "legendFormat": "Read", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host) (rate(node_disk_writes_completed_total{host=\"$host\"}[1m]))", "hide": false, "legendFormat": "Write", "range": true, "refId": "B" } ], "title": "IOPS", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Humber of open file descriptors per client on the selected host. Full support: Besu, blackbox_exporter, Ethereum Metrics Exporter, json_exporter, Lodestar, Nimbus, node_exporter, Prometheus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 122 }, "id": 198, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (host,service) (process_open_fds{host=\"$host\"})", "instant": false, "interval": "", "legendFormat": "{{service}}", "range": true, "refId": "F" } ], "title": "Open File Descriptors", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Self-reported client virtual memory use. Full support: Besu, blackbox_exporter, Erigon, Ethereum Metrics Exporter, Geth, json_exporter, Lighthouse, Lodestar, Nethermind, Nimbus, node_exporter, Prometheus, Prysm, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 0, "y": 128 }, "id": 197, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "sum by (host,service) (process_virtual_memory_bytes{host=\"$host\"})", "instant": false, "interval": "", "legendFormat": "{{service}}", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host,service) (system_memory_held{host=\"$host\"})", "hide": true, "legendFormat": "{{service}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (host,service) (dotnet_total_memory_bytes{host=\"$host\"}) ", "hide": true, "legendFormat": "{{service}}", "range": true, "refId": "B" } ], "title": "Client Virtual Memory Usage", "transformations": [ { "id": "calculateField", "options": {} } ], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of CPU seconds used by client software per minute. Full support: Besu, blackbox_exporter, Erigon, Ethereum Metrics Exporter, json_exporter, Lighthouse, Lodestar, Nethermind, Nimbus, node_exporter, Prometheus, Prysm, Teku. No support: Geth", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMax": 1, "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 0, "links": [], "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 6, "y": 128 }, "id": 220, "interval": "", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(process_cpu_seconds_total{host=\"$host\"}[1m]))*60", "interval": "", "intervalFactor": 1, "legendFormat": "{{service}}", "range": true, "refId": "I" } ], "title": "Process CPU Seconds (per minute)", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Average (5s) time to complete disk reads/writes.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "red", "value": 80 } ] }, "unit": "s" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" } ] } ] }, "gridPos": { "h": 6, "w": 6, "x": 12, "y": 128 }, "id": 1024, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (device) (rate(node_disk_read_time_seconds_total{host=\"$host\"}[1m])/rate(node_disk_reads_completed_total{host=\"$host\"}[1m]) * 100)", "legendFormat": "Read Latency - {{device}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (device) (rate(node_disk_write_time_seconds_total{host=\"$host\"}[1m])/rate(node_disk_writes_completed_total{host=\"$host\"}[1m]) * 100)", "hide": false, "legendFormat": "Write Latency - {{device}}", "range": true, "refId": "B" } ], "title": "Read/Write Latency", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Network response time/availability of remote servers. Full support: blackbox_exporter", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "links": [], "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 18, "y": 128 }, "id": 81, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.1.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (host,destination) (probe_duration_seconds{host=\"$host\"})", "interval": "", "intervalFactor": 1, "legendFormat": "{{destination}}", "range": true, "refId": "A" } ], "title": "Ping", "type": "timeseries" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 134 }, "id": 941, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Bytes read from/written to the disk. Full support: Erigon, Geth, Lighthouse", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "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": "green" }, { "color": "red", "value": 80 } ] }, "unit": "Bps" }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 26 }, "id": 935, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(process_io_storage_read_bytes_total{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(system_disk_readbytes{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(store_disk_db_read_bytes_total{group=\"$group\"}[1m]))", "legendFormat": "{{service}} Read", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(process_io_storage_written_bytes_total{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(system_disk_writebytes{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(store_disk_db_write_bytes_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Write", "range": true, "refId": "B" } ], "title": "Disk Bytes per Second", "type": "timeseries" } ], "repeat": "group", "repeatDirection": "h", "title": "Erigon, Geth, Lighthouse ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 135 }, "id": 556, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of read/write calls per second. Full support: Erigon, Geth, Lighthouse, Lodestar, Prysm", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "ops" }, "overrides": [] }, "gridPos": { "h": 7, "w": 6, "x": 0, "y": 24 }, "id": 153, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(process_io_read_syscalls_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} IO Read Syscalls", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(process_io_write_syscalls_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "IO Write Syscalls", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(validator_db_write_req_total{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(bolt_tx_writes_total{group=\"$group\",job!=\"$prysm_validator_job_name\"}[1m])) or\r\nsum by (service) (rate(lodestar_db_write_req_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} DB Writes", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(validator_db_read_req_total{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(bolt_db_read_tx_total{group=\"$group\",job!=\"$prysm_validator_job_name\"}[1m])) or\r\nsum by (service) (rate(lodestar_db_read_req_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} DB Reads", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(disk_node_writes_total{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(system_disk_writecount{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Disk Writes", "range": true, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(disk_node_reads_total{group=\"$group\"}[1m])) or\r\nsum by (service) (rate(system_disk_readcount{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Disk Reads", "range": true, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(store_disk_db_read_count_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Disk DB Reads", "range": true, "refId": "G" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (service) (rate(store_disk_db_write_count_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Disk DB Writes", "range": true, "refId": "H" } ], "title": "Read/Write Calls per Second", "type": "timeseries" } ], "repeat": "group", "repeatDirection": "h", "title": "Erigon, Geth, Lighthouse, Lodestar, Prysm ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 136 }, "id": 166, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Estimated maximum priority fee required for inclusion. Full support: Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 9, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 25 }, "id": 192, "options": { "legend": { "calcs": [ "mean" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (network) (execution_eth_maxPriorityFeePerGas{group=\"$group\"})/1000000000", "legendFormat": "{{service}}", "range": true, "refId": "A" } ], "title": "Estimated Max Priority Fee per Gas (gwei)", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Estimated maximum priority fee required for inclusion. Full support: Erigon, Geth, Nethermind", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 9, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 12, "y": 25 }, "id": 986, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (network) (execution_eth_maxPriorityFeePerGas{group=\"$group\"})/1000000000", "instant": true, "legendFormat": "{{service}}", "range": false, "refId": "A" } ], "title": "Estimated Max Priority Fee per Gas (gwei)", "type": "stat" } ], "repeat": "group", "repeatDirection": "h", "title": "Erigon, Geth, Nethermind ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 137 }, "id": 149, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of API calls to the client, by HTTP path. Full support: Lighthouse", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 8, "w": 11, "x": 0, "y": 26 }, "id": 893, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service,path) (rate(http_api_paths_total{group=\"$group\"}[1m]))", "legendFormat": "{{path}}", "range": true, "refId": "A" } ], "title": "API Calls Received by HTTP Path per Second", "type": "timeseries" } ], "repeat": "group", "repeatDirection": "h", "title": "Lighthouse ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 138 }, "id": 895, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "API calls transmitted per second. Fully Supported: Lighthouse, Lodestar, Teku", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "F" }, "properties": [ { "id": "custom.stacking", "value": { "group": "A", "mode": "none" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "E" }, "properties": [ { "id": "custom.stacking", "value": { "group": "A", "mode": "none" } } ] } ] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 27 }, "id": 892, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_eth1_requests_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Execution Total", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(bn_endpoint_requests{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Beacon Total", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(bn_endpoint_errors{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Beacon Errors", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_reqresp_outgoing_requests_error_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (rate(beacon_reqresp_outgoing_requests_total{group=\"$group\"}[1m]))", "hide": false, "legendFormat": "{{service}} Requests", "range": true, "refId": "E" } ], "title": "API Calls Transmitted per Second", "type": "timeseries" } ], "repeat": "group", "repeatDirection": "h", "title": "Lighthouse, Lodestar, Teku ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 139 }, "id": 1017, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Lighthouse, Nimbus", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 28 }, "id": 1003, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Oranges", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "none" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(beacon_block_delay_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(beacon_block_observed_slot_start_delay_time_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "hide": false, "legendFormat": "{{le}}", "range": true, "refId": "B" } ], "title": "Block Arrival Latency", "type": "heatmap" } ], "repeat": "group", "repeatDirection": "h", "title": "Lighthouse, Nimbus ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 140 }, "id": 187, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Consensus client errors/warnings over time. Full support: Prysm, Lighthouse", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1, "scaleDistribution": { "type": "linear" } }, "mappings": [], "noValue": "Requires: Lighthouse, Prysm", "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "short" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 6, "w": 7, "x": 0, "y": 29 }, "id": 124, "interval": "1m", "maxDataPoints": 11400, "options": { "barRadius": 0, "barWidth": 1, "groupWidth": 1, "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "orientation": "auto", "showValue": "never", "stacking": "none", "tooltip": { "mode": "multi", "sort": "none" }, "xTickLabelRotation": 0, "xTickLabelSpacing": 100 }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (log_entries_total:errors:per_minute{group=\"$group\",job=~\"$prysm_beacon_job_name|$lighthouse_beacon_job_name\"})", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (log_entries_total:warnings:per_minute{group=\"$group\",job=~\"$prysm_beacon_job_name|$lighthouse_beacon_job_name\"})", "hide": false, "legendFormat": "{{service}} Warnings", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (log_entries_total:critical:per_minute{group=\"$group\",job=~\"$lighthouse_beacon_job_name\"})", "hide": false, "legendFormat": "{{service}} Critical Errors", "range": true, "refId": "A" } ], "title": "Consensus Client Errors/Warnings", "type": "barchart" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Validator client errors/warnings over time. Full support: Prysm, Lighthouse", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "fillOpacity": 80, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1, "scaleDistribution": { "type": "linear" } }, "mappings": [], "noValue": "Requires: Lighthouse, Prysm", "thresholds": { "mode": "absolute", "steps": [ { "color": "text" } ] }, "unit": "short" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 6, "w": 7, "x": 7, "y": 29 }, "id": 129, "interval": "1m", "maxDataPoints": 11400, "options": { "barRadius": 0, "barWidth": 1, "groupWidth": 1, "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "orientation": "auto", "showValue": "never", "stacking": "none", "tooltip": { "mode": "multi", "sort": "desc" }, "xTickLabelRotation": 0, "xTickLabelSpacing": 100 }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (log_entries_total:errors:per_minute{group=\"$group\",job=~\"$prysm_validator_job_name|$lighthouse_validator_job_name\"})", "hide": false, "legendFormat": "{{service}} Errors", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (log_entries_total:warnings:per_minute{group=\"$group\",job=~\"$prysm_validator_job_name|$lighthouse_validator_job_name\"})", "hide": false, "legendFormat": "{{service}} Warnings", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (log_entries_total:critical:per_minute{group=\"$group\",job=~\"$lighthouse_validator_job_name\"})", "hide": false, "legendFormat": "{{service}} Critical Errors", "range": true, "refId": "B" } ], "title": "Validator Client Errors/Warnings", "type": "barchart" } ], "repeat": "group", "repeatDirection": "h", "title": "Lighthouse, Prysm ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 141 }, "id": 178, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The number of scheduled proposals for the current and next epochs. Full support: Lighthouse, Teku", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 0, "y": 30 }, "id": 164, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (group,service) (vc_beacon_proposal_count{group=\"$group\",task=\"next_epoch\"})", "hide": false, "legendFormat": "Next Epoch", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service) (vc_beacon_proposal_count{group=\"$group\",task=\"current_epoch\"})", "hide": false, "instant": true, "legendFormat": "Current Epoch", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (validator_scheduled_block_duties_current{group=\"$group\"})", "hide": false, "legendFormat": "Scheduled Proposals", "range": true, "refId": "A" } ], "title": "Scheduled Proposals", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "The number of scheduled attestations for the current and next epochs. Full support: Lighthouse", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 3, "x": 3, "y": 30 }, "id": 163, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (service) (vc_beacon_attester_count{group=\"$group\",task=\"current_epoch\"})", "hide": false, "legendFormat": "Current Epoch", "range": true, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (service) (vc_beacon_attester_count{group=\"$group\",task=\"next_epoch\"})", "hide": false, "legendFormat": "Next Epoch", "range": true, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max by (service) (validator_scheduled_attestation_duties_current{group=\"$group\"})", "hide": false, "legendFormat": "Scheduled Attestations", "range": true, "refId": "A" } ], "title": "Scheduled Attestations", "type": "stat" } ], "repeat": "group", "repeatDirection": "h", "title": "Lighthouse, Teku ($group)", "type": "row" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 142 }, "id": 224, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Sync status of connected peers, if client is able to identify. Full support: Lodestar", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 20, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 7, "w": 6, "x": 0, "y": 31 }, "id": 173, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "lodestar_sync_range_sync_peers{group=\"$group\"}", "legendFormat": "{{service}} - {{syncType}}", "range": true, "refId": "A" } ], "title": "Consensus Peer Sync Status", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Lodestar", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 7, "w": 12, "x": 6, "y": 31 }, "id": 1014, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Oranges", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "s" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(beacon_fork_choice_find_head_seconds_bucket{group=\"$group\"}[1m]))", "format": "heatmap", "hide": false, "legendFormat": "{{le}}", "range": true, "refId": "B" } ], "title": "Fork Choice Find Head", "type": "heatmap" } ], "repeat": "group", "repeatDirection": "h", "title": "Lodestar ($group)", "type": "row" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 143 }, "id": 144, "panels": [], "repeat": "group", "repeatDirection": "h", "title": "Prysm ($group)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Clock time of the slot for which the next proposal is scheduled for local validators. Full support: Prysm", "fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "links": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__field.labels.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ], "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "dateTimeAsSystem" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 0, "y": 144 }, "id": 991, "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(\r\n\tmin by (group,network)\r\n\t(\r\n\t\t(\r\n\t\t\tmax by (group,network,pubkey)\r\n\t\t\t(\r\n\t\t\t\tvalidator_next_proposal_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12))\r\n\t\t\t) * 12\r\n\t\t)\r\n\t)\r\n\t+\r\n\tscalar\r\n\t(\r\n\t\tlast_over_time\r\n\t\t(\r\n\t\t\tconsensus_beacon_genesis_time{group=\"$group\"}[2h]\r\n\t\t)\r\n\t)\r\n) * 1000", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "C" } ], "title": "Next Proposal Date/Time", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "List of local validators and their scheduled attestations/proposals, and the amount of time remaining until those slots. Time remaining is as of the last Grafana data refresh. Full support: Prysm", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "pubkey_short" }, "properties": [ { "id": "unit", "value": "string" }, { "id": "displayName", "value": "Validator" } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "displayName", "value": "Next Attestation" } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "unit", "value": "s" }, { "id": "displayName", "value": "Attestation Time Remaining" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "displayName", "value": "Next Proposal" } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "unit", "value": "s" }, { "id": "displayName", "value": "Proposal Time Remaining" } ] } ] }, "gridPos": { "h": 12, "w": 18, "x": 6, "y": 144 }, "id": 900, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Attestation Time Remaining" } ] }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(max by (network,pubkey_short,index) (validator_next_proposal_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12))))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(max by (network,pubkey_short,index) (validator_next_proposal_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)))) * 12 + scalar(max by (network) (last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h])) - time())", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(max by (network,pubkey_short,index) (validator_next_attestation_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12))))", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(max by (network,pubkey_short,index) (validator_next_attestation_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)))) * 12 + scalar(max by (network) (last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h])) - time())", "format": "table", "hide": false, "instant": true, "legendFormat": "__auto", "range": false, "refId": "B" } ], "title": "Upcoming Validator Duties", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": { "Time": true, "group": true, "network": true }, "indexByName": {}, "renameByName": {} } } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Displays the current slot and the slot number for the next scheduled proposal across all local validators. Also displays the amount of time remaining until that slot. Time remaining is as of the last Grafana data refresh. Full support: Prysm", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "links": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__field.labels.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ], "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "unit", "value": "s" } ] }, { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "mappings", "value": [ { "options": { "from": 1, "result": { "index": 0, "text": "Current Epoch" }, "to": 1000000 }, "type": "range" } ] } ] }, { "matcher": { "id": "byFrameRefID", "options": "D" }, "properties": [ { "id": "mappings", "value": [ { "options": { "from": 1, "result": { "index": 0, "text": "Next Epoch" }, "to": 1000000 }, "type": "range" } ] } ] }, { "matcher": { "id": "byRegexp", "options": "Proposal Slot" }, "properties": [ { "id": "mappings", "value": [ { "options": { "-1": { "index": 0, "text": "Not Scheduled" } }, "type": "value" } ] } ] } ] }, "gridPos": { "h": 3, "w": 6, "x": 0, "y": 147 }, "id": 136, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service,explorer) (floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)) or\r\nmax by (group,service,explorer) (beacon_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"}) or \r\nmax by (group,service,explorer) (beacon_clock_slot{group=\"$group\"})", "hide": false, "instant": true, "legendFormat": "Current Slot", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "min by (group,network,explorer) (max by (group,network,pubkey) (validator_next_proposal_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)))) or on() vector(-1)", "hide": false, "instant": true, "legendFormat": "Proposal Slot", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "min by (group,network,explorer) (max by (group,network,pubkey) (validator_next_proposal_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)))) * 12 + scalar(max by (group,network) (last_over_time(consensus_beacon_genesis_time{group=\"Goerli Prysm/Geth\"}[2h])) - time())", "hide": false, "instant": true, "legendFormat": "Time Remaining", "range": false, "refId": "B" } ], "title": "Next Proposal", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Clock time of the slot for which the last proposal was submitted by local validators. Full support: Prysm", "fieldConfig": { "defaults": { "color": { "fixedColor": "text", "mode": "fixed" }, "links": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__field.labels.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ], "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "dateTimeAsSystem" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 0, "y": 150 }, "id": 953, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "(scalar(last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h])) + (max by (group,network) (validator_next_proposal_slot{group=\"$group\"})) * 12) * 1000", "hide": false, "instant": true, "legendFormat": "Last Proposal Date/Time", "range": false, "refId": "A" } ], "title": "Last Proposal Date/Time", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Displays the current slot and the slot number for the next scheduled attestation across all local validators. Also displays the amount of time remaining until that slot. Time remaining is as of the last Grafana data refresh. Full support: Prysm", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "links": [ { "targetBlank": true, "title": "Explorer: Slot ${__value.numeric}", "url": "https://${__field.labels.explorer}${consensus_explorer_path_slot}${__value.numeric}" } ], "mappings": [], "noValue": "...", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "unit", "value": "none" } ] }, { "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "unit", "value": "s" } ] }, { "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "unit", "value": "none" } ] } ] }, "gridPos": { "h": 3, "w": 6, "x": 0, "y": 153 }, "id": 135, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max by (group,service,explorer) (floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)) or\r\nmax by (group,service,explorer) (beacon_slot{group=\"$group\",job!=\"$prysm_validator_job_name\"}) or \r\nmax by (group,service,explorer) (beacon_clock_slot{group=\"$group\"})", "hide": false, "instant": true, "legendFormat": "Current Slot", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "min by (group,network,explorer) (max by (group,network,pubkey,explorer) (validator_next_attestation_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12))))", "hide": false, "instant": true, "legendFormat": "Next Attestation", "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "min by (group,network,explorer) (max by (group,network,pubkey,explorer) (validator_next_attestation_slot{group=\"$group\"} > scalar(floor((time() - last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h]))/12)))) * 12 + scalar(max by (group,network,explorer) (last_over_time(consensus_beacon_genesis_time{group=\"$group\"}[2h])) - time())", "hide": false, "instant": true, "legendFormat": "Time Remaining", "range": false, "refId": "B" } ], "title": "Next Attestation", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 156 }, "id": 1002, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Reds", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "none" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(attestation_inclusion_delay_slots_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Attestation Inclusion Delay (slots)", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 156 }, "id": 1015, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Greens", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(block_arrival_latency_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Block Arrival Latency", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 164 }, "id": 1011, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Oranges", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(new_block_head_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "New Block Head", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 164 }, "id": 1009, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Greens", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(new_payload_v1_latency_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "New Payload Latency", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 172 }, "id": 1010, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Oranges", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(new_att_head_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "New Attestation Head", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Lodestar, Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 172 }, "id": 1001, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Greens", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(forkchoice_updated_v1_latency_milliseconds_bucket{group=\"$group\"}[1m]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Fork Choice Updated Latency", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 180 }, "id": 1012, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Oranges", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(process_attestations_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Process Attestations", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 180 }, "id": 1004, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Greens", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(get_payload_v1_latency_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Get Payload Latency", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 188 }, "id": 1008, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Greens", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(get_header_latency_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Get Header Latency", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Supported: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 188 }, "id": 1013, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Greens", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "ms" } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (le) (rate(register_validator_latency_milliseconds_bucket{group=\"$group\"}[384s]))", "format": "heatmap", "legendFormat": "{{le}}", "range": true, "refId": "A" } ], "title": "Register Validator Latency", "type": "heatmap" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of successful attestations and aggregations over time. Full support: Prysm", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 196 }, "id": 131, "maxDataPoints": 2500, "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Oranges", "steps": 64 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false } }, "pluginVersion": "9.2.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (validator_successful_aggregations:per_minute{group=\"$group\"})", "hide": false, "legendFormat": "Aggregations", "range": true, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum by (group,service) (validator_successful_attestations:per_minute{group=\"$group\"})", "legendFormat": "Attestations", "range": true, "refId": "A" } ], "title": "Attestations/Aggregations", "type": "heatmap" } ], "refresh": "1m", "schemaVersion": 37, "style": "dark", "tags": [], "templating": { "list": [ { "description": "The three-character currency code of the currency in which to show fiat values. Options: USD, EUR, JPY, GBP, AUD, CAD, CHF, CNY, HKD, NZD, ILS, KRW, MXN, RUB, SGD, TWD, and INR. Case-sensitive.", "hide": 2, "label": "Currency Code", "name": "currency", "query": "${VAR_CURRENCY}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_CURRENCY}", "text": "${VAR_CURRENCY}", "selected": false }, "options": [ { "value": "${VAR_CURRENCY}", "text": "${VAR_CURRENCY}", "selected": false } ] }, { "description": "The name of the Prysm beacon scrape job in the Prometheus configuration file.", "hide": 2, "label": "Prysm Beacon Job Name", "name": "prysm_beacon_job_name", "query": "${VAR_PRYSM_BEACON_JOB_NAME}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_PRYSM_BEACON_JOB_NAME}", "text": "${VAR_PRYSM_BEACON_JOB_NAME}", "selected": false }, "options": [ { "value": "${VAR_PRYSM_BEACON_JOB_NAME}", "text": "${VAR_PRYSM_BEACON_JOB_NAME}", "selected": false } ] }, { "description": "The name of the Prysm validator scrap job in the Prometheus configuration file.", "hide": 2, "label": "Prysm Validator Job Name", "name": "prysm_validator_job_name", "query": "${VAR_PRYSM_VALIDATOR_JOB_NAME}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_PRYSM_VALIDATOR_JOB_NAME}", "text": "${VAR_PRYSM_VALIDATOR_JOB_NAME}", "selected": false }, "options": [ { "value": "${VAR_PRYSM_VALIDATOR_JOB_NAME}", "text": "${VAR_PRYSM_VALIDATOR_JOB_NAME}", "selected": false } ] }, { "description": "The name of the lighthouse validator scrap job in the Prometheus configuration file.", "hide": 2, "label": "Lighthouse Validator Job Name", "name": "lighthouse_validator_job_name", "query": "${VAR_LIGHTHOUSE_VALIDATOR_JOB_NAME}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_LIGHTHOUSE_VALIDATOR_JOB_NAME}", "text": "${VAR_LIGHTHOUSE_VALIDATOR_JOB_NAME}", "selected": false }, "options": [ { "value": "${VAR_LIGHTHOUSE_VALIDATOR_JOB_NAME}", "text": "${VAR_LIGHTHOUSE_VALIDATOR_JOB_NAME}", "selected": false } ] }, { "hide": 2, "label": "Lighthouse Beacon Job Name", "name": "lighthouse_beacon_job_name", "query": "${VAR_LIGHTHOUSE_BEACON_JOB_NAME}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_LIGHTHOUSE_BEACON_JOB_NAME}", "text": "${VAR_LIGHTHOUSE_BEACON_JOB_NAME}", "selected": false }, "options": [ { "value": "${VAR_LIGHTHOUSE_BEACON_JOB_NAME}", "text": "${VAR_LIGHTHOUSE_BEACON_JOB_NAME}", "selected": false } ] }, { "hide": 2, "label": "Consensus Explorer Epoch Path", "name": "consensus_explorer_path_epoch", "query": "${VAR_CONSENSUS_EXPLORER_PATH_EPOCH}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_CONSENSUS_EXPLORER_PATH_EPOCH}", "text": "${VAR_CONSENSUS_EXPLORER_PATH_EPOCH}", "selected": false }, "options": [ { "value": "${VAR_CONSENSUS_EXPLORER_PATH_EPOCH}", "text": "${VAR_CONSENSUS_EXPLORER_PATH_EPOCH}", "selected": false } ] }, { "hide": 2, "label": "Consensus Explorer Slot Path", "name": "consensus_explorer_path_slot", "query": "${VAR_CONSENSUS_EXPLORER_PATH_SLOT}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_CONSENSUS_EXPLORER_PATH_SLOT}", "text": "${VAR_CONSENSUS_EXPLORER_PATH_SLOT}", "selected": false }, "options": [ { "value": "${VAR_CONSENSUS_EXPLORER_PATH_SLOT}", "text": "${VAR_CONSENSUS_EXPLORER_PATH_SLOT}", "selected": false } ] }, { "description": "", "hide": 2, "label": "Execution Explorer Block Path", "name": "execution_explorer_path_block", "query": "${VAR_EXECUTION_EXPLORER_PATH_BLOCK}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_EXECUTION_EXPLORER_PATH_BLOCK}", "text": "${VAR_EXECUTION_EXPLORER_PATH_BLOCK}", "selected": false }, "options": [ { "value": "${VAR_EXECUTION_EXPLORER_PATH_BLOCK}", "text": "${VAR_EXECUTION_EXPLORER_PATH_BLOCK}", "selected": false } ] }, { "description": "", "hide": 2, "label": "Execution Explorer Address URL", "name": "execution_explorer_path_address", "query": "${VAR_EXECUTION_EXPLORER_PATH_ADDRESS}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_EXECUTION_EXPLORER_PATH_ADDRESS}", "text": "${VAR_EXECUTION_EXPLORER_PATH_ADDRESS}", "selected": false }, "options": [ { "value": "${VAR_EXECUTION_EXPLORER_PATH_ADDRESS}", "text": "${VAR_EXECUTION_EXPLORER_PATH_ADDRESS}", "selected": false } ] }, { "description": "URL to beacon chain explorer validator page. Validator public key will be appended to this URL.", "hide": 2, "label": "Consensus Explorer Validator Path", "name": "consensus_explorer_path_validator", "query": "${VAR_CONSENSUS_EXPLORER_PATH_VALIDATOR}", "skipUrlSync": false, "type": "constant", "current": { "value": "${VAR_CONSENSUS_EXPLORER_PATH_VALIDATOR}", "text": "${VAR_CONSENSUS_EXPLORER_PATH_VALIDATOR}", "selected": false }, "options": [ { "value": "${VAR_CONSENSUS_EXPLORER_PATH_VALIDATOR}", "text": "${VAR_CONSENSUS_EXPLORER_PATH_VALIDATOR}", "selected": false } ] }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "definition": "label_values(group)", "description": "Represents a group of client software operating together and may include consensus, execution, validator, remote key manager or other clients.", "hide": 0, "includeAll": false, "label": "Group", "multi": true, "name": "group", "options": [], "query": { "query": "label_values(group)", "refId": "StandardVariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "definition": "label_values(host)", "description": "The host or server for which hardware and network resource metrics will be reported via node_exporter and blackbox_exporter.", "hide": 0, "includeAll": false, "label": "Host", "multi": true, "name": "host", "options": [], "query": { "query": "label_values(host)", "refId": "StandardVariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "type": "query" }, { "current": { "selected": false, "text": "1.0.1", "value": "1.0.1" }, "hide": 2, "label": "Stake Local Dashboard Version", "name": "stakelocal_version", "options": [ { "selected": true, "text": "1.0.1", "value": "1.0.1" } ], "query": "1.0.1", "skipUrlSync": false, "type": "textbox" } ] }, "time": { "from": "now-2d", "to": "now" }, "timepicker": { "refresh_intervals": [ "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "Stake Local Dashboard", "uid": "", "version": 1, "weekStart": "" }