469 lines
36 KiB
JSON
469 lines
36 KiB
JSON
{
|
|
"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 Proxy Instance Dashboard",
|
|
"editable":true,
|
|
"fiscalYearStartMonth":0,
|
|
"graphTooltip":0,
|
|
"id":null,
|
|
"license":"https://pigsty.io/docs/about/license/",
|
|
"links":[
|
|
{ "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":214,"panels":[],"title":"Overview","type":"row"},
|
|
{
|
|
"datasource":{"type":"marcusolsson-static-datasource","uid":"ds-static"},
|
|
"description":"",
|
|
"fieldConfig":{
|
|
"defaults":{"color":{"mode":"thresholds"},"mappings":[],"max":2.5,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"#3e668f"}]}},
|
|
"overrides":[
|
|
{ "matcher":{"id":"byFrameRefID","options":"A"},"properties":[{"id":"links","value":[{"title":"PGSQL Instance : ${ins}","url":"/d/pgsql-instance?var-ins=${ins}&${__url_time_range}"}]}] },{ "matcher":{"id":"byFrameRefID","options":"B"},"properties":[{"id":"links","value":[{"title":"PGSQL Cluster : ${cls}","url":"/d/pgsql-cluster?var-cls=${cls}&${__url_time_range}"}]}] },
|
|
{ "matcher":{"id":"byFrameRefID","options":"C"},"properties":[{"id":"links","value":[{"title":"Node Instance : ${ip}","url":"/d/node-instance?var-id=${ip}&${__url_time_range}"}]}] },{ "matcher":{"id":"byFrameRefID","options":"D"},"properties":[{"id":"links","value":[{"title":"Node Instance : ${node}","url":"/d/node-instance?var-id=${node}&${__url_time_range}"}]}] },
|
|
{ "matcher":{"id":"byFrameRefID","options":"E"},"properties":[{"id":"links","value":[{"targetBlank":true,"title":"HAProxy Admin Page : ${ins}","url":"/haproxy/${ins}/"}]}] }
|
|
]
|
|
},
|
|
"gridPos":{"h":7,"w":6,"x":0,"y":1},
|
|
"id":281,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"/.*/","values":true},"showPercentChange":false,"text":{"titleSize":16,"valueSize":16},"textMode":"value_and_name","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[
|
|
{ "datasource":{"type":"marcusolsson-static-datasource","uid":"ds-static"},"frame":{"fields":[{"config":{},"name":"Instance","type":"string","values":["$ins"]}],"meta":{},"name":""} ,"hide":false,"refId":"A" },
|
|
{ "datasource":{"type":"marcusolsson-static-datasource","uid":"ds-static"},"frame":{"fields":[{"config":{},"name":"Cluster","type":"string","values":["${cls}"]}],"meta":{},"name":""},"hide":false,"refId":"B" },
|
|
{ "datasource":{"type":"marcusolsson-static-datasource","uid":"ds-static"},"frame":{"fields":[{"config":{},"name":"Node IP","type":"string","values":["${ip}"]}],"meta":{},"name":""} ,"hide":false,"refId":"C" },
|
|
{ "datasource":{"type":"marcusolsson-static-datasource","uid":"ds-static"},"frame":{"fields":[{"config":{},"name":"Hostname","type":"string","values":["${node}"]}],"meta":{}} ,"hide":false,"refId":"D" },
|
|
{ "datasource":{"type":"marcusolsson-static-datasource","uid":"ds-static"},"frame":{"fields":[{"config":{},"name":"Admin","type":"string","values":["/haproxy/${ins}/"]}],"meta":{}} ,"hide":false,"refId":"E" }
|
|
],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"All haproxy instances in this cluster ${cls}",
|
|
"fieldConfig":{
|
|
"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"inspect":false},"mappings":[],"max":1.2,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]}},
|
|
"overrides":[
|
|
{"matcher":{"id":"byName","options":"Proxy"},"properties":[{"id":"links","value":[{"title":"PGSQL Proxy ${__data.fields.Proxy}","url":"/d/pgsql-proxy?var-ins=${__data.fields.Proxy}&${__url_time_range}"}]},{"id":"custom.width"}]},
|
|
{
|
|
"matcher":{"id":"byName","options":"Session"},
|
|
"properties":[
|
|
{ "id":"mappings" ,"value":[{"options":{"0":{"color":"transparent","index":0,"text":"0"}},"type":"value"},{"options":{"from":1,"result":{"color":"#346f36cc","index":1},"to":9999999},"type":"range"},{"options":{"match":"null+nan","result":{"color":"gray","index":2,"text":"N/A"}},"type":"special"}] },
|
|
{ "id":"custom.cellOptions","value":{"mode":"basic","type":"color-background"} },
|
|
{ "id":"custom.width" ,"value":70 }
|
|
]
|
|
},{
|
|
"matcher":{"id":"byName","options":"Route"},
|
|
"properties":[
|
|
{ "id":"mappings" ,"value":[{"options":{"0":{"color":"#3e668f","index":1,"text":"0"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"gray","index":0,"text":"N/A"}},"type":"special"},{"options":{"from":1,"result":{"color":"#346f36cc","index":2},"to":9999999},"type":"range"}] },
|
|
{ "id":"custom.cellOptions","value":{"mode":"basic","type":"color-background"} },
|
|
{ "id":"custom.width" ,"value":60 }
|
|
]
|
|
},
|
|
{"matcher":{"id":"byName","options":"Admin"},"properties":[{"id":"custom.width","value":135},{"id":"links","value":[{"targetBlank":true,"title":"HAProxy Admin Page : ${__data.fields.Proxy}","url":"/haproxy/${__data.fields.Proxy}"}]}]},
|
|
{
|
|
"matcher":{"id":"byName","options":"Load"},
|
|
"properties":[{"id":"unit","value":"percentunit"},{"id":"custom.width","value":60},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"#3e668f"},{"color":"#346f36cc","value":0.1},{"color":"#fcdb72","value":0.3},{"color":"#f79f64","value":0.5},{"color":"red","value":0.7},{"color":"#b783af","value":0.9},{"color":"text","value":0.99}]}},{"id":"custom.cellOptions","value":{"type":"color-text"}}]
|
|
},
|
|
{"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":"Alive"},"properties":[{"id":"mappings","value":[{"options":{"0":{"color":"#cc4637d9","index":0,"text":"DOWN"},"1":{"color":"#346f36cc","index":1,"text":"UP"}},"type":"value"}]},{"id":"custom.cellOptions","value":{"type":"color-background"}},{"id":"custom.width","value":80}]}
|
|
]
|
|
},
|
|
"gridPos":{"h":7,"w":9,"x":6,"y":1},
|
|
"id":223,
|
|
"options":{"cellHeight":"sm","footer":{"countRows":false,"fields":"","reducer":["sum"],"show":false},"showHeader":true,"sortBy":[{"desc":false,"displayName":"Proxy"}]},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"min by (ins) (haproxy_up{cls=\"$cls\"})" ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"D" },
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum without (proxy) (haproxy_backend_current_sessions{cls=\"$cls\"})" ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"A" },
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum by (ins,ip) (haproxy_server_status{cls=\"$cls\", state=\"UP\"})" ,"format":"table","hide":true ,"instant":true,"interval":"","legendFormat":"","refId":"B" },
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"max by (ins) ((100 - haproxy_process_idle_time_percent{cls=\"$cls\"})) / 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"C" }
|
|
],
|
|
"title":"",
|
|
"transformations":[
|
|
{"id":"seriesToColumns","options":{"byField":"ins"}},
|
|
{
|
|
"id":"organize",
|
|
"options":{
|
|
"excludeByName":{"Time":true,"Time 1":true,"Time 2":true,"Time 3":true,"cls":true,"ip":false,"ip 2":true,"job":true},
|
|
"indexByName":{"Time 1":6,"Time 2":7,"Time 3":10,"Value #A":5,"Value #C":4,"Value #D":0,"cls":8,"ins":1,"instance":3,"ip":2,"job":9},
|
|
"renameByName":{"Value":"Session","Value #A":"Session","Value #B":"Route","Value #C":"Load","Value #D":"Alive","ins":"Proxy","instance":"Admin","ip":"IP","ip 1":"IP"}
|
|
}
|
|
}
|
|
],
|
|
"type":"table"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"Service among cluster. Number of routes from proxy to server",
|
|
"fieldConfig":{
|
|
"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"auto"},"inspect":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]}},
|
|
"overrides":[
|
|
{
|
|
"matcher":{"id":"byName","options":"Session"},
|
|
"properties":[{"id":"mappings","value":[{"options":{"0":{"color":"transparent","index":0},"1":{"color":"#346f36cc","index":1,"text":"9999999"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"gray","index":2,"text":"N/A"}},"type":"special"}]},{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"custom.width","value":70}]
|
|
},
|
|
{"matcher":{"id":"byName","options":"Service"},"properties":[{"id":"links","value":[{"title":"PGSQL Service for ${__data.fields.Service}","url":"/d/pgsql-service?var-svc=${__data.fields.Service}&${__url_time_range}"}]}]},
|
|
{
|
|
"matcher":{"id":"byName","options":"Alive"},
|
|
"properties":[{"id":"custom.cellOptions","value":{"mode":"basic","type":"color-background"}},{"id":"custom.width","value":60},{"id":"mappings","value":[{"options":{"0":{"color":"#cc4637d9","index":1,"text":"DOWN"},"1":{"color":"#346f36cc","index":2,"text":"UP"}},"type":"value"},{"options":{"match":"null+nan","result":{"color":"gray","index":0,"text":"N/A"}},"type":"special"}]}]
|
|
}
|
|
]
|
|
},
|
|
"gridPos":{"h":7,"w":9,"x":15,"y":1},
|
|
"id":270,
|
|
"options":{"cellHeight":"sm","footer":{"countRows":false,"fields":"","reducer":["sum"],"show":false},"showHeader":true,"sortBy":[{"desc":false,"displayName":"Service"}]},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum by (proxy) (haproxy_backend_current_sessions{ins=\"$ins\", proxy!=\"stats\"})","format":"table", "instant":true,"interval":"","legendFormat":"","refId":"A" },
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum by (proxy) (haproxy:ins:service_up{ins=\"$ins\"})" ,"format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B" }
|
|
],
|
|
"title":"",
|
|
"transformations":[{"id":"seriesToColumns","options":{"byField":"proxy"}},{"id":"organize","options":{"excludeByName":{"Time":true,"Time 1":true,"Time 2":true,"Value":false},"indexByName":{"Time 1":3,"Time 2":4,"Value #A":2,"Value #B":1,"proxy":0},"renameByName":{"Time":"","Value":"Session","Value #A":"Session","Value #B":"Alive","proxy":"Service"}}}],
|
|
"type":"table"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"s"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":0,"y":8},
|
|
"id":170,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"exemplar":false,"expr":"time() - haproxy_process_start_time_seconds{ins=\"$ins\"}","interval":"","intervalFactor":2,"legendFormat":"Uptime","refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"max":100,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"percent"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":2,"y":8},
|
|
"id":171,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"exemplar":false,"expr":"100 - haproxy_process_idle_time_percent{ins=\"$ins\"}","interval":"","intervalFactor":2,"legendFormat":"Busy","refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"max":100,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"bytes"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":4,"y":8},
|
|
"id":225,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"haproxy_process_pool_allocated_bytes {ins=\"$ins\"}","interval":"","intervalFactor":2,"legendFormat":"Mem","range":true,"refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"Session are created between proxies(haproxy) and servers(postgres).",
|
|
"fieldConfig":{
|
|
"defaults":{
|
|
"color":{"mode":"palette-classic"},
|
|
"custom":{
|
|
"axisBorderShow":false,
|
|
"axisCenteredZero":false,
|
|
"axisColorMode":"text",
|
|
"axisLabel":"",
|
|
"axisPlacement":"auto",
|
|
"barAlignment":0,
|
|
"barWidthFactor":0.6,
|
|
"drawStyle":"bars",
|
|
"fillOpacity":64,
|
|
"gradientMode":"none",
|
|
"hideFrom":{"graph":false,"legend":false,"tooltip":false,"viz":false},
|
|
"insertNulls":false,
|
|
"lineInterpolation":"stepBefore",
|
|
"lineWidth":0,
|
|
"pointSize":5,
|
|
"scaleDistribution":{"type":"linear"},
|
|
"showPoints":"never",
|
|
"spanNulls":true,
|
|
"stacking":{"group":"A","mode":"normal"},
|
|
"thresholdsStyle":{"mode":"off"}
|
|
},
|
|
"links":[{"title":"PGSQL Service : ${__field.labels.proxy}","url":"/d/pgsql-service?var-svc=${__field.labels.proxy}&${__url_time_range}"},{"title":"PGSQL Instance for ${__field.labels.server}","url":"/d/pgsql-instance?var-ins=${__field.labels.server}&${__url_time_range}"}],
|
|
"mappings":[],
|
|
"min":0,
|
|
"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},
|
|
"unit":"none"
|
|
},
|
|
"overrides":[]
|
|
},
|
|
"gridPos":{"h":9,"w":18,"x":6,"y":8},
|
|
"id":224,
|
|
"options":{"legend":{"calcs":["last"],"displayMode":"table","placement":"right","showLegend":true,"sortBy":"Last","sortDesc":true},"tooltip":{"hideZeros":false,"mode":"multi","sort":"none"}},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum by (proxy,server) (haproxy_server_current_sessions{ins=\"$ins\"})","interval":"","legendFormat":"{{ proxy }} \u2794 {{ server }}","range":true,"refId":"A"}],
|
|
"title":"Active Session",
|
|
"type":"timeseries"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"",
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"none"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":0,"y":11},
|
|
"id":215,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"count(sum by (proxy) (haproxy_backend_current_sessions{ins=\"$ins\", proxy!=\"stats\"})) or on() vector(0)","instant":true,"interval":"","intervalFactor":2,"legendFormat":"Service","refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"",
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"none"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":2,"y":11},
|
|
"id":216,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"count(sum by (server)(haproxy_server_status{ins=\"$ins\"})) or on() vector(0)","instant":true,"interval":"","intervalFactor":2,"legendFormat":"Server","refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"",
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"none"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":4,"y":11},
|
|
"id":172,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"exemplar":false,"expr":"haproxy_process_nbproc{ins=\"$ins\"}","instant":true,"interval":"","intervalFactor":2,"legendFormat":"BG Proc","refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"",
|
|
"fieldConfig":{"defaults":{"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]}},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":0,"y":14},
|
|
"id":175,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"auto","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"exemplar":false,"expr":"sum(haproxy_frontend_current_sessions{ins=\"$ins\"})","hide":false,"interval":"","intervalFactor":1,"legendFormat":"Frontend","metric":"","refId":"B","step":30}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"",
|
|
"fieldConfig":{"defaults":{"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]}},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":2,"y":14},
|
|
"id":174,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"auto","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum(haproxy_backend_current_sessions{ins=\"$ins\", proxy!=\"stats\"}) or on() vector(0)","hide":false,"interval":"","intervalFactor":1,"legendFormat":"Backends","metric":"","range":true,"refId":"B","step":30}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"fieldConfig":{"defaults":{"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"thresholds":{"mode":"absolute","steps":[{"color":"#346f36cc"}]},"unit":"none"},"overrides":[]},
|
|
"gridPos":{"h":3,"w":2,"x":4,"y":14},
|
|
"id":149,
|
|
"maxDataPoints":100,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"auto","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"text":{},"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"exemplar":false,"expr":"haproxy_process_current_tasks{ins=\"$ins\"}","interval":"","intervalFactor":2,"legendFormat":"Task","refId":"A","step":1800}],
|
|
"title":"",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"Services SLI is measured by Service availability\nIf all routes (lb->server) for a service is down, the service (of the lb instance is treated as Down)",
|
|
"fieldConfig":{
|
|
"defaults":{
|
|
"color":{"mode":"thresholds"},
|
|
"decimals":4,
|
|
"links":[{"title":"PGSQL Service : ${__field.labels.proxy}","url":"/d/pgsql-service?var-svc=${__field.labels.proxy}&${__url_time_range}"}],
|
|
"mappings":[],
|
|
"thresholds":{"mode":"absolute","steps":[{"color":"text"},{"color":"#7771a4","value":0.9},{"color":"#b783af","value":0.95},{"color":"#cc4637d9","value":0.99},{"color":"#f79f64","value":0.999},{"color":"#fcdb72","value":0.9999},{"color":"#3e668f","value":0.99999},{"color":"#346f36cc","value":1}]},
|
|
"unit":"percentunit"
|
|
},
|
|
"overrides":[]
|
|
},
|
|
"gridPos":{"h":6,"w":6,"x":0,"y":17},
|
|
"id":280,
|
|
"options":{"colorMode":"background","graphMode":"area","justifyMode":"auto","orientation":"horizontal","percentChangeColorMode":"standard","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"textMode":"auto","wideLayout":true},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"avg_over_time(haproxy:ins:service_up{ins=\"$ins\"}[30d])","instant":true,"legendFormat":"{{ proxy }}","range":false,"refId":"A"}],
|
|
"title":"Service SLI (1 Month)",
|
|
"type":"stat"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"fieldConfig":{
|
|
"defaults":{
|
|
"color":{"mode":"thresholds"},
|
|
"custom":{"axisPlacement":"auto","fillOpacity":60,"hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":false,"lineWidth":0,"spanNulls":false},
|
|
"links":[{"title":"PGSQL Service : ${__field.labels.proxy}","url":"/d/pgsql-service?var-svc=${__field.labels.proxy}&${__url_time_range}"}],
|
|
"mappings":[{"options":{"match":"null+nan","result":{"color":"#808080","index":1}},"type":"special"}],
|
|
"thresholds":{"mode":"absolute","steps":[{"color":"#cc4637d9"},{"color":"#346f36cc","value":1}]}
|
|
},
|
|
"overrides":[]
|
|
},
|
|
"gridPos":{"h":6,"w":18,"x":6,"y":17},
|
|
"id":260,
|
|
"options":{"alignValue":"left","legend":{"displayMode":"list","placement":"bottom","showLegend":false},"mergeValues":true,"rowHeight":0.9,"showValue":"never","tooltip":{"hideZeros":false,"mode":"single","sort":"none"}},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"sum by (proxy) (haproxy_server_status{ins=\"$ins\", proxy!=\"stats\", state=\"UP\"})","hide":true ,"instant":false,"legendFormat":"{{ proxy }}","range":true,"refId":"A" },
|
|
{ "datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","expr":"haproxy:ins:service_up{ins=\"$ins\"}" ,"hide":false,"instant":false,"legendFormat":"{{ proxy }}","range":true,"refId":"B" }
|
|
],
|
|
"title":"",
|
|
"type":"state-timeline"
|
|
},
|
|
{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":23},"id":226,"panels":[],"repeat":"svc","title":"$svc","type":"row"},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"description":"",
|
|
"fieldConfig":{
|
|
"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","cellOptions":{"type":"color-background"},"inspect":false,"minWidth":60},"mappings":[{"options":{"0":{"index":0,"text":"\u25cb"},"1":{"index":1,"text":"\u25c9"}},"type":"value"}],"thresholds":{"mode":"absolute","steps":[{"color":"#e3e3e3e0"},{"color":"transparent","value":0},{"color":"#346f36cc","value":1}]}},
|
|
"overrides":[
|
|
{ "matcher":{"id":"byName","options":"Server"},"properties":[{"id":"unit","value":"string"},{"id":"links","value":[{"title":"PGSQL Instance for ${__data.fields.Server}","url":"/d/pgsql-instance?var-ins=${__data.fields.Server}&${__url_time_range}"}]},{"id":"custom.minWidth","value":100},{"id":"custom.cellOptions","value":{"type":"auto"}}] },
|
|
{ "matcher":{"id":"byType","options":"number"},"properties":[{"id":"custom.width","value":70}] },
|
|
{ "matcher":{"id":"byName","options":"DOWN"} ,"properties":[{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"transparent"},{"color":"#cc4637d9","value":1}]}}] },
|
|
{ "matcher":{"id":"byName","options":"DRAIN"} ,"properties":[{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"transparent"},{"color":"#2c68b3","value":1}]}}] },
|
|
{ "matcher":{"id":"byName","options":"MAINT"} ,"properties":[{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"transparent"},{"color":"#92632a","value":1}]}}] },
|
|
{ "matcher":{"id":"byName","options":"NOLB"} ,"properties":[{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"transparent"},{"color":"#818181","value":1}]}}] }
|
|
]
|
|
},
|
|
"gridPos":{"h":7,"w":6,"x":0,"y":24},
|
|
"id":221,
|
|
"options":{"cellHeight":"sm","footer":{"countRows":false,"fields":"","reducer":["sum"],"show":false},"showHeader":true,"sortBy":[{"desc":false,"displayName":"Server"}]},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[{"datasource":{"type":"prometheus","uid":"ds-prometheus"},"editorMode":"code","exemplar":false,"expr":"sum by (server,state) (haproxy_server_status{ins=\"$ins\", proxy=\"$svc\"})","format":"time_series","instant":true,"interval":"","legendFormat":"","refId":"A"}],
|
|
"title":"",
|
|
"transformations":[{"id":"labelsToFields","options":{"keepLabels":["state","server"],"valueLabel":"state"}},{"id":"merge","options":{}},{"id":"organize","options":{"excludeByName":{"NOLB":true,"Time":true,"cls":true,"ins":true,"instance":true,"ip":true,"job":true},"indexByName":{"DOWN":3,"DRAIN":4,"MAINT":5,"NOLB":6,"Time":1,"UP":2,"server":0},"renameByName":{"proxy":"","server":"Server"}}}],
|
|
"type":"table"
|
|
},
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"fieldConfig":{
|
|
"defaults":{
|
|
"color":{"mode":"thresholds"},
|
|
"custom":{"axisPlacement":"auto","fillOpacity":60,"hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":false,"lineWidth":0,"spanNulls":false},
|
|
"links":[{"title":"PGSQL Service : ${__field.labels.proxy}","url":"/d/pgsql-service?var-svc=${__field.labels.proxy}&${__url_time_range}"}],
|
|
"mappings":[{"options":{"match":"null+nan","result":{"color":"#808080","index":1}},"type":"special"}],
|
|
"thresholds":{"mode":"absolute","steps":[{"color":"#cc4637d9"},{"color":"#346f36cc","value":1},{"color":"#2c68b3","value":2},{"color":"#92632a","value":4},{"color":"#fcdb72","value":8}]}
|
|
},
|
|
"overrides":[]
|
|
},
|
|
"gridPos":{"h":7,"w":18,"x":6,"y":24},
|
|
"id":250,
|
|
"options":{"alignValue":"left","legend":{"displayMode":"list","placement":"bottom","showLegend":false},"mergeValues":true,"rowHeight":0.9,"showValue":"never","tooltip":{"hideZeros":false,"mode":"single","sort":"none"}},
|
|
"pluginVersion":"12.0.0",
|
|
"targets":[
|
|
{
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"editorMode":"code",
|
|
"expr":"1 * min without(state) (haproxy_server_status{ins=\"$ins\", proxy=\"$svc\", state=\"UP\"})\n+ 2 * min without(state) (haproxy_server_status{ins=\"$ins\", proxy=\"$svc\", state=\"DRAIN\"})\n+ 4 * min without(state) (haproxy_server_status{ins=\"$ins\", proxy=\"$svc\", state=\"MAINT\"})\n+ 8 * min without(state) (haproxy_server_status{ins=\"$ins\", proxy=\"$svc\", state=\"NOLB\"})",
|
|
"instant":false,
|
|
"legendFormat":"{{ server }}",
|
|
"range":true,
|
|
"refId":"A"
|
|
}
|
|
],
|
|
"title":"",
|
|
"type":"state-timeline"
|
|
}
|
|
],
|
|
"preload":false,
|
|
"refresh":"",
|
|
"schemaVersion":41,
|
|
"tags":["Pigsty","PGSQL","Instance","Proxy"],
|
|
"templating":{
|
|
"list":[
|
|
{
|
|
"current":{},
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"definition":"label_values(haproxy_backend_active_servers{proxy=~\"pg.*\"},ins)",
|
|
"description":"Unique instance identifier (e.g pg-meta-1)",
|
|
"includeAll":false,
|
|
"label":"Instance",
|
|
"name":"ins",
|
|
"options":[],
|
|
"query":{"query":"label_values(haproxy_backend_active_servers{proxy=~\"pg.*\"},ins)","refId":"PrometheusVariableQueryEditor-VariableQuery"},
|
|
"refresh":2,
|
|
"regex":"",
|
|
"sort":1,
|
|
"type":"query"
|
|
},{
|
|
"current":{},
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"definition":"label_values(haproxy_process_idle_time_percent{ins=\"$ins\"}, cls)",
|
|
"description":"Cluster identifier for this postgres instance, cls should be unique among entire environment. such as pg-meta, pg-test",
|
|
"hide":2,
|
|
"includeAll":false,
|
|
"label":"Cluster",
|
|
"name":"cls",
|
|
"options":[],
|
|
"query":{"query":"label_values(haproxy_process_idle_time_percent{ins=\"$ins\"}, cls)","refId":"StandardVariableQuery"},
|
|
"refresh":2,
|
|
"regex":"",
|
|
"sort":1,
|
|
"type":"query"
|
|
},{
|
|
"current":{},
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"definition":"label_values(node_uname_info{ins=\"$ins\"}, nodename)",
|
|
"description":"Node name of current postgres instance",
|
|
"hide":2,
|
|
"includeAll":false,
|
|
"label":"Node",
|
|
"name":"node",
|
|
"options":[],
|
|
"query":{"query":"label_values(node_uname_info{ins=\"$ins\"}, nodename)","refId":"StandardVariableQuery"},
|
|
"refresh":2,
|
|
"regex":"",
|
|
"sort":1,
|
|
"type":"query"
|
|
},{
|
|
"current":{},
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"definition":"label_values(haproxy_process_idle_time_percent{ins=\"$ins\"} , instance)",
|
|
"description":"Unique instance identifier (e.g pg-meta-1)",
|
|
"hide":2,
|
|
"includeAll":false,
|
|
"label":"IP",
|
|
"name":"ip",
|
|
"options":[],
|
|
"query":{"query":"label_values(haproxy_process_idle_time_percent{ins=\"$ins\"} , instance)","refId":"StandardVariableQuery"},
|
|
"refresh":2,
|
|
"regex":"/([0-9\\.]+)\\:\\d+/",
|
|
"sort":1,
|
|
"type":"query"
|
|
},{
|
|
"current":{},
|
|
"datasource":{"type":"prometheus","uid":"ds-prometheus"},
|
|
"definition":"label_values(haproxy_backend_active_servers{ins=\"$ins\", proxy!=\"stats\"},proxy)",
|
|
"description":"Services",
|
|
"hide":2,
|
|
"includeAll":true,
|
|
"label":"Service",
|
|
"name":"svc",
|
|
"options":[],
|
|
"query":{"query":"label_values(haproxy_backend_active_servers{ins=\"$ins\", proxy!=\"stats\"},proxy)","refId":"PrometheusVariableQueryEditor-VariableQuery"},
|
|
"refresh":2,
|
|
"regex":"",
|
|
"sort":1,
|
|
"type":"query"
|
|
}
|
|
]
|
|
},
|
|
"time":{"from":"now-1h","to":"now"},
|
|
"timepicker":{"refresh_intervals":["1s","2s","3s","5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]},
|
|
"timezone":"browser",
|
|
"title":"PGSQL Proxy",
|
|
"uid":"pgsql-proxy",
|
|
"version":1
|
|
} |