{
  "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"}]},
  "author":"Ruohang Feng (rh@vonng.com)",
  "description":"PostgreSQL PITR Auxiliary Dashboard",
  "editable":true,
  "fiscalYearStartMonth":0,
  "graphTooltip":0,
  "id":null,
  "license":"https://pigsty.io/docs/about/license/",
  "links":[
    { "asDropdown":false,"icon":"question"     ,"includeVars":false,"keepTime":false,"tags":[]                           ,"targetBlank":true ,"title":"PITR Docs","tooltip":"Restore Tutorial","type":"link"      ,"url":"https://pigsty.io/docs/pgsql/backup/restore" },
    { "asDropdown":true ,"icon":"external link","includeVars":true ,"keepTime":true ,"tags":["Pigsty","PGSQL","Overview"],"targetBlank":false,"title":"Overview" ,"tooltip":""                ,"type":"dashboards","url":""                                            },
    { "asDropdown":true ,"icon":"external link","includeVars":true ,"keepTime":true ,"tags":["Pigsty","PGSQL","Cluster"] ,"targetBlank":false,"title":"Cluster"  ,"tooltip":""                ,"type":"dashboards","url":""                                            },
    { "asDropdown":true ,"icon":"external link","includeVars":true ,"keepTime":true ,"tags":["Pigsty","PGSQL","Instance"],"targetBlank":false,"title":"Instance" ,"tooltip":""                ,"type":"dashboards","url":""                                            },
    { "asDropdown":true ,"icon":"external link","includeVars":true ,"keepTime":true ,"tags":["Pigsty","PGSQL","Database"],"targetBlank":false,"title":"Database" ,"tooltip":""                ,"type":"dashboards","url":""                                            }
  ],
  "panels":[
    {"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":212,"panels":[],"title":"Instance & Stanza","type":"row"},
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"All instances among pgsql cluster ${cls}\n\nArchive: archive_mode of this instance\n\nClusterID: systemd id, may change if PITR from another cluster.",
      "fieldConfig":{
        "defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"footer":{"reducers":[]},"inspect":false},"mappings":[],"max":1.2,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"#e3e3e3e0","value":0}]}},
        "overrides":[
          {"matcher":{"id":"byName","options":"Instance"},"properties":[{"id":"links","value":[{"title":"PGSQL Instance ${__data.fields.Instance}","url":"/d/pgsql-instance?var-ins=${__data.fields.Instance}&${__url_time_range}"}]},{"id":"custom.width"}]},
          {"matcher":{"id":"byName","options":"IP"},"properties":[{"id":"custom.width","value":110},{"id":"links","value":[{"title":"Node Instance : ${__data.fields.IP}","url":"/d/node-instance?var-id=${__data.fields.IP}&${__url_time_range}"}]}]},
          {"matcher":{"id":"byName","options":"Role"},"properties":[{"id":"custom.width","value":80},{"id":"mappings","value":[{"options":{"0":{"color":"#3e668f","index":0,"text":"primary"},"1":{"color":"#346f36cc","index":1,"text":"replica"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"links","value":[]}]},
          {"matcher":{"id":"byName","options":"Up"},"properties":[{"id":"custom.width","value":80},{"id":"mappings","value":[{"options":{"0":{"color":"#cc4637d9","index":0,"text":"Dead"},"1":{"color":"#346f36cc","index":1,"text":"Alive"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}}]},
          {
            "matcher":{"id":"byName","options":"Archive"},
            "properties":[{"id":"mappings","value":[{"options":{"-1":{"color":"#b783af","index":0,"text":"Other"},"-2":{"color":"#d44a3a","index":3,"text":"Always"},"0":{"color":"#fcdb72","index":1,"text":"Off"},"1":{"color":"#346f36cc","index":2,"text":"On"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"custom.width","value":100}]
          },
          {"matcher":{"id":"byName","options":"ClusterID"},"properties":[{"id":"custom.width","value":180}]},{"matcher":{"id":"byName","options":"LSN"},"properties":[{"id":"unit","value":"hex0x"},{"id":"custom.width","value":105}]}
        ]
      },
      "gridPos":{"h":5,"w":14,"x":0,"y":1},
      "id":211,
      "options":{"cellHeight":"sm","showHeader":true,"sortBy":[{"desc":false,"displayName":"Instance"}]},
      "pluginVersion":"12.3.1",
      "targets":[
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"min by (ins,ip) (up{job=\"pgsql\", cls=\"$cls\"})"       ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"A" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) (pg_setting_archive_mode{cls=\"$cls\"})"    ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"min by (ins,ip) (pg_in_recovery{cls=\"$cls\"})"          ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"D" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"min by (ins,ip, cluster_id) (pg_meta_info{cls=\"$cls\"})","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"C" }
      ],
      "title":"Instance",
      "transformations":[
        {"id":"seriesToColumns","options":{"byField":"ins"}},
        {
          "id":"organize",
          "options":{
            "excludeByName":{
              "Time":true,
              "Time 1":true,
              "Time 10":true,
              "Time 2":true,
              "Time 3":true,
              "Time 4":true,
              "Time 6":true,
              "Time 8":true,
              "Time 9":true,
              "Value #A":false,
              "Value #B":false,
              "Value #C":true,
              "Value #H":false,
              "__name__":true,
              "__name__ 1":true,
              "__name__ 2":true,
              "__name__ 3":true,
              "__name__ 5":true,
              "__name__ 7":true,
              "cls":true,
              "cls 1":true,
              "cls 2":true,
              "cls 3":true,
              "cls 4":true,
              "cls 5":true,
              "cls 6":true,
              "cls 7":true,
              "instance":false,
              "instance 1":true,
              "instance 2":false,
              "instance 3":true,
              "instance 4":true,
              "instance 5":true,
              "instance 6":true,
              "ip 2":true,
              "ip 3":true,
              "ip 4":true,
              "ip 5":true,
              "ip 6":true,
              "ip 7":true,
              "job":true,
              "job 1":true,
              "job 2":true,
              "job 3":true,
              "job 4":true,
              "job 5":true,
              "job 6":true,
              "job 7":true
            },
            "includeByName":{},
            "indexByName":{"Time 1":8,"Time 2":9,"Time 3":10,"Time 4":11,"Time 5":14,"Value #A":0,"Value #B":4,"Value #C":7,"Value #D":1,"Value #E":6,"cluster_id":5,"ins":2,"ip 1":3,"ip 2":12,"ip 3":13,"ip 4":15},
            "renameByName":{"Time 4":"","Value #A":"Up","Value #B":"Archive","Value #C":"","Value #D":"Role","Value #E":"LSN","Value #F":"RT","Value #G":"LB Conn","Value #H":"LB","Value #I":"QPS","Value #J":"LB Clients","Value #K":"Lag","cls 1":"","cls 2":"","cluster_id":"ClusterID","ins":"Instance","instance":"HAProxy","instance 2":"","ip":"IP","ip 1":"IP","ip 3":""}
          }
        }
      ],
      "type":"table"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"Backup repository & stanza\n\nStanza: Cluster level backup repo, click will list available backups in this stanza\n\nStatus:\n\n0 - ok,\n1 - missing stanza path,\n2 - no valid backups,\n3 - missing stanza data,\n4 - different across repos,\n5 - database mismatch across repos,\n6 - requested backup not found,\n99 - other.\n\nLock:\n\n0 - no active operation with stanza,\n1 - one of the commands is running for stanza: backup, expire or stanza-*.",
      "fieldConfig":{
        "defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"filterable":false,"footer":{"reducers":[]},"inspect":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"text","value":0}]}},
        "overrides":[
          {
            "matcher":{"id":"byName","options":"Status"},
            "properties":[
              {"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0},{"color":"red","value":0.5}]}},
              {
                "id":"mappings",
                "value":[{"options":{"0":{"index":0,"text":"ok"},"1":{"index":1,"text":"missing stanza path"},"2":{"index":2,"text":"no valid backups"},"3":{"index":3,"text":"missing stanza data"},"4":{"index":4,"text":"different across repos"},"5":{"index":5,"text":"database mismatch across repos"},"6":{"index":6,"text":"requested backup not found"},"99":{"index":7,"text":"other"}},"type":"value"}]
              },
              {"id":"custom.align","value":"center"},{"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"custom.width","value":120}
            ]
          },
          {"matcher":{"id":"byName","options":"Repo"},"properties":[{"id":"custom.width","value":60}]},{"matcher":{"id":"byName","options":"Cipher"},"properties":[{"id":"custom.width","value":120}]},
          {"matcher":{"id":"byName","options":"Stanza"},"properties":[{"id":"custom.minWidth","value":120},{"id":"links","value":[{"title":"PGSQL PITR : ${cls} ${__data.fields.Stanza}","url":"/d/pgsql-pitr?var-cls=$cls&var-stanza=${__data.fields.Stanza}&${__url_time_range}"}]}]},
          {"matcher":{"id":"byName","options":"Lock"},"properties":[{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"Idle"},"1":{"color":"#f79f64","index":1,"text":"backup/expire"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"custom.width","value":110}]}
        ]
      },
      "gridPos":{"h":5,"w":10,"x":14,"y":1},
      "id":197,
      "options":{"cellHeight":"sm","frameIndex":1,"showHeader":true,"sortBy":[{"desc":false,"displayName":"Stanza"}]},
      "pluginVersion":"12.3.1",
      "targets":[
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pgbackrest_repo_status{ins=\"$primary\"}"       ,"format":"table",             "instant":true,"interval":"","legendFormat":"","refId":"A" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pgbackrest_stanza_lock_status{ins=\"$primary\"}","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B" }
      ],
      "title":"Stanza",
      "transformations":[
        { "id":"joinByField"       ,"options":{"byField":"stanza","mode":"outer"}                                                                                                                                                                                                                },
        { "id":"filterFieldsByName","options":{"include":{"names":["stanza","cipher","repo_key","Value #B","Value #A"]}}                                                                                                                                                                         },
        { "id":"organize"          ,"options":{"excludeByName":{"stanza 2":false},"includeByName":{},"indexByName":{"Value":3,"cipher":2,"repo_key":0,"stanza":1},"renameByName":{"Value":"Status","Value #A":"Status","Value #B":"Lock","cipher":"Cipher","repo_key":"Repo","stanza":"Stanza"}} }
      ],
      "type":"table"
    },
    {"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":6},"id":195,"panels":[],"title":"Backup","type":"row"},
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"Backup detail info for selected stanzas, repos, backup types, block incremental statuses and backup names.",
      "fieldConfig":{
        "defaults":{"custom":{"align":"center","cellOptions":{"type":"auto"},"filterable":false,"footer":{"reducers":[]},"inspect":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"text","value":0}]}},
        "overrides":[
          {"matcher":{"id":"byName","options":"Stanza"},"properties":[{"id":"custom.width","value":250}]},{"matcher":{"id":"byName","options":"Repo key"},"properties":[{"id":"custom.width","value":95}]},
          {
            "matcher":{"id":"byName","options":"Type"},
            "properties":[{"id":"custom.width","value":80},{"id":"custom.filterable","value":true},{"id":"custom.align","value":"center"},{"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"mappings","value":[{"options":{"diff":{"color":"#f9d46c","index":1,"text":"DIFF"},"full":{"color":"#2d436f","index":0,"text":"FULL"},"incr":{"color":"#0b5b52","index":2,"text":"INCR"}},"type":"value"}]}]
          },
          {"matcher":{"id":"byName","options":"Name"},"properties":[{"id":"custom.minWidth","value":280},{"id":"custom.align","value":"left"}]},{"matcher":{"id":"byName","options":"Database ID"},"properties":[{"id":"custom.width","value":110}]},{"matcher":{"id":"byName","options":"WAL Start"},"properties":[{"id":"custom.width","value":225}]},
          {"matcher":{"id":"byName","options":"WAL Stop"},"properties":[{"id":"custom.width","value":225}]},{"matcher":{"id":"byName","options":"Prior"},"properties":[{"id":"custom.width","value":160},{"id":"custom.align","value":"left"}]},{"matcher":{"id":"byRegexp","options":"/LSN.*/"},"properties":[{"id":"custom.width","value":110},{"id":"custom.align","value":"center"}]},
          {"matcher":{"id":"byRegexp","options":"/Time.*/"},"properties":[{"id":"unit","value":"string"},{"id":"custom.width","value":160},{"id":"custom.align","value":"center"}]},{"matcher":{"id":"byName","options":"BlockIncr"},"properties":[{"id":"custom.width","value":80},{"id":"mappings","value":[{"options":{"y":{"color":"green","index":0,"text":"Yes"}},"type":"value"}]}]},
          {"matcher":{"id":"byName","options":"Duration"},"properties":[{"id":"custom.width","value":80},{"id":"unit","value":"s"}]},
          {
            "matcher":{"id":"byRegexp","options":"/.*Size.*/"},
            "properties":[
              { "id":"unit"              ,"value":"decbytes"                                                                                                                                                                                                                                                                 },
              { "id":"custom.width"      ,"value":100                                                                                                                                                                                                                                                                        },
              { "id":"thresholds"        ,"value":{"mode":"absolute","steps":[{"color":"#3e668f","value":0},{"color":"#346f36cc","value":1000000000},{"color":"#fcdb72","value":10000000000},{"color":"#ed8128e3","value":100000000000},{"color":"#d44a3a","value":100000000000},{"color":"#b783af","value":1000000000000}]} },
              { "id":"custom.cellOptions","value":{"type":"color-text"}                                                                                                                                                                                                                                                      }
            ]
          },
          {"matcher":{"id":"byName","options":"PG Ver"},"properties":[{"id":"custom.width","value":66}]},{"matcher":{"id":"byName","options":"PB Ver"},"properties":[{"id":"custom.width","value":66}]},
          {"matcher":{"id":"byName","options":"Status"},"properties":[{"id":"custom.width","value":66},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"OK"},"1":{"color":"#d44a3a","index":1,"text":"Error"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}}]},
          {"matcher":{"id":"byName","options":"BlockIncr"},"properties":[{"id":"mappings","value":[{"options":{"n":{"color":"#d44a3a","index":1,"text":"No"},"y":{"color":"#346f36cc","index":0,"text":"Yes"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}}]}
        ]
      },
      "gridPos":{"h":7,"w":24,"x":0,"y":7},
      "id":200,
      "links":[{"title":"PGCAT Backup : $primary","url":"/d/pgcat-instance?var-dsn=${primary}.postgres&${__url_time_range}&viewPanel=158"}],
      "options":{"cellHeight":"sm","showHeader":true,"sortBy":[{"desc":true,"displayName":"Time Start"}]},
      "pluginVersion":"12.3.1",
      "targets":[
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"pgbackrest_backup_info{ins=\"$primary\",stanza=~\"$stanza\"}"                                                        ,"format":"table",             "instant":true,"interval":"","legendFormat":"","refId":"A" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"max by (backup_name,start_time,stop_time) (pgbackrest_backup_duration_seconds{ins=\"$primary\",stanza=~\"$stanza\"})","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"max by (backup_name) (pgbackrest_backup_error_status{ins=\"$primary\",stanza=~\"$stanza\"})"                         ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"C" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"max by (backup_name) (pgbackrest_backup_size_bytes{ins=\"$primary\",stanza=~\"$stanza\"})"                           ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"D" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"max by (backup_name) (pgbackrest_backup_delta_bytes{ins=\"$primary\",stanza=~\"$stanza\"})"                          ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"E" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"max by (backup_name) (pgbackrest_backup_repo_delta_bytes{ins=\"$primary\",stanza=~\"$stanza\"})"                     ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"F" }
      ],
      "title":"Backup of Stanza ${stanza}",
      "transformations":[
        {"id":"joinByField","options":{"byField":"backup_name","mode":"outer"}},
        {
          "id":"organize",
          "options":{
            "excludeByName":{
              "Time":true,
              "Time 1":true,
              "Time 2":true,
              "Time 3":true,
              "Time 4":true,
              "Time 5":true,
              "Time 6":true,
              "Value":true,
              "Value #A":true,
              "__name__":true,
              "__name__ 1":true,
              "__name__ 2":true,
              "__name__ 3":true,
              "backup_type 2":true,
              "backup_type 3":true,
              "block_incr 2":true,
              "block_incr 3":true,
              "cls":true,
              "cls 1":true,
              "cls 2":true,
              "cls 3":true,
              "database_id":true,
              "database_id 1":true,
              "database_id 2":true,
              "database_id 3":true,
              "ins":true,
              "ins 1":true,
              "ins 2":true,
              "ins 3":true,
              "instance":true,
              "instance 1":true,
              "instance 2":true,
              "instance 3":true,
              "ip":true,
              "ip 1":true,
              "ip 2":true,
              "ip 3":true,
              "job":true,
              "job 1":true,
              "job 2":true,
              "job 3":true,
              "prj 1":true,
              "prj 2":true,
              "prometheus 1":true,
              "prometheus 2":true,
              "repo_key":true,
              "repo_key 1":false,
              "repo_key 2":true,
              "repo_key 3":true,
              "service 1":true,
              "service 2":true,
              "stanza":true,
              "stanza 2":true,
              "stanza 3":true
            },
            "includeByName":{},
            "indexByName":{
              "Time 1":16,
              "Time 2":21,
              "Time 3":29,
              "Time 4":30,
              "Time 5":31,
              "Time 6":32,
              "Value #A":17,
              "Value #B":3,
              "Value #C":6,
              "Value #D":4,
              "Value #E":13,
              "Value #F":5,
              "__name__":22,
              "backrest_ver":15,
              "backup_name":1,
              "backup_type":0,
              "block_incr":23,
              "cls":24,
              "database_id":18,
              "ins":25,
              "instance":26,
              "ip":27,
              "job":28,
              "lsn_start":9,
              "lsn_stop":10,
              "pg_version":14,
              "prior":2,
              "repo_key":19,
              "stanza":20,
              "start_time":7,
              "stop_time":8,
              "wal_start":11,
              "wal_stop":12
            },
            "renameByName":{
              "Value #A":"Error",
              "Value #B":"Duration",
              "Value #C":"Status",
              "Value #D":"Size",
              "Value #E":"Scan Size",
              "Value #F":"\u0394Size",
              "__name__ 1":"",
              "backrest_ver":"PB Ver",
              "backup_name":"Name",
              "backup_type":"Type",
              "backup_type 1":"Type",
              "block_incr":"BlockIncr",
              "block_incr 1":"BlockIncr",
              "database_id":"Database ID",
              "database_id 1":"Database ID",
              "lsn_start":"LSN Start",
              "lsn_stop":"LSN Stop",
              "pg_version":"PG Ver",
              "prior":"Prior",
              "repo_key":"Repo key",
              "repo_key 1":"Repo key",
              "stanza":"Stanza",
              "stanza 1":"Stanza",
              "start_time":"Time Start",
              "stop_time":"Time Stop",
              "wal_start":"WAL Start",
              "wal_stop":"WAL Stop"
            }
          }
        }
      ],
      "type":"table"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"",
      "fieldConfig":{
        "defaults":{
          "color":{"mode":"thresholds"},
          "links":[],
          "mappings":[{"options":{"-1":{"color":"#b783af","index":0,"text":"Other"},"0":{"color":"#d44a3a","index":3,"text":"Off"},"1":{"color":"#346f36cc","index":2,"text":"On"},"2":{"color":"#fcdb72","index":1,"text":"Always"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"#8b8b8bd9","index":4,"text":"N/A"}},"type":"special"}],
          "max":1,
          "min":0,
          "thresholds":{"mode":"absolute","steps":[{"color":"#cc4637d9","value":0},{"color":"#346f36cc","value":1}]},
          "unit":"none"
        },
        "overrides":[]
      },
      "gridPos":{"h":6,"w":3,"x":0,"y":14},
      "id":209,
      "options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"auto","percentChangeColorMode":"standard","reduceOptions":{"calcs":["last"],"fields":"","values":false},"showPercentChange":false,"text":{"valueSize":16},"textMode":"auto","wideLayout":true},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max(pg_setting_archive_mode{cls=\"$cls\"})","interval":"","legendFormat":"WAL Archive","range":true,"refId":"A"}],
      "type":"stat"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "fieldConfig":{
        "defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"footer":{"reducers":[]},"inspect":false},"mappings":[{"options":{"match":"null+nan","result":{"color":"transparent","index":1}},"type":"special"}],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]}},
        "overrides":[
          {"matcher":{"id":"byName","options":"Instance"},"properties":[{"id":"links","value":[{"title":"PGSQL Instance: ${__data.fields.Instance}","url":"/d/pgsql-instance?var-ins=${__data.fields.Instance}&${__url_time_range}"}]},{"id":"custom.minWidth","value":120}]},
          {"matcher":{"id":"byName","options":"Cluster"},"properties":[{"id":"links","value":[{"title":"PGSQL Cluster: ${__data.fields.Cluster}","url":"/d/pgsql-cluster?var-cls=${__data.fields.Cluster}&${__url_time_range}"}]},{"id":"custom.minWidth","value":120}]},
          {"matcher":{"id":"byName","options":"Shard"},"properties":[{"id":"links","value":[{"title":"PGSQL Shard : ${__data.fields.Shard}","url":"/d/pgsql-shard?var-shard=${__data.fields.Shard}&${__url_time_range}"}]},{"id":"custom.width","value":100}]},
          {
            "matcher":{"id":"byName","options":"Patroni Status"},
            "properties":[
              { "id":"custom.width"      ,"value":120                                                                                                                                                                                                                                                                                                        },
              { "id":"mappings"          ,"value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"Follower"},"1":{"color":"#3e668f","index":1,"text":"Leader"},"2":{"color":"#f79f64","index":2,"text":"Standby Leader"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"#808080","index":3,"text":"Unknown"}},"type":"special"}] },
              { "id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}                                                                                                                                                                                                                                                              }
            ]
          },
          {"matcher":{"id":"byName","options":"Version"},"properties":[{"id":"custom.width","value":80}]},{"matcher":{"id":"byName","options":"PG Ver"},"properties":[{"id":"custom.width","value":80}]},
          {
            "matcher":{"id":"byName","options":"Paused"},
            "properties":[{"id":"custom.width","value":80},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"Running"},"1":{"color":"#f79f64","index":1,"text":"Paused"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"transparent","index":2}},"type":"special"}]},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}}]
          },{
            "matcher":{"id":"byName","options":"Lock"},
            "properties":[{"id":"custom.width","value":80},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"Unlocked"},"1":{"color":"#b783af","index":1,"text":"Locked"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"transparent","index":2}},"type":"special"}]}]
          },{
            "matcher":{"id":"byName","options":"Restart"},
            "properties":[{"id":"custom.width","value":80},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"No Need"},"1":{"color":"#f79f64","index":1,"text":"Pending"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"transparent","index":2}},"type":"special"}]}]
          },{
            "matcher":{"id":"byName","options":"Failsafe"},
            "properties":[{"id":"custom.width","value":80},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"Inactive"},"1":{"color":"#cc4637d9","index":1,"text":"Active"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"transparent","index":2}},"type":"special"}]}]
          },{
            "matcher":{"id":"byName","options":"WAL"},
            "properties":[{"id":"custom.width","value":80},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"Proceed"},"1":{"color":"#f79f64","index":1,"text":"Paused"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"transparent","index":2}},"type":"special"}]}]
          },{
            "matcher":{"id":"byName","options":"Postgres"},
            "properties":[{"id":"custom.width","value":80},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"mappings","value":[{"options":{"0":{"color":"#cc4637d9","index":0,"text":"Down"},"1":{"color":"#346f36cc","index":1,"text":"Alive"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"transparent","index":2}},"type":"special"}]}]
          },
          {"matcher":{"id":"byName","options":"PG Uptime "},"properties":[{"id":"custom.width","value":100},{"id":"unit","value":"s"},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"#cc4637d9","value":0},{"color":"#f79f64","value":300},{"color":"#fcdb72","value":3600},{"color":"#346f36cc","value":86400}]}}]},
          {
            "matcher":{"id":"byName","options":"DCS Seen"},
            "properties":[{"id":"custom.width","value":100},{"id":"unit","value":"s"},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0},{"color":"#f79f64","value":20},{"color":"#cc4637d9","value":30},{"color":"#b783af","value":60},{"color":"text","value":300}]}},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}}]
          },
          {"matcher":{"id":"byName","options":"Patroni"},"properties":[{"id":"custom.width","value":90},{"id":"mappings","value":[{"options":{"0":{"color":"#cc4637d9","index":0,"text":"Down"},"1":{"color":"#346f36cc","index":1,"text":"Alive"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}}]},
          {"matcher":{"id":"byName","options":"PG Status"},"properties":[{"id":"mappings","value":[{"options":{"0":{"color":"#3e668f","index":0,"text":"Leading"},"1":{"color":"#346f36cc","index":1,"text":"Recovery"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"custom.width","value":100}]},
          {"matcher":{"id":"byName","options":"Recv TLI"},"properties":[{"id":"custom.width","value":80}]},{"matcher":{"id":"byName","options":"Timeline"},"properties":[{"id":"custom.width","value":80}]},{"matcher":{"id":"byName","options":"LSN"},"properties":[{"id":"custom.width","value":120},{"id":"unit","value":"hex0x"}]},
          {"matcher":{"id":"byName","options":"XID"},"properties":[{"id":"custom.width","value":100}]},
          {"matcher":{"id":"byName","options":"Descendant"},"properties":[{"id":"custom.width","value":100},{"id":"mappings","value":[{"options":{"from":1,"result":{"color":"#346f36cc","index":0},"to":99999},"type":"range"},{"options":{"match":"null+nan","result":{"color":"transparent","index":1}},"type":"special"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}}]},
          {
            "matcher":{"id":"byName","options":"Replication"},
            "properties":[
              {
                "id":"mappings",
                "value":[
                  { "options":{"-1":{"color":"#A352CC","index":0,"text":"unknown"},"0":{"color":"#346f36cc","index":1,"text":"streaming"},"1":{"color":"#e02f44bf","index":2,"text":"startup"},"2":{"color":"#f2cc0cbf","index":3,"text":"catchup"},"3":{"color":"#3275d9bf","index":4,"text":"backup"},"4":{"color":"#ff780abf","index":5,"text":"stopping"}},"type":"value"   },
                  { "options":{"match":"null+nan","result":{"color":"transparent","index":6}}                                                                                                                                                                                                                                                                 ,"type":"special" }
                ]
              },
              {"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"custom.width","value":100}
            ]
          },
          {"matcher":{"id":"byName","options":"TLI Sync"},"properties":[{"id":"custom.width","value":80},{"id":"mappings","value":[{"options":{"0":{"color":"#346f36cc","index":0,"text":"True"},"1":{"color":"#cc4637d9","index":1,"text":"False"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}}]}
        ]
      },
      "gridPos":{"h":6,"w":21,"x":3,"y":14},
      "id":152,
      "links":[{"title":"PGSQL Patroni : ${cls}","url":"/d/pgsql-patroni?var-cls=${cls}&${__url_time_range}"}],
      "options":{"cellHeight":"sm","showHeader":true,"sortBy":[{"desc":false,"displayName":"Instance"}]},
      "pluginVersion":"12.3.1",
      "targets":[
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) (patroni_primary{cls=\"$cls\"}) + \nmax by (ins) (patroni_standby_leader{cls=\"$cls\"})","format":"table",             "instant":true,"legendFormat":"__auto","range":false,"refId":"A" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) (pg_timeline_id{cls=\"$cls\"})"                                                         ,"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 (ins) (pg_xact_xmax{cls=\"$cls\"})"                                                           ,"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 (ins) (patroni_is_paused{cls=\"$cls\"})"                                                      ,"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 (ins) (pg_lsn{cls=\"$cls\"})"                                                                 ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"E" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"count by (ins) (pg_repl_lsn{cls=\"$cls\"})"                                                          ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"F" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins,state) (pg_recv_flush_tli{cls=\"$cls\"})"                                                ,"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 (ins) (patroni_xlog_paused{cls=\"$cls\"})"                                                    ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"H" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) (patroni_postgres_running{cls=\"$cls\"})"                                               ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"I" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_timeline_id{cls=\"$cls\"} < bool on(cls) group_left() max by (cls)(pg_timeline_id{cls=\"$cls\"})" ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"J" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) (time() - patroni_postmaster_start_time{cls=\"$cls\"})"                                 ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"K" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) (patroni_up{cls=\"$cls\"})"                                                             ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"L" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"min by (ins,ip) (pg_up{cls=\"$cls\", job=\"pgsql\"})"                                                ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"M" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"min by (ins) (pg_in_recovery{cls=\"$cls\"})"                                                         ,"format":"table","hide":false,"instant":true,"legendFormat":"__auto","range":false,"refId":"N" }
      ],
      "title":"Postgres & Patroni PITR Status",
      "transformations":[
        {"id":"joinByField","options":{"byField":"ins","mode":"outer"}},
        {
          "id":"organize",
          "options":{
            "excludeByName":{
              "Time":true,
              "Time 1":true,
              "Time 10":true,
              "Time 11":true,
              "Time 12":true,
              "Time 13":true,
              "Time 14":true,
              "Time 2":true,
              "Time 3":true,
              "Time 4":true,
              "Time 5":true,
              "Time 6":true,
              "Time 7":true,
              "Time 8":true,
              "Time 9":true,
              "Value #B":false,
              "Value #C":false,
              "Value #E":false,
              "Value #F":false,
              "Value #G":false,
              "Value #H":true,
              "Value #I":true,
              "Value #J":false,
              "__name__ 1":false,
              "cls":true,
              "instance":true,
              "ip":true,
              "ip 1":true,
              "ip 2":true,
              "job":true,
              "scope":true
            },
            "includeByName":{},
            "indexByName":{
              "Time 1":15,
              "Time 10":24,
              "Time 11":25,
              "Time 12":26,
              "Time 13":32,
              "Time 14":33,
              "Time 2":16,
              "Time 3":17,
              "Time 4":18,
              "Time 5":19,
              "Time 6":20,
              "Time 7":21,
              "Time 8":22,
              "Time 9":23,
              "Value #A":4,
              "Value #B":6,
              "Value #C":9,
              "Value #D":10,
              "Value #E":8,
              "Value #F":14,
              "Value #G":7,
              "Value #H":11,
              "Value #I":12,
              "Value #J":5,
              "Value #K":13,
              "Value #L":3,
              "Value #M":1,
              "Value #N":2,
              "cls":27,
              "ins":0,
              "instance":28,
              "ip 1":29,
              "ip 2":31,
              "job":30
            },
            "renameByName":{"Value #A":"Patroni Status","Value #B":"Timeline","Value #C":"XID","Value #D":"Paused","Value #E":"LSN","Value #F":"Descendant","Value #G":"Recv TLI","Value #H":"WAL","Value #I":"","Value #J":"TLI Sync","Value #K":"PG Uptime ","Value #L":"Patroni","Value #M":"Postgres","Value #N":"PG Status","cls":"Cluster","ins":"Instance","ip":"IP","scope":"Shard","state":"Replication"}
          }
        }
      ],
      "type":"table"
    },
    {"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":20},"id":159,"panels":[],"title":"PITR","type":"row"},
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"TransactionID xmax on each instance",
      "fieldConfig":{
        "defaults":{
          "color":{"mode":"palette-classic"},
          "custom":{
            "axisBorderShow":false,
            "axisCenteredZero":false,
            "axisColorMode":"text",
            "axisLabel":"",
            "axisPlacement":"auto",
            "barAlignment":0,
            "barWidthFactor":0.6,
            "drawStyle":"line",
            "fillOpacity":0,
            "gradientMode":"none",
            "hideFrom":{"legend":false,"tooltip":false,"viz":false},
            "insertNulls":false,
            "lineInterpolation":"linear",
            "lineWidth":1,
            "pointSize":5,
            "scaleDistribution":{"type":"linear"},
            "showPoints":"auto",
            "showValues":false,
            "spanNulls":false,
            "stacking":{"group":"A","mode":"none"},
            "thresholdsStyle":{"mode":"off"}
          },
          "mappings":[],
          "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},
          "unit":"none"
        },
        "overrides":[{"matcher":{"id":"byName","options":"Current"},"properties":[{"id":"custom.lineWidth","value":1},{"id":"color","value":{"fixedColor":"super-light-orange","mode":"fixed"}},{"id":"custom.fillOpacity","value":20}]},{"matcher":{"id":"byFrameRefID","options":"B"},"properties":[{"id":"color","value":{"fixedColor":"#346f36cc","mode":"fixed"}}]}]
      },
      "gridPos":{"h":10,"w":12,"x":0,"y":21},
      "id":182,
      "options":{"legend":{"calcs":["last"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_xact_xmax{cls=\"$cls\"}","hide":false,"interval":"","legendFormat":"{{ ins }}","range":true,"refId":"A"}],
      "title":"XID Progress",
      "type":"timeseries"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"Current WAL Sequence Number on each Instance",
      "fieldConfig":{
        "defaults":{
          "color":{"mode":"palette-classic"},
          "custom":{
            "axisBorderShow":false,
            "axisCenteredZero":false,
            "axisColorMode":"text",
            "axisLabel":"",
            "axisPlacement":"auto",
            "barAlignment":0,
            "barWidthFactor":0.6,
            "drawStyle":"line",
            "fillOpacity":10,
            "gradientMode":"none",
            "hideFrom":{"legend":false,"tooltip":false,"viz":false},
            "insertNulls":false,
            "lineInterpolation":"linear",
            "lineWidth":2,
            "pointSize":5,
            "scaleDistribution":{"type":"linear"},
            "showPoints":"auto",
            "showValues":false,
            "spanNulls":false,
            "stacking":{"group":"A","mode":"none"},
            "thresholdsStyle":{"mode":"off"}
          },
          "mappings":[],
          "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0},{"color":"red","value":80}]},
          "unit":"hex"
        },
        "overrides":[{"matcher":{"id":"byFrameRefID","options":"B"},"properties":[{"id":"color","value":{"fixedColor":"#346f36cc","mode":"fixed"}}]}]
      },
      "gridPos":{"h":10,"w":12,"x":12,"y":21},
      "id":184,
      "options":{"legend":{"calcs":["last"],"displayMode":"table","placement":"right","showLegend":true,"sortBy":"Name","sortDesc":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
      "pluginVersion":"12.3.1",
      "targets":[
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_lsn{cls=\"$cls\"}"                                         ,            "interval":"","legendFormat":"{{ ins }}"                    ,"range":true,"refId":"A" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},                    "exemplar":false,"expr":"pg_checkpoint_checkpoint_lsn{ins=\"$primary\"}"               ,"hide":true,"interval":"","legendFormat":"Checkpoint Leader $primary"   ,             "refId":"B" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},                    "exemplar":false,"expr":"pg_checkpoint_checkpoint_lsn{cls=\"$cls\", ins!=\"$primary\"}","hide":true,"interval":"","legendFormat":"Checkpoint Follower {{ ins }}",             "refId":"C" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},                    "exemplar":false,"expr":"pg_checkpoint_redo_lsn{cls=\"$cls\", ins!=\"$primary\"}"      ,"hide":true,"interval":"","legendFormat":"Redo {{ ins }}"               ,             "refId":"D" }
      ],
      "title":"LSN Progress",
      "type":"timeseries"
    },
    {
      "collapsed":true,
      "gridPos":{"h":1,"w":24,"x":0,"y":31},
      "id":207,
      "panels":[
        {
          "datasource":{"type":"prometheus","uid":"ds-prometheus"},
          "description":"pg_basebackup progress (re-create replica)",
          "fieldConfig":{
            "defaults":{
              "color":{"mode":"palette-classic"},
              "custom":{
                "axisBorderShow":false,
                "axisCenteredZero":false,
                "axisColorMode":"text",
                "axisLabel":"",
                "axisPlacement":"auto",
                "barAlignment":0,
                "barWidthFactor":0.6,
                "drawStyle":"line",
                "fillOpacity":0,
                "gradientMode":"none",
                "hideFrom":{"legend":false,"tooltip":false,"viz":false},
                "insertNulls":false,
                "lineInterpolation":"linear",
                "lineWidth":1,
                "pointSize":5,
                "scaleDistribution":{"type":"linear"},
                "showPoints":"auto",
                "showValues":false,
                "spanNulls":false,
                "stacking":{"group":"A","mode":"none"},
                "thresholdsStyle":{"mode":"off"}
              },
              "mappings":[],
              "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},
              "unit":"percentunit"
            },
            "overrides":[{"matcher":{"id":"byName","options":"Current"},"properties":[{"id":"custom.lineWidth","value":1},{"id":"color","value":{"fixedColor":"super-light-orange","mode":"fixed"}},{"id":"custom.fillOpacity","value":20}]},{"matcher":{"id":"byFrameRefID","options":"B"},"properties":[{"id":"color","value":{"fixedColor":"#346f36cc","mode":"fixed"}}]}]
          },
          "gridPos":{"h":6,"w":12,"x":0,"y":32},
          "id":206,
          "options":{"legend":{"calcs":["last"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
          "pluginVersion":"12.3.1",
          "targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_backup_sent_bytes{cls=\"$cls\"} / pg_backup_total_bytes{cls=\"$cls\"}","hide":false,"interval":"","legendFormat":"{{ ins }}","range":true,"refId":"A"}],
          "title":"Basebackup Progress",
          "type":"timeseries"
        },{
          "datasource":{"type":"prometheus","uid":"ds-prometheus"},
          "description":"pg_basebackup progress (re-create replica)",
          "fieldConfig":{
            "defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"footer":{"reducers":[]},"inspect":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},"unit":"decbytes"},
            "overrides":[
              { "matcher":{"id":"byName","options":"Sent"} ,"properties":[{"id":"unit","value":"decbytes"},{"id":"custom.width","value":120}]                                                                                                                                                              },
              { "matcher":{"id":"byName","options":"PID"}  ,"properties":[{"id":"unit","value":"none"},{"id":"custom.width","value":120}]                                                                                                                                                                  },
              { "matcher":{"id":"byName","options":"Total"},"properties":[{"id":"custom.width","value":120}]                                                                                                                                                                                               },
              { "matcher":{"id":"byName","options":"Ratio"},"properties":[{"id":"unit","value":"percentunit"},{"id":"custom.cellOptions","value":{"type":"gauge"}},{"id":"max","value":1},{"id":"color","value":{"mode":"continuous-RdYlGr"}},{"id":"custom.minWidth","value":200},{"id":"min","value":0}] }
            ]
          },
          "gridPos":{"h":6,"w":12,"x":12,"y":32},
          "id":208,
          "options":{"cellHeight":"sm","showHeader":true},
          "pluginVersion":"12.3.1",
          "targets":[
            { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_backup_sent_phase{cls=\"$cls\"}"                                      ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"{{ ins }}","range":false,"refId":"A" },
            { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_backup_sent_bytes{cls=\"$cls\"}"                                      ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"{{ ins }}","range":false,"refId":"B" },
            { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_backup_total_bytes{cls=\"$cls\"}"                                     ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"{{ ins }}","range":false,"refId":"C" },
            { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_backup_sent_bytes{cls=\"$cls\"} / pg_backup_total_bytes{cls=\"$cls\"}","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"{{ ins }}","range":false,"refId":"D" }
          ],
          "title":"Basebackup Progress",
          "transformations":[
            { "id":"joinByField"       ,"options":{"byField":"pid","mode":"outer"}                                                                                                                                                                                                                                                                                         },
            { "id":"filterFieldsByName","options":{"byVariable":false,"include":{"names":["pid","Value #B","Value #C","Value #D","ins 1"],"pattern":"pid|Value.*"}}                                                                                                                                                                                                        },
            { "id":"organize"          ,"options":{"excludeByName":{"Time 1":true,"__name__ 1":true,"cls 1":true,"ins 1":true,"instance 1":true,"ip 1":true,"job 1":true},"includeByName":{},"indexByName":{"Value #B":2,"Value #C":3,"Value #D":1,"ins":4,"pid":0},"renameByName":{"Value #B":"Sent","Value #C":"Total","Value #D":"Ratio","ins":"Instance","pid":"PID"}} }
          ],
          "type":"table"
        }
      ],
      "title":"Base Backup",
      "type":"row"
    },
    {"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":32},"id":192,"panels":[],"title":"Replication","type":"row"},
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"Replication Status among cluster ${cls}",
      "fieldConfig":{
        "defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"filterable":false,"footer":{"reducers":[]},"inspect":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"#e3e3e3e0","value":0}]}},
        "overrides":[
          {
            "matcher":{"id":"byName","options":"STATE"},
            "properties":[
              { "id":"custom.width"      ,"value":100                                                                                                                                                                                                                                                                                                                                                             },
              { "id":"mappings"          ,"value":[{"options":{"-1":{"color":"#a352ccbf","index":0,"text":"unknown"},"0":{"color":"#346f36cc","index":1,"text":"streaming"},"1":{"color":"#e02f44bf","index":2,"text":"startup"},"2":{"color":"#f2cc0cbf","index":3,"text":"catchup"},"3":{"color":"#3275d9bf","index":4,"text":"backup"},"4":{"color":"#ff780abf","index":5,"text":"stopping"}},"type":"value"}] },
              { "id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}                                                                                                                                                                                                                                                                                                                   }
            ]
          },
          {"matcher":{"id":"byName","options":"TLI"},"properties":[{"id":"custom.width","value":60}]},
          {
            "matcher":{"id":"byName","options":"SYNC"},
            "properties":[
              { "id":"mappings"          ,"value":[{"options":{"-1":{"color":"#a352ccbf","index":4,"text":"unknown"},"0":{"color":"#346f36cc","index":0,"text":"async"},"1":{"color":"#f2cc0cbf","index":1,"text":"potential"},"2":{"color":"#3275d9bf","index":2,"text":"sync"},"3":{"color":"#ff780abf","index":3,"text":"quorum"}},"type":"value"}] },
              { "id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}                                                                                                                                                                                                                                                        },
              { "id":"custom.width"      ,"value":90                                                                                                                                                                                                                                                                                                   }
            ]
          },
          {"matcher":{"id":"byName","options":"SRC"},"properties":[{"id":"links","value":[{"title":"PGSQL Instance for replication source instance ${__data.fields.SRC}","url":"/d/pgsql-instance?var-ins=${__data.fields.SRC}&${__url_time_range}"}]}]},
          {"matcher":{"id":"byName","options":"DST"},"properties":[{"id":"links","value":[{"title":"PGSQL Instance for replication destination instance ${__data.fields.DST}","url":"/d/pgsql-instance?var-ins=${__data.fields.DST}&${__url_time_range}"}]}]},
          {"matcher":{"id":"byName","options":"SRC IP"},"properties":[{"id":"custom.width","value":100},{"id":"links","value":[{"title":"PGSQL Node : ${__data.fields[\"SRC IP\"]}","url":"/d/node-instance?var-id=${__data.fields[\"SRC IP\"]}&${__url_time_range}"}]}]},
          {"matcher":{"id":"byName","options":"DST IP"},"properties":[{"id":"custom.width","value":100},{"id":"links","value":[{"title":"PGSQL Node: ${__data.fields[\"DST IP\"]}","url":"/d/node-instance?var-id=${__data.fields[\"DST IP\"]}&${__url_time_range}"}]}]}
        ]
      },
      "gridPos":{"h":7,"w":12,"x":0,"y":33},
      "id":167,
      "links":[{"title":"PGSQL Replication : ${cls}","url":"/d/pgsql-replication?var-cls=${cls}&${__url_time_range}"}],
      "options":{"cellHeight":"sm","showHeader":true,"sortBy":[]},
      "pluginVersion":"12.3.1",
      "targets":[
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"exemplar":false,"expr":"pg:cls:sender{cls=\"$cls\"}"  ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"A" },
        { "datasource":{"type":"prometheus","uid":"ds-prometheus"},"exemplar":false,"expr":"pg:cls:receiver{cls=\"$cls\"}","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B" }
      ],
      "title":"Replication",
      "transformations":[
        {"id":"seriesToColumns","options":{"byField":"appname"}},
        {
          "id":"organize",
          "options":{
            "excludeByName":{"Time":true,"Time 1":true,"Time 2":true,"Value #A":false,"__name__":true,"__name__ 1":true,"__name__ 2":true,"address":true,"cls":true,"cls 1":true,"cls 2":true,"ip":false,"job":true,"job 1":true,"job 2":true,"pid":true,"sender_host":true,"sender_port":true,"usename":true},
            "indexByName":{"Time 1":11,"Time 2":15,"Value #A":1,"Value #B":7,"__name__ 1":12,"__name__ 2":16,"address":13,"appname":3,"cls 1":14,"cls 2":17,"ins":2,"ip 1":4,"ip 2":5,"job 1":19,"job 2":20,"pid":8,"sender_host":10,"sender_port":18,"slot_name":6,"state":0,"usename":9},
            "renameByName":{"Value":"TLI","Value #A":"SYNC","Value #B":"TLI","address":"","appname":"DST","ins":"SRC","ip 1":"SRC IP","ip 2":"DST IP","pid":"PID","sender_host":"","sender_port":"","slot_name":"SLOT","state":"STATE","usename":"USER"}
          }
        }
      ],
      "type":"table"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "fieldConfig":{
        "defaults":{
          "color":{"mode":"palette-classic"},
          "custom":{
            "axisBorderShow":false,
            "axisCenteredZero":false,
            "axisColorMode":"text",
            "axisLabel":"",
            "axisPlacement":"auto",
            "barAlignment":0,
            "barWidthFactor":0.6,
            "drawStyle":"line",
            "fillOpacity":30,
            "gradientMode":"none",
            "hideFrom":{"legend":false,"tooltip":false,"viz":false},
            "insertNulls":false,
            "lineInterpolation":"linear",
            "lineWidth":1,
            "pointSize":2,
            "scaleDistribution":{"type":"linear"},
            "showPoints":"always",
            "showValues":false,
            "spanNulls":false,
            "stacking":{"group":"A","mode":"none"},
            "thresholdsStyle":{"mode":"off"}
          },
          "links":[{"title":"PGSQL Instance for ${__field.labels.appname}","url":"/d/pgsql-instance?var-ins=${__field.labels.appname}&${__url_time_range}"}],
          "mappings":[],
          "min":0,
          "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},
          "unit":"decbytes"
        },
        "overrides":[]
      },
      "gridPos":{"h":7,"w":12,"x":12,"y":33},
      "id":213,
      "options":{"legend":{"calcs":["max","last"],"displayMode":"table","placement":"bottom","showLegend":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
      "pluginVersion":"12.3.1",
      "targets":[{"exemplar":false,"expr":"pg_repl_replay_diff{cls=\"$cls\"}","interval":"","legendFormat":"{{ ins }} \u2192 {{ usename }}:{{ appname }}@{{ address }}","refId":"A"}],
      "title":"Replication Lag in Bytes",
      "type":"timeseries"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"",
      "fieldConfig":{
        "defaults":{
          "color":{"mode":"thresholds"},
          "links":[{"title":"PGSQL Cluster Replication : ${cls}","url":"/d/pgsql-replication?var-cls=${cls}&viewPanel=56&${__url_time_range}"}],
          "mappings":[{"options":{"1":{"color":"#3e668f","index":0,"text":"Leader"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"#cc4637d9","index":1,"text":"Loser"}},"type":"special"}],
          "max":1,
          "min":0,
          "thresholds":{"mode":"absolute","steps":[{"color":"#cc4637d9","value":0},{"color":"#346f36cc","value":1}]},
          "unit":"none"
        },
        "overrides":[]
      },
      "gridPos":{"h":6,"w":3,"x":0,"y":40},
      "id":123,
      "options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"auto","percentChangeColorMode":"standard","reduceOptions":{"calcs":["last"],"fields":"","values":false},"showPercentChange":false,"text":{"valueSize":16},"textMode":"auto","wideLayout":true},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"exemplar":false,"expr":"pg:cls:leader{cls=\"$cls\"}","interval":"","legendFormat":"{{ ins }}","refId":"A"}],
      "type":"stat"
    },
    {
      "datasource":{"type":"prometheus","uid":"ds-prometheus"},
      "description":"Leadership shows who is in charge of this cluster ${cls}",
      "fieldConfig":{
        "defaults":{
          "color":{"mode":"palette-classic"},
          "custom":{
            "axisBorderShow":false,
            "axisCenteredZero":false,
            "axisColorMode":"text",
            "axisLabel":"",
            "axisPlacement":"hidden",
            "axisSoftMin":0,
            "barAlignment":0,
            "barWidthFactor":0.6,
            "drawStyle":"line",
            "fillOpacity":57,
            "gradientMode":"none",
            "hideFrom":{"graph":false,"legend":false,"tooltip":false,"viz":false},
            "insertNulls":false,
            "lineInterpolation":"stepBefore",
            "lineWidth":0,
            "pointSize":1,
            "scaleDistribution":{"type":"linear"},
            "showPoints":"auto",
            "showValues":false,
            "spanNulls":false,
            "stacking":{"group":"A","mode":"none"},
            "thresholdsStyle":{"mode":"off"}
          },
          "links":[{"title":"PGSQL Instance : ${__field.labels.ins}","url":"/d/pgsql-instance?var-ins=${__field.labels.ins}&${__url_time_range}"}],
          "mappings":[],
          "max":1,
          "min":0,
          "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},
          "unit":"none"
        },
        "overrides":[{"matcher":{"id":"byType","options":"time"},"properties":[{"id":"custom.axisPlacement","value":"auto"}]}]
      },
      "gridPos":{"h":6,"w":9,"x":3,"y":40},
      "id":158,
      "links":[{"title":"PGSQL Replication : ${cls} ${__url_time_range}","url":"/d/pgsql-replication?var-cls=${cls}&${__url_time_range}"}],
      "options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"(pg_in_recovery{cls=\"$cls\"} == 0) * 0 + 1","interval":"","legendFormat":"{{ ins }}","range":true,"refId":"A"}],
      "title":"Leadership",
      "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,
            "barWidthFactor":0.6,
            "drawStyle":"line",
            "fillOpacity":25,
            "gradientMode":"hue",
            "hideFrom":{"legend":false,"tooltip":false,"viz":false},
            "insertNulls":false,
            "lineInterpolation":"stepBefore",
            "lineWidth":1,
            "pointSize":5,
            "scaleDistribution":{"type":"linear"},
            "showPoints":"auto",
            "showValues":false,
            "spanNulls":false,
            "stacking":{"group":"A","mode":"none"},
            "thresholdsStyle":{"mode":"off"}
          },
          "decimals":0,
          "mappings":[],
          "min":0,
          "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},
          "unit":"none"
        },
        "overrides":[]
      },
      "gridPos":{"h":6,"w":12,"x":12,"y":40},
      "id":165,
      "options":{"legend":{"calcs":["last"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"pg_timeline_id{cls=\"$cls\"}","interval":"","legendFormat":"{{ ins }}","range":true,"refId":"A"}],
      "title":"Timeline",
      "type":"timeseries"
    },
    {"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":46},"id":170,"panels":[],"title":"Logs","type":"row"},
    {
      "datasource":{"type":"victoriametrics-logs-datasource","uid":"ds-vlogs"},
      "description":"PostgreSQL / PgBackrest Logs Event",
      "fieldConfig":{
        "defaults":{
          "color":{"fixedColor":"#346f36cc","mode":"palette-classic"},
          "custom":{
            "axisBorderShow":false,
            "axisCenteredZero":false,
            "axisColorMode":"text",
            "axisLabel":"",
            "axisPlacement":"auto",
            "barAlignment":0,
            "barWidthFactor":0.6,
            "drawStyle":"bars",
            "fillOpacity":100,
            "gradientMode":"none",
            "hideFrom":{"graph":false,"legend":false,"tooltip":false,"viz":false},
            "insertNulls":false,
            "lineInterpolation":"linear",
            "lineWidth":1,
            "pointSize":5,
            "scaleDistribution":{"type":"linear"},
            "showPoints":"never",
            "showValues":false,
            "spanNulls":true,
            "stacking":{"group":"A","mode":"normal"},
            "thresholdsStyle":{"mode":"off"}
          },
          "decimals":0,
          "mappings":[],
          "thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc","value":0}]},
          "unit":"none"
        },
        "overrides":[]
      },
      "gridPos":{"h":5,"w":24,"x":0,"y":47},
      "id":201,
      "interval":"1s",
      "options":{"legend":{"calcs":["sum"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"hideZeros":false,"mode":"single","sort":"none"}},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"victoriametrics-logs-datasource","uid":"ds-vlogs"},"editorMode":"code","expr":"job:in(\"postgres\", \"pgbackrest\") ip:in(${members:doublequote}) | stats by (ins,job) count() as count","legendFormat":"{{ ins }}.{{ job }}","queryType":"statsRange","refId":"A"}],
      "title":"Logs",
      "type":"timeseries"
    },
    {
      "datasource":{"type":"victoriametrics-logs-datasource","uid":"ds-vlogs"},
      "description":"Recent logs for pgbackrest",
      "gridPos":{"h":17,"w":16,"x":0,"y":52},
      "id":202,
      "options":{"dedupStrategy":"none","enableInfiniteScrolling":false,"enableLogDetails":true,"fontSize":"small","prettifyLogMessage":false,"showCommonLabels":false,"showControls":true,"showLabels":true,"showTime":true,"sortOrder":"Descending","syntaxHighlighting":true,"wrapLogMessage":false},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"victoriametrics-logs-datasource","uid":"ds-vlogs"},"editorMode":"code","expr":"job:pgbackrest ip:in(${members:doublequote}) $search | fields level, topic, ins, _msg","instant":false,"queryType":"instant","range":true,"refId":"A"}],
      "title":"Pgbackrest Logs",
      "type":"logs"
    },
    {
      "datasource":{"type":"victoriametrics-logs-datasource","uid":"ds-vlogs"},
      "description":"",
      "gridPos":{"h":17,"w":8,"x":16,"y":52},
      "id":173,
      "options":{"dedupStrategy":"none","enableInfiniteScrolling":false,"enableLogDetails":true,"fontSize":"small","prettifyLogMessage":false,"showCommonLabels":false,"showControls":true,"showLabels":true,"showTime":true,"sortOrder":"Descending","syntaxHighlighting":true,"wrapLogMessage":false},
      "pluginVersion":"12.3.1",
      "targets":[{"datasource":{"type":"victoriametrics-logs-datasource","uid":"ds-vlogs"},"direction":"desc","editorMode":"code","expr":"job:postgres ip:in(${members:doublequote}) $search \n| fields level,ins,_msg","instant":false,"queryType":"instant","range":true,"refId":"A"}],
      "title":"PostgreSQL Logs",
      "type":"logs"
    },
    {"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":69},"id":193,"panels":[],"title":"Docs","type":"row"},
    {
      "gridPos":{"h":33,"w":24,"x":0,"y":70},
      "id":194,
      "links":[{"targetBlank":true,"title":"Pigsty Docs: PITR","url":"https://pigsty.io/docs/pgsql/backup/restore"}],
      "options":{
        "code":{"language":"plaintext","showLineNumbers":false,"showMiniMap":false},
        "content":"[Pigsty Backup & Restore Docs](https://pigsty.io/docs/pgsql/backup)\n\n### By Time\n\nThe most frequently used target is the time point; you can specify the time point to restore to:\n\n```bash title=\"restore to a timepoint\"\n./pgsql-pitr.yml -l ${cls} -e '{\"pg_pitr\": { \"time\": \"2025-07-13 10:00:00+00\" }}'\n```\n\nTime should be a valid PostgreSQL [`TIMESTAMP`](https://www.postgresql.org/docs/17/datatype-datetime.html#DATATYPE-DATETIME-INPUT-TIME-STAMPS), `YYYY-MM-DD HH:MM:SS+TZ` is recommended.\n\n\n### By Name\n\nYou can create a named restore point with [`pg_create_restore_point`](https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.5.5.2.2.1.1.1.1):\n\n```sql\nSELECT pg_create_restore_point('shit_incoming');\n```\n\nAnd use that named restore point in PITR:\n\n```bash\n./pgsql-pitr.yml -l ${cls} -e '{\"pg_pitr\": { \"name\": \"shit_incoming\" }}'\n```\n\n\n### By XID\n\nIf you have a transaction that accidentally deleted some data, the best way to recover is to restore the database to the state before that transaction.\n\n```bash title=\"restore right before a transaction\"\n./pgsql-pitr.yml -l ${cls} -e '{\"pg_pitr\": { \"xid\": \"250000\", exclusive: true }}'\n```\n\nYou can find the exact transaction id from monitoring dashboard, or find it from `TXID` from the CSVLOG.\n\n\n### By LSN\n\nPostgreSQL uses the [LSN](https://www.postgresql.org/docs/current/datatype-pg-lsn.html) (Log Sequence Number) to identify the position of a WAL record.\nYou can find it everywhere, like the PG LSN panel from Pigsty dashboards.\n\n```bash title=\"restore to a LSN\"\n./pgsql-pitr.yml -l ${cls} -e '{\"pg_pitr\": { \"lsn\": \"0/4001C80\", timeline: \"1\" }}'\n```\n\nTo restore to an exact point in the WAL stream, you may also specify the [`timeline`](https://www.postgresql.org/docs/current/runtime-config-wal.html#RECOVERY-TARGET-TIMELINE) parameter (default to `latest`)",
        "mode":"markdown"
      },
      "pluginVersion":"12.3.1",
      "title":"PITR Docs",
      "type":"text"
    }
  ],
  "preload":false,
  "refresh":"10s",
  "schemaVersion":42,
  "tags":["Pigsty","PGSQL","Cluster"],
  "templating":{
    "list":[
      {
        "current":{},
        "datasource":{"type":"prometheus","uid":"ds-prometheus"},
        "definition":"label_values(pg_up, cls)",
        "description":"Cluster identifier for this postgres instance, cls should be unique among entire environment. such as pg-meta, pg-test",
        "includeAll":false,
        "label":"Cluster",
        "name":"cls",
        "options":[],
        "query":{"query":"label_values(pg_up, cls)","refId":"StandardVariableQuery"},
        "refresh":2,
        "regex":"",
        "sort":1,
        "type":"query"
      },{
        "current":{},
        "datasource":{"type":"prometheus","uid":"ds-prometheus"},
        "definition":"label_values(pg:cls:leader{cls=\"$cls\"}, ins)",
        "description":"Unique instance identifier (e.g pg-meta-1)",
        "hide":2,
        "includeAll":false,
        "label":"Primary",
        "name":"primary",
        "options":[],
        "query":{"query":"label_values(pg:cls:leader{cls=\"$cls\"}, ins)","refId":"StandardVariableQuery"},
        "refresh":2,
        "regex":"",
        "sort":1,
        "type":"query"
      },{
        "current":{},
        "datasource":{"type":"prometheus","uid":"ds-prometheus"},
        "definition":"label_values(pgbackrest_repo_status{cls=\"$cls\"},stanza)",
        "description":"Available Stanza in this cluster's pgbackrest repo",
        "includeAll":false,
        "label":"Stanza",
        "name":"stanza",
        "options":[],
        "query":{"qryType":1,"query":"label_values(pgbackrest_repo_status{cls=\"$cls\"},stanza)","refId":"PrometheusVariableQueryEditor-VariableQuery"},
        "refresh":2,
        "regex":"",
        "sort":1,
        "type":"query"
      },{
        "current":{},
        "datasource":{"type":"prometheus","uid":"ds-prometheus"},
        "definition":"label_values(pg_up{cls=\"$cls\"}, ip)",
        "description":"Unique instance identifier (e.g pg-meta-1)",
        "hide":2,
        "includeAll":true,
        "label":"Primary",
        "multi":true,
        "name":"members",
        "options":[],
        "query":{"query":"label_values(pg_up{cls=\"$cls\"}, ip)","refId":"StandardVariableQuery"},
        "refresh":2,
        "regex":"",
        "sort":1,
        "type":"query"
      },{
        "current":{},
        "datasource":{"type":"prometheus","uid":"ds-prometheus"},
        "definition":"label_values(node_load1{ip=~\"$members\"},cls)",
        "description":"Node Cluster Identifier",
        "hide":2,
        "includeAll":false,
        "label":"Node Cluster",
        "name":"node_cls",
        "options":[],
        "query":{"query":"label_values(node_load1{ip=~\"$members\"},cls)","refId":"PrometheusVariableQueryEditor-VariableQuery"},
        "refresh":2,
        "regex":"",
        "sort":1,
        "type":"query"
      },
      {"current":{},"description":"LogsQL query on pgbackrest / postgres logs","label":"Search","name":"search","options":[{"selected":true,"text":"","value":""}],"query":"","type":"textbox"}
    ]
  },
  "time":{"from":"now-1h","to":"now"},
  "timepicker":{},
  "timezone":"browser",
  "title":"PGSQL PITR",
  "uid":"pgsql-pitr",
  "version":1,
  "weekStart":""
}