kilnfi / cosmos-validator-watcher

Real-time Cosmos-based chains monitoring
MIT License
66 stars 18 forks source link

Include Grafana Dashboard Json export #45

Open sijuu opened 9 months ago

sijuu commented 9 months ago

Can you also include grafana json export for the dashboard which is shown in screenshot. It would be helpful to start with

Aminechakr commented 9 months ago

Any news about the Grafana dashboard please 🙏 ?

MattKetmo commented 9 months ago

Hey, sure! :)

I might need to edit the one we currently use, mainly to change the variables (cluster & namespace variables should probably be removed since it's related to our k8s env).

I'll paste it here so you can check if it works for you.

Aminechakr commented 9 months ago

Sure, thank you @MattKetmo would be interested also with k8s version though! thank you for the help!!

MattKetmo commented 9 months ago

Hello, here is the Grafana json export of the dashboard we are using.

I did only one change : a replaced the variables cluster+namespace by chain_id. The cluster/namespace is related on how we run things in k8s (each protocol in its namespace) whereas chain_id is exporter by the watcher to more generic.

However the Loki panel to show the logs in real time should probably be updated on your side depending on which labels you run the app.

grafana-cosmos-validator-watcher.json (click to expand) ``` { "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" }, { "name": "DS_LOKI", "label": "Loki", "description": "", "type": "datasource", "pluginId": "loki", "pluginName": "Loki" } ], "__elements": {}, "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "10.2.0" }, { "type": "panel", "id": "logs", "name": "Logs", "version": "" }, { "type": "datasource", "id": "loki", "name": "Loki", "version": "1.0.0" }, { "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": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, "id": null, "links": [], "liveNow": false, "panels": [ { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 25, "panels": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-text" } }, { "id": "displayName", "value": "Tokens" }, { "id": "custom.width", "value": 80 } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.width", "value": 80 }, { "id": "displayName", "value": "Bonded" }, { "id": "custom.cellOptions", "value": { "type": "color-text" } } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-background" } }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 1 } ] } }, { "id": "custom.width", "value": 80 }, { "id": "displayName", "value": "Jailed" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Rank" }, { "id": "custom.width", "value": 80 } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Uptime" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "orange", "value": 50 }, { "color": "#EAB839", "value": 80 }, { "color": "green", "value": 90 } ] } }, { "id": "custom.width", "value": 80 }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Missed" }, { "id": "custom.width", "value": 80 }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 1 }, { "color": "orange", "value": 10 }, { "color": "red", "value": 20 } ] } }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] }, { "matcher": { "id": "byName", "options": "namespace" }, "properties": [ { "id": "custom.hidden", "value": true } ] } ] }, "gridPos": { "h": 21, "w": 12, "x": 0, "y": 1 }, "id": 23, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "name" } ] }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "100 * \nsum(rate(cosmos_validator_watcher_validated_blocks[5m])) by (chain_id, name) \n/ on(instance, chain_id) group_left() \nsum(rate(cosmos_validator_watcher_tracked_blocks[5m])) by (chain_id)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "100 * \nsum(rate(cosmos_validator_watcher_solo_missed_blocks[5m])) by (chain_id, name) \n/ on(instance, chain_id) group_left() \nsum(rate(cosmos_validator_watcher_tracked_blocks[5m])) by (chain_id)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_rank) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_tokens) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_is_bonded) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_is_jailed) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "C" } ], "title": "Validators Stats", "transformations": [ { "id": "merge", "options": {} } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "proposal_id" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "auto" } }, { "id": "displayName", "value": "Proposal" }, { "id": "custom.width", "value": 120 }, { "id": "links", "value": [ { "title": "", "url": "https://validator.keplr.app/vote/${__data.fields.namespace}/${__data.fields.proposal_id}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "custom.width", "value": 80 }, { "id": "displayName", "value": "Voted" }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] }, { "matcher": { "id": "byName", "options": "chain_id" }, "properties": [ { "id": "displayName", "value": "Chain ID" }, { "id": "custom.width", "value": 180 } ] }, { "matcher": { "id": "byName", "options": "namespace" }, "properties": [ { "id": "displayName", "value": "Namespace" }, { "id": "custom.width", "value": 150 } ] }, { "matcher": { "id": "byName", "options": "name" }, "properties": [ { "id": "displayName", "value": "Validator" } ] } ] }, "gridPos": { "h": 21, "w": 12, "x": 12, "y": 1 }, "id": 26, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Voted" } ] }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "min(cosmos_validator_watcher_vote) by (namespace, chain_id, name, proposal_id)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "A" } ], "title": "Votes", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": { "Time": 0, "Value": 5, "chain_id": 2, "name": 3, "namespace": 1, "proposal_id": 4 }, "renameByName": {} } } ], "type": "table" } ], "title": "All Chains", "type": "row" }, { "gridPos": { "h": 1, "w": 24, "x": 0, "y": 1 }, "id": 10, "title": "Global Stats", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 0, "y": 2 }, "id": 5, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"})", "instant": false, "range": true, "refId": "A" } ], "title": "Block Height", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 6, "y": 2 }, "id": 21, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(increase(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}[10m])) by (chain_id) / 10", "instant": false, "range": true, "refId": "A" } ], "title": "Block / min", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 10, "y": 2 }, "id": 6, "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(cosmos_validator_watcher_active_set{chain_id=\"$chain_id\"})", "instant": false, "range": true, "refId": "A" } ], "title": "Active Set", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "0", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 5, "x": 14, "y": 2 }, "id": 8, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "sum(cosmos_validator_watcher_tokens{chain_id=\"$chain_id\"})", "instant": false, "range": true, "refId": "A" } ], "title": "Total Staked", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 5, "x": 19, "y": 2 }, "id": 7, "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(cosmos_validator_watcher_seat_price{chain_id=\"$chain_id\"})", "instant": false, "legendFormat": "{{label_name}}", "range": true, "refId": "A" } ], "title": "Seat Price", "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 6 }, "id": 19, "panels": [], "title": "Next Upgrade", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#dee3e8", "value": null }, { "color": "blue", "value": 0 } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 0, "y": 7 }, "id": 20, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(cosmos_validator_watcher_upgrade_plan{chain_id=\"$chain_id\"}) by (chain_id)", "hide": false, "instant": false, "range": true, "refId": "C" } ], "title": "Block Height", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#dee3e8", "value": null }, { "color": "blue", "value": 0 } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 6, "y": 7 }, "id": 17, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "name" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(cosmos_validator_watcher_upgrade_plan{chain_id=\"$chain_id\"}) by (version)", "hide": false, "instant": false, "legendFormat": "{{version}}", "range": true, "refId": "C" } ], "title": "Version", "transformations": [], "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#dee3e8", "value": null }, { "color": "blue", "value": 0 } ] }, "unit": "dateTimeAsLocal" }, "overrides": [] }, "gridPos": { "h": 4, "w": 8, "x": 10, "y": 7 }, "id": 15, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "1000*\n(time() +\n(\n max(cosmos_validator_watcher_upgrade_plan{chain_id=\"$chain_id\"}) by (chain_id) - \n max(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}) by (chain_id)\n) \n/\nsum(predict_linear(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}[5h], 5*60) - cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}) by (chain_id) \n* 5*60)", "hide": false, "instant": false, "range": true, "refId": "C" } ], "title": "Estimated Date", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "noValue": "N/A", "thresholds": { "mode": "absolute", "steps": [ { "color": "#dee3e8", "value": null }, { "color": "blue", "value": 0 } ] }, "unit": "dtdhms" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 18, "y": 7 }, "id": 18, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "(\n max(cosmos_validator_watcher_upgrade_plan{chain_id=\"$chain_id\"}) by (chain_id) - \n max(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}) by (chain_id)\n) \n/\nsum(predict_linear(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}[10h], 10*60) - cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}) by (chain_id) \n* 10*60", "hide": false, "instant": false, "range": true, "refId": "C" } ], "title": "Remaining Time", "type": "stat" }, { "gridPos": { "h": 1, "w": 24, "x": 0, "y": 11 }, "id": 9, "title": "Validators", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-text" } }, { "id": "displayName", "value": "Tokens" }, { "id": "custom.width", "value": 80 } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.width", "value": 80 }, { "id": "displayName", "value": "Bonded" }, { "id": "custom.cellOptions", "value": { "type": "color-text" } } ] }, { "matcher": { "id": "byName", "options": "Value #C" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-background" } }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 1 } ] } }, { "id": "custom.width", "value": 80 }, { "id": "displayName", "value": "Jailed" } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Rank" }, { "id": "custom.width", "value": 80 } ] }, { "matcher": { "id": "byName", "options": "Value #E" }, "properties": [ { "id": "displayName", "value": "Uptime" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "orange", "value": 50 }, { "color": "#EAB839", "value": 80 }, { "color": "green", "value": 90 } ] } }, { "id": "custom.width", "value": 80 }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] }, { "matcher": { "id": "byName", "options": "Value #F" }, "properties": [ { "id": "displayName", "value": "Missed" }, { "id": "custom.width", "value": 80 }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 1 }, { "color": "orange", "value": 10 }, { "color": "red", "value": 20 } ] } }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] } ] }, "gridPos": { "h": 5, "w": 12, "x": 0, "y": 12 }, "id": 13, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "name" } ] }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "100 * \nsum(rate(cosmos_validator_watcher_validated_blocks{chain_id=\"$chain_id\"}[5m])) by (name)\n/ on(instance) group_left()\nsum(rate(cosmos_validator_watcher_tracked_blocks{chain_id=\"$chain_id\"}[5m]))", "format": "table", "hide": false, "instant": true, "range": false, "refId": "E" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "100 * \nsum(rate(cosmos_validator_watcher_solo_missed_blocks{chain_id=\"$chain_id\"}[5m])) by (name)\n/ on(instance) group_left()\nsum(rate(cosmos_validator_watcher_tracked_blocks{chain_id=\"$chain_id\"}[5m]))", "format": "table", "hide": false, "instant": true, "range": false, "refId": "F" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_rank{cluster=\"$cluster\",namespace=\"$namespace\"}) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "D" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_tokens{chain_id=\"$chain_id\"}) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_is_bonded{chain_id=\"$chain_id\"}) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_is_jailed{chain_id=\"$chain_id\"}) by (name)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "C" } ], "title": "Validators Stats", "transformations": [ { "id": "merge", "options": {} } ], "type": "table" }, { "datasource": { "type": "loki", "uid": "${DS_LOKI}" }, "gridPos": { "h": 36, "w": 12, "x": 12, "y": 12 }, "id": 2, "options": { "dedupStrategy": "none", "enableLogDetails": true, "prettifyLogMessage": false, "showCommonLabels": false, "showLabels": false, "showTime": true, "sortOrder": "Ascending", "wrapLogMessage": false }, "targets": [ { "datasource": { "type": "loki", "uid": "${DS_LOKI}" }, "editorMode": "code", "expr": "{container=\"cosmos-validator-watcher\",cluster=\"$cluster\",namespace=\"$namespace\"}", "queryType": "range", "refId": "A" } ], "title": "Logs", "type": "logs" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMax": 100, "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 1, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "max": 110, "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 90 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 17 }, "id": 3, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "100 * \nsum(rate(cosmos_validator_watcher_validated_blocks{chain_id=\"$chain_id\"}[5m])) by (name)\n/ on(instance) group_left()\nsum(rate(cosmos_validator_watcher_tracked_blocks{chain_id=\"$chain_id\"}[5m]))", "instant": false, "range": true, "refId": "A" } ], "title": "Uptime", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 1, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 90 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 23 }, "id": 14, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(increase(cosmos_validator_watcher_solo_missed_blocks{chain_id=\"$chain_id\"}[30s])) by (name)", "instant": false, "range": true, "refId": "A" } ], "title": "Missed Blocks (Solo)", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 7, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 29 }, "id": 22, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "10.0.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "expr": "max(increase(cosmos_validator_watcher_block_height{chain_id=\"$chain_id\"}[10m])) by (chain_id) / 10", "instant": false, "range": true, "refId": "A" } ], "title": "Block / min", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "Value #B" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-text" } }, { "id": "displayName", "value": "Synced" }, { "id": "custom.width", "value": 100 } ] }, { "matcher": { "id": "byName", "options": "Value #A" }, "properties": [ { "id": "custom.width", "value": 100 }, { "id": "displayName", "value": "Block Rate" }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] } ] }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 35 }, "id": 12, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(cosmos_validator_watcher_node_synced{chain_id=\"$chain_id\"}) by (node)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "B" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "max(increase(cosmos_validator_watcher_node_block_height{chain_id=\"$chain_id\"}[5m])) by (node) / 5", "format": "table", "instant": true, "range": false, "refId": "A" } ], "title": "Nodes Sync", "transformations": [ { "id": "merge", "options": {} } ], "type": "table" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byName", "options": "proposal_id" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "auto" } }, { "id": "displayName", "value": "Proposal" }, { "id": "custom.width", "value": 100 }, { "id": "links", "value": [ { "title": "", "url": "https://validator.keplr.app/vote/evmos/${__data.fields.proposal_id}" } ] } ] }, { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "custom.width", "value": 80 }, { "id": "displayName", "value": "Voted" }, { "id": "custom.cellOptions", "value": { "type": "color-background" } } ] }, { "matcher": { "id": "byName", "options": "Value #D" }, "properties": [ { "id": "displayName", "value": "Rank" }, { "id": "custom.width", "value": 80 } ] } ] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 42 }, "id": 16, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Voted" } ] }, "pluginVersion": "10.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "editorMode": "code", "exemplar": false, "expr": "min(cosmos_validator_watcher_vote{chain_id=\"$chain_id\"}) by (name, proposal_id)", "format": "table", "hide": false, "instant": true, "range": false, "refId": "A" } ], "title": "Votes", "transformations": [ { "id": "merge", "options": {} } ], "type": "table" } ], "refresh": "10s", "schemaVersion": 38, "tags": [], "templating": { "list": [ { "current": {}, "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "definition": "label_values(cosmos_validator_watcher_block_height,chain_id)", "hide": 0, "includeAll": false, "label": "Chain ID", "multi": false, "name": "chain_id", "options": [], "query": { "qryType": 1, "query": "label_values(cosmos_validator_watcher_block_height,chain_id)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "type": "query" } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Cosmos Validator Watcher By Chain", "uid": "d79d55e7-6e70-4725-b78c-b22db4a71b08", "version": 2, "weekStart": "" } ```

Let me know if you have any questions or suggestions. I will leave this issue open if we want to iterate over this dashboard.