{
  "annotations": { "list": [] },
  "editable": true,
  "panels": [
    {
      "datasource": { "type": "prometheus", "uid": "$datasource" },
      "fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] },
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
      "id": 1,
      "targets": [
        { "expr": "solana_cluster_last_vote{job=~\"$job\"} - on(node, instance, network) solana_validator_last_vote{job=~\"$job\"}", "legendFormat": "{{instance}}", "refId": "A" }
      ],
      "title": "Vote Lag",
      "type": "timeseries"
    },
    {
      "datasource": { "type": "prometheus", "uid": "$datasource" },
      "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] },
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
      "id": 2,
      "targets": [
        { "expr": "solana_validator_skip_rate{job=~\"$job\"}", "legendFormat": "{{identity}}", "refId": "A" }
      ],
      "title": "Validator Skip Rate",
      "type": "timeseries"
    },
    {
      "datasource": { "type": "prometheus", "uid": "$datasource" },
      "fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] },
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
      "id": 3,
      "targets": [
        { "expr": "rate(solana_node_block_height{job=~\"$job\"}[5m])", "legendFormat": "{{instance}}", "refId": "A" }
      ],
      "title": "Block Height Progression",
      "type": "timeseries"
    },
    {
      "datasource": { "type": "prometheus", "uid": "$datasource" },
      "fieldConfig": { "defaults": { "unit": "bytes" }, "overrides": [] },
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
      "id": 4,
      "targets": [
        { "expr": "node_filesystem_avail_bytes{instance=~\"$instance\",mountpoint=~\".*(ledger|accounts|snapshot).*\"}", "legendFormat": "{{mountpoint}} free", "refId": "A" },
        { "expr": "node_filesystem_size_bytes{instance=~\"$instance\",mountpoint=~\".*(ledger|accounts|snapshot).*\"}", "legendFormat": "{{mountpoint}} total", "refId": "B" }
      ],
      "title": "Solana Data Filesystems",
      "type": "timeseries"
    }
  ],
  "schemaVersion": 39,
  "templating": {
    "list": [
      { "name": "datasource", "type": "datasource", "query": "prometheus", "current": {} },
      { "name": "job", "type": "query", "datasource": { "type": "prometheus", "uid": "$datasource" }, "query": "label_values(up, job)", "includeAll": true, "multi": true, "current": {} },
      { "name": "instance", "type": "query", "datasource": { "type": "prometheus", "uid": "$datasource" }, "query": "label_values(up{job=~\"$job\"}, instance)", "includeAll": true, "multi": true, "current": {} }
    ]
  },
  "time": { "from": "now-6h", "to": "now" },
  "title": "Solana Validator",
  "uid": "solana-validator",
  "version": 1
}
