diff --git a/grafana/common/Bloat_Details.json b/grafana/common/Bloat_Details.json index 5562b7a1..a9419dc6 100644 --- a/grafana/common/Bloat_Details.json +++ b/grafana/common/Bloat_Details.json @@ -15,8 +15,7 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 9, - "iteration": 1582574684659, + "iteration": 1618857609712, "links": [], "panels": [ { @@ -25,6 +24,13 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -49,9 +55,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -61,10 +68,12 @@ "steppedLine": false, "targets": [ { - "expr": "sum(ccp_bloat_check_total_wasted_space_bytes{job=~\"[[pgnodes]]\"})/sum(ccp_bloat_check_size_bytes{job=~\"[[pgnodes]]\"})*100", + "expr": "sum(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"})/sum(ccp_bloat_check_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"})*100", "format": "time_series", "hide": false, + "interval": "", "intervalFactor": 1, + "legendFormat": "", "refId": "A" } ], @@ -88,6 +97,7 @@ }, "yaxes": [ { + "$$hashKey": "object:117", "format": "percent", "label": null, "logBase": 1, @@ -96,6 +106,7 @@ "show": true }, { + "$$hashKey": "object:118", "format": "short", "label": null, "logBase": 1, @@ -115,6 +126,13 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -141,9 +159,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -153,8 +172,9 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_bloat_check_total_wasted_space_bytes{job=~\"[[pgnodes]]\", dbname=\"[[dbname]]\", schemaname=\"[[schemaname]]\",objectname=\"[[objectname]]\"}", + "expr": "ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=\"[[pgdatabase]]\", schemaname=\"[[schemaname]]\",objectname=\"[[objectname]]\"}", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "{{schemaname}}.{{objectname}}", "refId": "A", @@ -181,6 +201,7 @@ }, "yaxes": [ { + "$$hashKey": "object:202", "format": "decbytes", "label": null, "logBase": 1, @@ -189,6 +210,7 @@ "show": true }, { + "$$hashKey": "object:203", "format": "short", "label": null, "logBase": 1, @@ -208,6 +230,13 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -234,9 +263,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -246,8 +276,9 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_bloat_check_total_wasted_space_bytes{job=~\"[[pgnodes]]\", dbname=\"[[dbname]]\"} > 10240", + "expr": "ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=\"[[pgdatabase]]\"} > 10240", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "{{dbname}}.{{schemaname}}.{{objectname}}", "refId": "A", @@ -274,6 +305,7 @@ }, "yaxes": [ { + "$$hashKey": "object:289", "format": "decbytes", "label": null, "logBase": 1, @@ -282,6 +314,7 @@ "show": true }, { + "$$hashKey": "object:290", "format": "short", "label": null, "logBase": 1, @@ -297,7 +330,7 @@ } ], "refresh": "15m", - "schemaVersion": 21, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -305,18 +338,61 @@ { "allValue": null, "current": { - "text": "pg1", - "value": "pg1" + "selected": false, + "text": "crunchy", + "value": "crunchy" }, - "datasource": "PROMETHEUS", - "definition": "", + "datasource": null, + "definition": "label_values(up{exp_type='pg'}, cluster_name)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": "PGCluster", "multi": false, + "name": "pgcluster", + "options": [ + { + "selected": true, + "text": "crunchy", + "value": "crunchy" + } + ], + "query": { + "query": "label_values(up{exp_type='pg'}, cluster_name)", + "refId": "StandardVariableQuery" + }, + "refresh": 0, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "text": "crunchy_pg1_crunchy", + "value": "crunchy_pg1_crunchy" + }, + "datasource": "PROMETHEUS", + "definition": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Node", + "multi": false, "name": "pgnodes", "options": [], - "query": "label_values(up{exp_type='pg'}, job)", + "query": { + "query": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -330,20 +406,24 @@ { "allValue": null, "current": { - "isNone": true, "selected": false, - "text": "None", - "value": "" + "text": "testdb", + "value": "testdb" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"},dbname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, - "label": null, + "label": "PGDatabase", "multi": false, - "name": "dbname", + "name": "pgdatabase", "options": [], - "query": "label_values(ccp_bloat_check_total_wasted_space_bytes{job=~\"[[pgnodes]]\"},dbname)", + "query": { + "query": "label_values(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"},dbname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -357,20 +437,24 @@ { "allValue": null, "current": { - "isNone": true, "selected": false, - "text": "None", - "value": "" + "text": "information_schema", + "value": "information_schema" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\"},schemaname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "schemaname", "options": [], - "query": "label_values(ccp_bloat_check_total_wasted_space_bytes{job=\"[[pgnodes]]\",dbname=\"[[dbname]]\"},schemaname)", + "query": { + "query": "label_values(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\"},schemaname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -384,20 +468,24 @@ { "allValue": null, "current": { - "isNone": true, "selected": false, - "text": "None", - "value": "" + "text": "sql_features", + "value": "sql_features" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\",schemaname=\"[[schemaname]]\"}, objectname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "objectname", "options": [], - "query": "label_values(ccp_bloat_check_total_wasted_space_bytes{job=~\"[[pgnodes]]\",dbname=\"[[dbname]]\",schemaname=\"[[schemaname]]\"}, objectname)", + "query": { + "query": "label_values(ccp_bloat_check_total_wasted_space_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\",schemaname=\"[[schemaname]]\"}, objectname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -415,16 +503,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -441,4 +519,4 @@ "title": "Bloat Details", "uid": "Sa8VDnNmz", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/common/CRUD_Details.json b/grafana/common/CRUD_Details.json index dd98ce9f..c181a796 100644 --- a/grafana/common/CRUD_Details.json +++ b/grafana/common/CRUD_Details.json @@ -15,8 +15,7 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 2, - "iteration": 1582574775669, + "iteration": 1618857086778, "links": [], "panels": [ { @@ -25,6 +24,13 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -49,9 +55,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -61,24 +68,27 @@ "steppedLine": false, "targets": [ { - "expr": "rate(ccp_stat_user_tables_n_tup_ins{job=~\"[[pgnodes]]\", dbname = \"[[dbname]]\", schemaname = \"[[schemaname]]\", relname=\"[[tablename]]\"}[60s])", + "expr": "rate(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname = \"[[pgdatabase]]\", schemaname = \"[[schemaname]]\", relname=\"[[tablename]]\"}[60s])", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "inserts - {{dbname}}.{{schemaname}}.{{relname}}", "refId": "A", "step": 60 }, { - "expr": "rate(ccp_stat_user_tables_n_tup_upd{job=~\"[[pgnodes]]\", dbname = \"[[dbname]]\", schemaname = \"[[schemaname]]\", relname=\"[[tablename]]\"}[60s])", + "expr": "rate(ccp_stat_user_tables_n_tup_upd{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname = \"[[pgdatabase]]\", schemaname = \"[[schemaname]]\", relname=\"[[tablename]]\"}[60s])", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "updates - {{dbname}}.{{schemaname}}.{{relname}}", "refId": "B", "step": 60 }, { - "expr": "rate(ccp_stat_user_tables_n_tup_del{job=~\"[[pgnodes]]\", dbname = \"[[dbname]]\", schemaname = \"[[schemaname]]\", relname=\"[[tablename]]\"}[60s])", + "expr": "rate(ccp_stat_user_tables_n_tup_del{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname = \"[[pgdatabase]]\", schemaname = \"[[schemaname]]\", relname=\"[[tablename]]\"}[60s])", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "deletes - {{dbname}}.{{schemaname}}.{{relname}}", "refId": "C", @@ -105,6 +115,7 @@ }, "yaxes": [ { + "$$hashKey": "object:366", "format": "short", "label": null, "logBase": 1, @@ -113,6 +124,7 @@ "show": true }, { + "$$hashKey": "object:367", "format": "short", "label": null, "logBase": 1, @@ -128,7 +140,7 @@ } ], "refresh": "15m", - "schemaVersion": 21, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -136,18 +148,55 @@ { "allValue": null, "current": { - "text": "pg1", - "value": "pg1" + "selected": false, + "text": "crunchy", + "value": "crunchy" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(up{exp_type='pg'}, cluster_name)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": "PGCluster", "multi": false, + "name": "pgcluster", + "options": [], + "query": { + "query": "label_values(up{exp_type='pg'}, cluster_name)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "crunchy_pg1_crunchy", + "value": "crunchy_pg1_crunchy" + }, + "datasource": "PROMETHEUS", + "definition": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Node", + "multi": false, "name": "pgnodes", "options": [], - "query": "label_values(up{exp_type='pg'}, job)", + "query": { + "query": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -161,18 +210,24 @@ { "allValue": null, "current": { - "text": "postgres", - "value": "postgres" + "selected": false, + "text": "testdb", + "value": "testdb" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, - "label": null, + "label": "PGDatabase", "multi": false, - "name": "dbname", + "name": "pgdatabase", "options": [], - "query": "label_values(ccp_database_size_bytes{job=~\"[[pgnodes]]\"},dbname)", + "query": { + "query": "label_values(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -186,20 +241,24 @@ { "allValue": null, "current": { - "isNone": true, "selected": false, - "text": "None", - "value": "" + "text": "public", + "value": "public" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\"},schemaname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "schemaname", "options": [], - "query": "label_values(ccp_stat_user_tables_n_tup_ins{job=~\"[[pgnodes]]\",dbname=\"[[dbname]]\"},schemaname)", + "query": { + "query": "label_values(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\"},schemaname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -213,20 +272,24 @@ { "allValue": null, "current": { - "isNone": true, - "selected": false, - "text": "None", - "value": "" + "selected": true, + "text": "bloat_tables", + "value": "bloat_tables" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\",schemaname=\"[[schemaname]]\"},relname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "tablename", "options": [], - "query": "label_values(ccp_stat_user_tables_n_tup_ins{job=~\"[[pgnodes]]\",dbname=\"[[dbname]]\",schemaname=\"[[schemaname]]\"},relname)", + "query": { + "query": "label_values(ccp_stat_user_tables_n_tup_ins{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\",schemaname=\"[[schemaname]]\"},relname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -244,16 +307,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -270,4 +323,4 @@ "title": "CRUD Details", "uid": "ubhVvnNmk", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/common/ETCD_Details.json b/grafana/common/ETCD_Details.json index 936bcc50..1ce16790 100644 --- a/grafana/common/ETCD_Details.json +++ b/grafana/common/ETCD_Details.json @@ -1851,16 +1851,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -1877,4 +1867,4 @@ "title": "ETCD Details", "uid": "wsdkI9RZz", "version": 1 -} \ No newline at end of file +} diff --git a/grafana/common/PGBackrest.json b/grafana/common/PGBackrest.json index f836f3c8..dd89188d 100644 --- a/grafana/common/PGBackrest.json +++ b/grafana/common/PGBackrest.json @@ -15,108 +15,71 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 4, - "iteration": 1614244309467, + "iteration": 1618256102636, "links": [], "panels": [ { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": null, "fieldConfig": { "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, "custom": {}, - "links": [] + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "dtdhms" }, "overrides": [] }, - "fill": 1, - "fillGradient": 0, "gridPos": { - "h": 8, - "w": 12, + "h": 3, + "w": 24, "x": 0, "y": 0 }, - "hiddenSeries": false, - "id": 2, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", + "id": 11, "options": { - "alertThreshold": true + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 45 + }, + "textMode": "auto" }, - "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, + "pluginVersion": "7.4.5", "targets": [ { - "expr": "ccp_backrest_last_incr_backup_time_since_completion_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", - "format": "time_series", + "expr": "time()- ccp_backrest_oldest_full_backup_time_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", "interval": "", - "intervalFactor": 1, - "legendFormat": "{{stanza}}", + "legendFormat": "", "refId": "A" } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Time Since Last Completed Backup (Any)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } + "title": "Recovery Window", + "type": "stat" }, { "aliasColors": {}, @@ -136,16 +99,17 @@ "gridPos": { "h": 8, "w": 12, - "x": 12, - "y": 0 + "x": 0, + "y": 3 }, "hiddenSeries": false, - "id": 4, + "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -158,7 +122,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -168,118 +132,37 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_backrest_last_info_backup_runtime_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", + "expr": "ccp_backrest_last_incr_backup_time_since_completion_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "{{backup_type}}", + "legendFormat": "incr", "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Backup Runtime (Any)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fieldConfig": { - "defaults": { - "custom": {}, - "links": [] + "expr": "ccp_backrest_last_diff_backup_time_since_completion_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "diff", + "refId": "B" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 8 - }, - "hiddenSeries": false, - "id": 8, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ { - "expr": "ccp_backrest_last_info_repo_total_size_bytes{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", + "expr": "ccp_backrest_last_full_backup_time_since_completion_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", "format": "time_series", + "hide": false, "interval": "", "intervalFactor": 1, - "legendFormat": "{{backup_type}}", - "refId": "A" + "legendFormat": "full", + "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Backup Size (Total)", + "title": "Time Since Last Completed Backup", "tooltip": { "shared": true, "sort": 0, @@ -295,7 +178,8 @@ }, "yaxes": [ { - "format": "bytes", + "$$hashKey": "object:96", + "format": "s", "label": null, "logBase": 1, "max": null, @@ -303,6 +187,7 @@ "show": true }, { + "$$hashKey": "object:97", "format": "short", "label": null, "logBase": 1, @@ -335,15 +220,16 @@ "h": 8, "w": 12, "x": 12, - "y": 8 + "y": 3 }, "hiddenSeries": false, - "id": 9, + "id": 4, "legend": { "avg": false, "current": false, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -356,8 +242,8 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 2, + "pluginVersion": "7.4.5", + "pointradius": 5, "points": false, "renderer": "flot", "seriesOverrides": [], @@ -366,7 +252,7 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_backrest_last_info_repo_backup_size_bytes{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", + "expr": "ccp_backrest_last_info_backup_runtime_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", "format": "time_series", "interval": "", "intervalFactor": 1, @@ -378,7 +264,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Backup Size (Actual)", + "title": "Last Backup Runtime", "tooltip": { "shared": true, "sort": 0, @@ -394,7 +280,8 @@ }, "yaxes": [ { - "format": "bytes", + "$$hashKey": "object:197", + "format": "s", "label": null, "logBase": 1, "max": null, @@ -402,6 +289,7 @@ "show": true }, { + "$$hashKey": "object:198", "format": "short", "label": null, "logBase": 1, @@ -431,18 +319,19 @@ "fill": 1, "fillGradient": 0, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 0, - "y": 16 + "y": 11 }, "hiddenSeries": false, - "id": 5, + "id": 8, "legend": { "avg": false, "current": false, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -455,8 +344,8 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 5, + "pluginVersion": "7.4.5", + "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], @@ -465,11 +354,11 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_backrest_last_full_backup_time_since_completion_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", + "expr": "ccp_backrest_last_info_repo_total_size_bytes{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "{{stanza}}", + "legendFormat": "{{backup_type}}", "refId": "A" } ], @@ -477,7 +366,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Time Since Last Completed Backup (Full)", + "title": "Last Backup Size (Total)", "tooltip": { "shared": true, "sort": 0, @@ -493,7 +382,8 @@ }, "yaxes": [ { - "format": "s", + "$$hashKey": "object:353", + "format": "bytes", "label": null, "logBase": 1, "max": null, @@ -501,6 +391,7 @@ "show": true }, { + "$$hashKey": "object:354", "format": "short", "label": null, "logBase": 1, @@ -530,18 +421,19 @@ "fill": 1, "fillGradient": 0, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 12, - "y": 16 + "y": 11 }, "hiddenSeries": false, - "id": 6, + "id": 9, "legend": { "avg": false, "current": false, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -554,8 +446,8 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 5, + "pluginVersion": "7.4.5", + "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], @@ -564,11 +456,11 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_backrest_last_diff_backup_time_since_completion_seconds{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", + "expr": "ccp_backrest_last_info_repo_backup_size_bytes{stanza=\"[[backrest_stanza]]\"} + on(job,instance) group_left() (ccp_is_in_recovery_status == 2)", "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "{{stanza}}", + "legendFormat": "{{backup_type}}", "refId": "A" } ], @@ -576,7 +468,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Time Since Last Completed Backup (Full,Diff)", + "title": "Last Backup Size (Actual)", "tooltip": { "shared": true, "sort": 0, @@ -592,7 +484,8 @@ }, "yaxes": [ { - "format": "s", + "$$hashKey": "object:438", + "format": "bytes", "label": null, "logBase": 1, "max": null, @@ -600,6 +493,7 @@ "show": true }, { + "$$hashKey": "object:439", "format": "short", "label": null, "logBase": 1, @@ -623,7 +517,7 @@ { "allValue": null, "current": { - "selected": false, + "selected": true, "text": "alpha", "value": "alpha" }, @@ -654,17 +548,10 @@ ] }, "time": { - "from": "now-1h", + "from": "now-2d", "to": "now" }, "timepicker": { - "refresh_intervals": [ - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -680,5 +567,5 @@ "timezone": "", "title": "pgBackRest", "uid": "QtHwNCrik", - "version": 1 -} \ No newline at end of file + "version": 3 +} diff --git a/grafana/common/PGBouncer.json b/grafana/common/PGBouncer.json index 951779e5..4ce396fc 100644 --- a/grafana/common/PGBouncer.json +++ b/grafana/common/PGBouncer.json @@ -565,15 +565,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -590,4 +581,4 @@ "title": "PGBouncer", "uid": "H4OOvdVWz", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/common/PG_Details.json b/grafana/common/PG_Details.json index ce2b42da..b5318a06 100644 --- a/grafana/common/PG_Details.json +++ b/grafana/common/PG_Details.json @@ -15,10 +15,385 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 8, - "iteration": 1614123620619, + "iteration": 1618856153917, "links": [], "panels": [ + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "orange", + "value": 75 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 0, + "y": 0 + }, + "hideTimeOverride": true, + "id": 51, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "ccp_connection_stats_total{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"} / ccp_connection_stats_max_connections{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": "5m", + "title": "Connections - Total % Max", + "type": "gauge" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "orange", + "value": 95 + }, + { + "color": "red", + "value": 98 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 4, + "y": 0 + }, + "hideTimeOverride": true, + "id": 54, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": false, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "1 - (ccp_connection_stats_idle{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"} / ccp_connection_stats_total{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"})", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": "5m", + "title": "Active % of Open Conn", + "type": "gauge" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "orange", + "value": 300 + }, + { + "color": "red", + "value": 900 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 8, + "y": 0 + }, + "hideTimeOverride": true, + "id": 52, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "ccp_connection_stats_max_idle_in_txn_time{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": "5m", + "title": "Idle In Txn Time", + "type": "stat" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "orange", + "value": 50 + }, + { + "color": "red", + "value": 75 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 12, + "y": 0 + }, + "hideTimeOverride": true, + "id": 56, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "ccp_transaction_wraparound_percent_towards_wraparound{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": "5m", + "title": "% Toward Wraparound", + "type": "gauge" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 75 + }, + { + "color": "green", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 16, + "y": 0 + }, + "hideTimeOverride": true, + "id": 57, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "sum(ccp_stat_database_blks_hit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}) / sum( ccp_stat_database_blks_hit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"} + ccp_stat_database_blks_read{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}) * 100", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": "5m", + "title": "Cache Hit Ratio", + "type": "gauge" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 20, + "y": 0 + }, + "hideTimeOverride": true, + "id": 55, + "options": { + "displayMode": "gradient", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "ccp_replication_lag_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}", + "interval": "", + "legendFormat": "{{replica}}", + "refId": "A" + } + ], + "timeFrom": "5m", + "title": "Streaming Byte Lag", + "type": "bargauge" + }, { "aliasColors": {}, "bars": false, @@ -36,14 +411,14 @@ "fillGradient": 0, "gridPos": { "h": 6, - "w": 24, + "w": 12, "x": 0, - "y": 0 + "y": 6 }, "hiddenSeries": false, "id": 18, "legend": { - "alignAsTable": true, + "alignAsTable": false, "avg": false, "current": false, "max": false, @@ -58,10 +433,10 @@ "links": [], "nullPointMode": "null", "options": { - "alertThreshold": true + "alertThreshold": false }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -71,8 +446,9 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_connection_stats_max_connections{job=~\"[[pgnodes]]\"}", + "expr": "ccp_connection_stats_max_connections{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", "hide": false, + "interval": "", "intervalFactor": 2, "legendFormat": "Max", "metric": "", @@ -80,7 +456,8 @@ "step": 60 }, { - "expr": "ccp_connection_stats_active{job=~\"[[pgnodes]]\"}", + "expr": "ccp_connection_stats_active{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", + "interval": "", "intervalFactor": 2, "legendFormat": "Active", "metric": "", @@ -88,16 +465,17 @@ "step": 60 }, { - "expr": "ccp_connection_stats_idle_in_txn{job=~\"[[pgnodes]]\"}", + "expr": "ccp_connection_stats_idle_in_txn{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", "interval": "", "intervalFactor": 2, - "legendFormat": "IdleTrn", + "legendFormat": "IdleTxn", "metric": "", "refId": "C", "step": 60 }, { - "expr": "ccp_connection_stats_idle{job=~\"[[pgnodes]]\"}", + "expr": "ccp_connection_stats_idle{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", + "interval": "", "intervalFactor": 2, "legendFormat": "Idle", "metric": "", @@ -111,7 +489,7 @@ "timeShift": null, "title": "Connections", "tooltip": { - "shared": false, + "shared": true, "sort": 0, "value_type": "individual" }, @@ -127,6 +505,7 @@ }, "yaxes": [ { + "$$hashKey": "object:647", "format": "short", "label": null, "logBase": 1, @@ -135,6 +514,7 @@ "show": true }, { + "$$hashKey": "object:648", "format": "short", "label": null, "logBase": 1, @@ -154,6 +534,7 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "description": "", "fieldConfig": { "defaults": { "custom": {}, @@ -164,56 +545,63 @@ "fill": 1, "fillGradient": 0, "gridPos": { - "h": 9, + "h": 6, "w": 12, - "x": 0, + "x": 12, "y": 6 }, "hiddenSeries": false, - "id": 39, + "id": 35, "legend": { + "alignAsTable": false, "avg": false, "current": false, + "hideEmpty": true, + "hideZero": false, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, - "links": [ - { - "title": "TableSize Details", - "url": "/d/Igh7D7Hmz/tablesize-details" - } - ], - "nullPointMode": "null", + "links": [], + "nullPointMode": "connected", "options": { "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", - "seriesOverrides": [], + "seriesOverrides": [ + { + "$$hashKey": "object:675", + "alias": "/Time/", + "yaxis": 2 + } + ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "sum(ccp_database_size_bytes{job=~\"[[pgnodes]]\"})", + "expr": "max by (cluster, job, replica) (ccp_replication_lag_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"})", "format": "time_series", + "instant": false, + "interval": "", "intervalFactor": 1, - "legendFormat": "total size", + "legendFormat": "Bytes {{replica}}", "refId": "A" }, { - "expr": "ccp_database_size_bytes{job=~\"[[pgnodes]]\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{dbname}}", + "expr": "ccp_replication_lag_replay_time{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", + "hide": false, + "interval": "", + "legendFormat": "Time {{job}}", "refId": "B" } ], @@ -221,7 +609,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Database Size", + "title": "Replication Lag", "tooltip": { "shared": true, "sort": 0, @@ -237,19 +625,21 @@ }, "yaxes": [ { + "$$hashKey": "object:153", "format": "bytes", - "label": null, + "label": "Lag Bytes", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { - "format": "short", - "label": null, + "$$hashKey": "object:154", + "format": "dtdhms", + "label": "Lag Time (hh:mm:ss)", "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true } ], @@ -274,31 +664,37 @@ "fill": 1, "fillGradient": 0, "gridPos": { - "h": 9, + "h": 7, "w": 12, - "x": 12, - "y": 6 + "x": 0, + "y": 12 }, "hiddenSeries": false, - "id": 41, + "id": 39, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": false, + "rightSide": true, + "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, - "links": [], + "links": [ + { + "title": "TableSize Details", + "url": "/d/Igh7D7Hmz/tablesize-details?$__all_variables" + } + ], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -308,18 +704,27 @@ "steppedLine": false, "targets": [ { - "expr": "sum(irate(ccp_stat_database_xact_commit{job=~\"[[pgnodes]]\"}[1m])) + sum(irate(ccp_stat_database_xact_rollback{job=~\"[[pgnodes]]\"}[1m]))", + "expr": "sum(ccp_database_size_bytes{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 1, - "legendFormat": "", + "legendFormat": "total size", "refId": "A" + }, + { + "expr": "ccp_database_size_bytes{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{dbname}}", + "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Transactions Per Minute (TPM)", + "title": "Database Size - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -335,7 +740,8 @@ }, "yaxes": [ { - "format": "short", + "$$hashKey": "object:399", + "format": "bytes", "label": null, "logBase": 1, "max": null, @@ -343,6 +749,7 @@ "show": true }, { + "$$hashKey": "object:400", "format": "short", "label": null, "logBase": 1, @@ -362,7 +769,6 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", - "description": "Note that replica_port can change if replicas ever detach and re-attach", "fieldConfig": { "defaults": { "custom": {}, @@ -373,18 +779,20 @@ "fill": 1, "fillGradient": 0, "gridPos": { - "h": 6, + "h": 7, "w": 12, - "x": 0, - "y": 15 + "x": 12, + "y": 12 }, "hiddenSeries": false, - "id": 35, + "id": 41, "legend": { + "alignAsTable": false, "avg": false, "current": false, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -392,12 +800,12 @@ "lines": true, "linewidth": 1, "links": [], - "nullPointMode": "connected", + "nullPointMode": "null", "options": { - "alertThreshold": true + "alertThreshold": false }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -407,19 +815,26 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_replication_lag_size_bytes{job=~\"[[pgnodes]]\"}", + "expr": "sum(irate(ccp_stat_database_xact_commit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m])) + sum(irate(ccp_stat_database_xact_rollback{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", - "instant": false, + "interval": "", "intervalFactor": 1, - "legendFormat": "{{replica_hostname}} ({{replica}}:{{replica_port}})", + "legendFormat": "total", "refId": "A" + }, + { + "expr": "irate(ccp_stat_database_xact_commit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]) + irate(ccp_stat_database_xact_rollback{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m])", + "hide": false, + "interval": "", + "legendFormat": "{{ dbname }}", + "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Replication Byte Lag (Primary Only)", + "title": "Transactions Per Second (TPS) - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -435,7 +850,8 @@ }, "yaxes": [ { - "format": "bytes", + "$$hashKey": "object:229", + "format": "short", "label": null, "logBase": 1, "max": null, @@ -443,6 +859,7 @@ "show": true }, { + "$$hashKey": "object:230", "format": "short", "label": null, "logBase": 1, @@ -462,10 +879,10 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "description": "", "fieldConfig": { "defaults": { - "custom": {}, - "links": [] + "custom": {} }, "overrides": [] }, @@ -474,11 +891,11 @@ "gridPos": { "h": 6, "w": 12, - "x": 12, - "y": 15 + "x": 0, + "y": 19 }, "hiddenSeries": false, - "id": 37, + "id": 47, "legend": { "avg": false, "current": false, @@ -496,7 +913,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -506,8 +923,9 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_replication_lag_replay_time{job=~\"[[pgnodes]]\"}", + "expr": "ccp_transaction_wraparound_percent_towards_wraparound{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", "format": "time_series", + "interval": "", "intervalFactor": 1, "legendFormat": "", "refId": "A" @@ -517,7 +935,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Replication Lag Time (Replica Only)", + "title": "% Toward Wraparound", "tooltip": { "shared": true, "sort": 0, @@ -533,7 +951,8 @@ }, "yaxes": [ { - "format": "s", + "$$hashKey": "object:1131", + "format": "percent", "label": null, "logBase": 1, "max": null, @@ -541,6 +960,7 @@ "show": true }, { + "$$hashKey": "object:1132", "format": "short", "label": null, "logBase": 1, @@ -562,8 +982,7 @@ "datasource": "PROMETHEUS", "fieldConfig": { "defaults": { - "custom": {}, - "links": [] + "custom": {} }, "overrides": [] }, @@ -572,17 +991,17 @@ "gridPos": { "h": 6, "w": 12, - "x": 0, - "y": 21 + "x": 12, + "y": 19 }, "hiddenSeries": false, - "id": 12, + "id": 45, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": true, + "show": false, "total": false, "values": false }, @@ -594,7 +1013,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -604,20 +1023,19 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_stat_database_blks_hit{ job=~\"[[pgnodes]]\"} / ( ccp_stat_database_blks_hit{job=~\"[[pgnodes]]\"} + ccp_stat_database_blks_read{ job=~\"[[pgnodes]]\"} ) * 100", + "expr": "ccp_transaction_wraparound_percent_towards_emergency_autovac{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{dbname}}", - "metric": "pg_stat_database_", - "refId": "A", - "step": 120 + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Cache Hit Ratio", + "title": "% Towards Emergency Vacuum", "tooltip": { "shared": true, "sort": 0, @@ -633,6 +1051,7 @@ }, "yaxes": [ { + "$$hashKey": "object:1207", "format": "percent", "label": null, "logBase": 1, @@ -641,6 +1060,7 @@ "show": true }, { + "$$hashKey": "object:1208", "format": "short", "label": null, "logBase": 1, @@ -660,137 +1080,30 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "description": "", "fieldConfig": { "defaults": { - "custom": {}, - "links": [] + "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 21 - }, - "hiddenSeries": false, - "id": 13, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "7.4.2", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(ccp_stat_database_xact_commit{job=~\"[[pgnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "Commit", - "metric": "pg_stat_database_xact_commit", - "refId": "A", - "step": 120 - }, - { - "expr": "sum(irate(ccp_stat_database_xact_rollback{job=~\"[[pgnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "Rollback", - "refId": "B", - "step": 120 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Commit vs Rollback", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "PROMETHEUS", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 10, + "h": 10, "w": 12, "x": 0, - "y": 27 + "y": 25 }, "hiddenSeries": false, "id": 11, "legend": { "alignAsTable": true, "avg": true, - "current": true, + "current": false, "max": true, "min": true, - "rightSide": false, + "rightSide": true, "show": true, "total": false, "values": true @@ -809,7 +1122,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -819,8 +1132,9 @@ "steppedLine": false, "targets": [ { - "expr": "sum(irate(ccp_stat_database_tup_fetched{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(irate(ccp_stat_database_tup_fetched{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Fetched", "metric": "pg_stat_database_tup_fetched", @@ -828,8 +1142,9 @@ "step": 240 }, { - "expr": "sum(irate(ccp_stat_database_tup_inserted{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(irate(ccp_stat_database_tup_inserted{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Inserted", "metric": "pg_stat_database_tup_inserted", @@ -837,8 +1152,9 @@ "step": 240 }, { - "expr": "sum(irate(ccp_stat_database_tup_updated{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(irate(ccp_stat_database_tup_updated{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Updated", "metric": "pg_stat_database_tup_updated", @@ -846,8 +1162,9 @@ "step": 240 }, { - "expr": "sum(irate(ccp_stat_database_tup_deleted{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(irate(ccp_stat_database_tup_deleted{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Deleted", "metric": "pg_stat_database_tup_deleted", @@ -855,8 +1172,9 @@ "step": 240 }, { - "expr": "sum(irate(ccp_stat_database_tup_returned{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(irate(ccp_stat_database_tup_returned{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Returned", "metric": "pg_stat_database_tup_returned", @@ -868,7 +1186,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "CRUD", + "title": "CRUD - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -884,6 +1202,7 @@ }, "yaxes": [ { + "$$hashKey": "object:1053", "format": "short", "label": null, "logBase": 1, @@ -892,6 +1211,7 @@ "show": true }, { + "$$hashKey": "object:1054", "format": "short", "label": null, "logBase": 1, @@ -923,7 +1243,7 @@ "h": 10, "w": 12, "x": 12, - "y": 27 + "y": 25 }, "hiddenSeries": false, "id": 17, @@ -933,7 +1253,7 @@ "current": false, "max": false, "min": false, - "rightSide": false, + "rightSide": true, "show": true, "total": false, "values": true @@ -946,7 +1266,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -956,64 +1276,72 @@ "steppedLine": false, "targets": [ { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"accessexclusivelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"accessexclusivelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "accessexclusive", "refId": "A", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"accesssharelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"accesssharelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "accessshare", "refId": "B", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"exclusivelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"exclusivelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "exclusive", "refId": "C", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"rowexclusivelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"rowexclusivelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "rowexclusive", "refId": "D", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"rowsharelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"rowsharelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "rowshare", "refId": "E", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"sharelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"sharelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "share", "refId": "F", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"sharerowexclusivelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"sharerowexclusivelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "sharerowexclusive", "refId": "G", "step": 240 }, { - "expr": "sum(ccp_locks_count{job=~\"[[pgnodes]]\",mode=\"shareupdateexclusivelock\"})", + "expr": "sum(ccp_locks_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\",mode=\"shareupdateexclusivelock\", dbname=~\"[[pgdatabase]]\"})", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "shareupdateexclusive", "refId": "H", @@ -1024,7 +1352,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Locks", + "title": "Locks - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -1040,6 +1368,7 @@ }, "yaxes": [ { + "$$hashKey": "object:1795", "format": "short", "label": null, "logBase": 1, @@ -1048,6 +1377,7 @@ "show": true }, { + "$$hashKey": "object:1796", "format": "short", "label": null, "logBase": 1, @@ -1069,35 +1399,39 @@ "datasource": "PROMETHEUS", "fieldConfig": { "defaults": { - "custom": {} + "custom": {}, + "links": [] }, "overrides": [] }, "fill": 1, + "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 0, - "y": 37 + "y": 35 }, - "id": 15, + "hiddenSeries": false, + "id": 12, "legend": { - "alignAsTable": false, "avg": false, - "current": true, + "current": false, "max": false, "min": false, - "rightSide": false, "show": true, "total": false, - "values": true + "values": false }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1107,29 +1441,21 @@ "steppedLine": false, "targets": [ { - "expr": "sum(rate(ccp_stat_database_deadlocks{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "ccp_stat_database_blks_hit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"} / ( ccp_stat_database_blks_hit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"} + ccp_stat_database_blks_read{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}) * 100", "format": "time_series", + "interval": "", "intervalFactor": 2, - "legendFormat": "Conflicts", - "metric": "pg_stat_database_conflicts", + "legendFormat": "{{dbname}}", + "metric": "pg_stat_database_", "refId": "A", - "step": 240 - }, - { - "expr": "sum(rate(ccp_stat_database_conflicts{job=~\"[[pgnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "DeadLocks", - "metric": "pg_stat_database_deadlocks", - "refId": "B", - "step": 240 + "step": 120 } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Conflicts/DeadLocks", + "title": "Cache Hit Ratio - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -1145,7 +1471,8 @@ }, "yaxes": [ { - "format": "short", + "$$hashKey": "object:885", + "format": "percent", "label": null, "logBase": 1, "max": null, @@ -1153,6 +1480,7 @@ "show": true }, { + "$$hashKey": "object:886", "format": "short", "label": null, "logBase": 1, @@ -1172,38 +1500,42 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "description": "", "fieldConfig": { "defaults": { - "custom": {} + "custom": {}, + "links": [] }, "overrides": [] }, "fill": 1, + "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 12, - "y": 37 + "y": 35 }, - "id": 14, + "hiddenSeries": false, + "id": 13, "legend": { - "alignAsTable": true, - "avg": true, + "avg": false, "current": false, - "max": true, - "min": true, - "rightSide": false, + "max": false, + "min": false, "show": true, - "sortDesc": true, "total": false, - "values": true + "values": false }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1213,56 +1545,30 @@ "steppedLine": false, "targets": [ { - "expr": "irate(ccp_stat_bgwriter_buffers_alloc{job=~\"[[pgnodes]]\"}[5m])", + "expr": "sum(irate(ccp_stat_database_xact_commit{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, - "legendFormat": "Allocated", - "metric": "pg_stat_bgwriter_buffers_alloc", + "legendFormat": "commit", + "metric": "pg_stat_database_xact_commit", "refId": "A", "step": 120 }, { - "expr": "irate(ccp_stat_bgwriter_buffers_backend{job=~\"[[pgnodes]]\"}[5m])", + "expr": "sum(irate(ccp_stat_database_xact_rollback{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, - "legendFormat": "Backend", - "metric": "pg_stat_bgwriter_buffers_backend", + "legendFormat": "rollback", "refId": "B", "step": 120 - }, - { - "expr": "irate(ccp_stat_bgwriter_buffers_backend_fsync{job=~\"[[pgnodes]]\"}[5m])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "FSync", - "metric": "pg_stat_bgwriter_buffers_backend_fsync", - "refId": "C", - "step": 120 - }, - { - "expr": "irate(ccp_stat_bgwriter_buffers_checkpoint{job=~\"[[pgnodes]]\"}[5m])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "CheckPoint", - "metric": "pg_stat_bgwriter_buffers_checkpoint", - "refId": "D", - "step": 120 - }, - { - "expr": "irate(ccp_stat_bgwriter_buffers_clean{job=~\"[[pgnodes]]\"}[5m])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "Clean", - "metric": "pg_stat_bgwriter_buffers_clean", - "refId": "E", - "step": 120 } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Buffers", + "title": "Commit vs Rollback - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -1278,6 +1584,7 @@ }, "yaxes": [ { + "$$hashKey": "object:961", "format": "short", "label": null, "logBase": 1, @@ -1286,6 +1593,7 @@ "show": true }, { + "$$hashKey": "object:962", "format": "short", "label": null, "logBase": 1, @@ -1312,19 +1620,22 @@ "overrides": [] }, "fill": 1, + "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 0, - "y": 44 + "y": 42 }, - "id": 47, + "hiddenSeries": false, + "id": 49, "legend": { "avg": false, "current": false, "max": false, "min": false, - "show": false, + "rightSide": true, + "show": true, "total": false, "values": false }, @@ -1332,28 +1643,60 @@ "linewidth": 1, "links": [], "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", - "seriesOverrides": [], + "seriesOverrides": [ + { + "$$hashKey": "object:852", + "alias": "/Archive*/", + "yaxis": 2 + }, + { + "$$hashKey": "object:859", + "alias": "/Fail*/", + "color": "#C4162A", + "yaxis": 2 + } + ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "expr": "ccp_transaction_wraparound_percent_towards_wraparound{job=~\"[[pgnodes]]\"}", + "expr": "ccp_wal_activity_total_size_bytes{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}", "format": "time_series", + "hide": false, + "interval": "", "intervalFactor": 1, + "legendFormat": "Total Size", "refId": "A" + }, + { + "expr": "idelta(ccp_archive_command_status_archived_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", + "hide": false, + "interval": "", + "legendFormat": "Archive Rate", + "refId": "B" + }, + { + "expr": "idelta(ccp_archive_command_status_failed_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", + "hide": false, + "interval": "", + "legendFormat": "Fail Rate", + "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "% toward wraparound", + "title": "WAL Activity", "tooltip": { "shared": true, "sort": 0, @@ -1369,16 +1712,18 @@ }, "yaxes": [ { - "format": "percent", - "label": null, + "$$hashKey": "object:1283", + "format": "bytes", + "label": "Total Size", "logBase": 1, "max": null, "min": null, "show": true }, { + "$$hashKey": "object:1284", "format": "short", - "label": null, + "label": "Rate (5m)", "logBase": 1, "max": null, "min": null, @@ -1403,28 +1748,36 @@ "overrides": [] }, "fill": 1, + "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 12, - "y": 44 + "y": 42 }, - "id": 45, + "hiddenSeries": false, + "id": 14, "legend": { - "avg": false, + "alignAsTable": true, + "avg": true, "current": false, - "max": false, - "min": false, - "show": false, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sortDesc": true, "total": false, - "values": false + "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1434,17 +1787,61 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_transaction_wraparound_percent_towards_emergency_autovac{job=~\"[[pgnodes]]\"}", + "expr": "irate(ccp_stat_bgwriter_buffers_alloc{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", "format": "time_series", - "intervalFactor": 1, - "refId": "A" + "interval": "", + "intervalFactor": 2, + "legendFormat": "Allocated", + "metric": "pg_stat_bgwriter_buffers_alloc", + "refId": "A", + "step": 120 + }, + { + "expr": "irate(ccp_stat_bgwriter_buffers_backend{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "Backend", + "metric": "pg_stat_bgwriter_buffers_backend", + "refId": "B", + "step": 120 + }, + { + "expr": "irate(ccp_stat_bgwriter_buffers_backend_fsync{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "FSync", + "metric": "pg_stat_bgwriter_buffers_backend_fsync", + "refId": "C", + "step": 120 + }, + { + "expr": "irate(ccp_stat_bgwriter_buffers_checkpoint{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "CheckPoint", + "metric": "pg_stat_bgwriter_buffers_checkpoint", + "refId": "D", + "step": 120 + }, + { + "expr": "irate(ccp_stat_bgwriter_buffers_clean{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "Clean", + "metric": "pg_stat_bgwriter_buffers_clean", + "refId": "E", + "step": 120 } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "% towards emergency vacuum", + "title": "Buffers", "tooltip": { "shared": true, "sort": 0, @@ -1460,7 +1857,8 @@ }, "yaxes": [ { - "format": "percent", + "$$hashKey": "object:2175", + "format": "short", "label": null, "logBase": 1, "max": null, @@ -1468,6 +1866,7 @@ "show": true }, { + "$$hashKey": "object:2176", "format": "short", "label": null, "logBase": 1, @@ -1494,19 +1893,23 @@ "overrides": [] }, "fill": 1, + "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 0, - "y": 51 + "y": 49 }, - "id": 49, + "hiddenSeries": false, + "id": 15, "legend": { + "alignAsTable": false, "avg": false, "current": false, "max": false, "min": false, - "show": false, + "rightSide": false, + "show": true, "total": false, "values": false }, @@ -1514,8 +1917,11 @@ "linewidth": 1, "links": [], "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1525,17 +1931,31 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_wal_activity_total_size_bytes{job=~\"[[pgnodes]]\"}", + "expr": "sum(rate(ccp_stat_database_deadlocks{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", - "intervalFactor": 1, - "refId": "A" + "interval": "", + "intervalFactor": 2, + "legendFormat": "Conflicts", + "metric": "pg_stat_database_conflicts", + "refId": "A", + "step": 240 + }, + { + "expr": "sum(rate(ccp_stat_database_conflicts{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "DeadLocks", + "metric": "pg_stat_database_deadlocks", + "refId": "B", + "step": 240 } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Total WAL Size", + "title": "Conflicts/DeadLocks - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -1551,7 +1971,8 @@ }, "yaxes": [ { - "format": "bytes", + "$$hashKey": "object:2099", + "format": "short", "label": null, "logBase": 1, "max": null, @@ -1559,6 +1980,7 @@ "show": true }, { + "$$hashKey": "object:2100", "format": "short", "label": null, "logBase": 1, @@ -1585,12 +2007,14 @@ "overrides": [] }, "fill": 1, + "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 12, - "y": 51 + "y": 49 }, + "hiddenSeries": false, "id": 16, "legend": { "alignAsTable": true, @@ -1598,7 +2022,7 @@ "current": false, "max": true, "min": true, - "rightSide": false, + "rightSide": true, "show": true, "total": false, "values": true @@ -1607,8 +2031,11 @@ "linewidth": 1, "links": [], "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.4.2", + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -1618,8 +2045,9 @@ "steppedLine": false, "targets": [ { - "expr": "sum(rate(ccp_stat_user_tables_autovacuum_count{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(rate(ccp_stat_user_tables_autovacuum_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "AutoVacuum", "metric": "ccp_stat_user_tables_autovacuum_count", @@ -1627,16 +2055,18 @@ "step": 120 }, { - "expr": "sum(rate(ccp_stat_user_tables_autoanalyze_count{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(rate(ccp_stat_user_tables_autoanalyze_count{job=~\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "AutoAnalyze", "refId": "B", "step": 120 }, { - "expr": "sum(rate(ccp_stat_user_tables_vacuum_count{job=~\"[[pgnodes]]\"}[5m]))", + "expr": "sum(rate(ccp_stat_user_tables_vacuum_count{cluster_name=\"[[pgcluster]]\", job=~\"[[pgnodes]]\"}[5m]))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "Vacuum", "refId": "C", @@ -1655,7 +2085,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Vacuum/Analyze Activity Rate", + "title": "Vacuum/Analyze Activity Rate - [[pgdatabase]]", "tooltip": { "shared": true, "sort": 0, @@ -1671,6 +2101,7 @@ }, "yaxes": [ { + "$$hashKey": "object:2327", "format": "short", "label": null, "logBase": 1, @@ -1679,6 +2110,7 @@ "show": true }, { + "$$hashKey": "object:2328", "format": "short", "label": null, "logBase": 1, @@ -1703,22 +2135,88 @@ "allValue": null, "current": { "selected": false, - "text": "pg1_alpha", - "value": "pg1_alpha" + "text": "crunchy", + "value": "crunchy" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(up{exp_type='pg'}, cluster_name)", "description": null, "error": null, "hide": 0, "includeAll": false, "label": "PGCluster", "multi": false, + "name": "pgcluster", + "options": [], + "query": { + "query": "label_values(up{exp_type='pg'}, cluster_name)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "crunchy_pg1_crunchy", + "value": "crunchy_pg1_crunchy" + }, + "datasource": "PROMETHEUS", + "definition": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Node", + "multi": false, "name": "pgnodes", "options": [], "query": { - "query": "label_values(up{exp_type='pg'}, job)", - "refId": "PROMETHEUS-pgnodes-Variable-Query" + "query": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "PROMETHEUS", + "definition": "label_values(ccp_database_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname)", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "PGDatabase", + "multi": true, + "name": "pgdatabase", + "options": [], + "query": { + "query": "label_values(ccp_database_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname)", + "refId": "StandardVariableQuery" }, "refresh": 1, "regex": "", @@ -1733,17 +2231,10 @@ ] }, "time": { - "from": "now-15m", + "from": "now-2d", "to": "now" }, "timepicker": { - "refresh_intervals": [ - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -1759,5 +2250,5 @@ "timezone": "browser", "title": "PostgreSQL Details", "uid": "6jtN_vfiz", - "version": 1 + "version": 2 } diff --git a/grafana/common/PG_Overview.json b/grafana/common/PG_Overview.json index 9b40d71f..33c172d8 100644 --- a/grafana/common/PG_Overview.json +++ b/grafana/common/PG_Overview.json @@ -15,86 +15,113 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 7, - "iteration": 1582574932240, + "iteration": 1617294517997, "links": [], "panels": [ { "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(50, 172, 45, 0.9)", - "rgba(68, 126, 188, 0.9)" - ], "datasource": "PROMETHEUS", - "format": "none", - "gauge": { - "maxValue": 2, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": false + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "PG Details", + "url": "/d/6jtN_vfiz/postgresql-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "PRIMARY", + "type": 1, + "value": ".5" + }, + { + "id": 2, + "op": "=", + "text": "REPLICA", + "type": 1, + "value": "1" + }, + { + "id": 3, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 1 + } + ] + }, + "unit": "none" + }, + "overrides": [] }, "gridPos": { "h": 4, - "w": 12, + "w": 8, "x": 0, "y": 0 }, "id": 1, "interval": null, - "links": [ - { - "targetBlank": true, - "title": "PostgreSQL Details", - "url": "/d/6jtN_vfiz/postgresql-details?$__all_variables" - } - ], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], + "links": [], "maxDataPoints": 100, - "maxPerRow": 8, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 47 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", "repeat": "pgnodes", "repeatDirection": "h", "scopedVars": { "pgnodes": { "selected": false, - "text": "pg1", - "value": "pg1" + "text": "alpha_ip16_pg1", + "value": "alpha_ip16_pg1" } }, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", "targets": [ { "expr": "pg_up{job=~\"[[pgnodes]]\"} / ccp_is_in_recovery_status{job=~\"[[pgnodes]]\"}", @@ -107,112 +134,114 @@ "step": 2 } ], - "thresholds": "0.5,1", "title": "[[pgnodes]]", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "op": "=", - "text": "DOWN", - "value": "null" - }, - { - "op": "=", - "text": "PRIMARY", - "value": ".5" - }, - { - "op": "=", - "text": "REPLICA", - "value": "1" - }, - { - "op": "=", - "text": "DOWN", - "value": "0" - } - ], - "valueName": "current" + "type": "stat" }, { "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(50, 172, 45, 0.9)", - "rgba(68, 126, 188, 0.9)" - ], "datasource": "PROMETHEUS", - "format": "none", - "gauge": { - "maxValue": 2, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": false + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "PG Details", + "url": "/d/6jtN_vfiz/postgresql-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "PRIMARY", + "type": 1, + "value": ".5" + }, + { + "id": 2, + "op": "=", + "text": "REPLICA", + "type": 1, + "value": "1" + }, + { + "id": 3, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 1 + } + ] + }, + "unit": "none" + }, + "overrides": [] }, "gridPos": { "h": 4, - "w": 12, - "x": 12, + "w": 8, + "x": 8, "y": 0 }, "id": 2, "interval": null, - "links": [ - { - "targetBlank": true, - "title": "PostgreSQL Details", - "url": "/d/6jtN_vfiz/postgresql-details?$__all_variables" - } - ], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], + "links": [], "maxDataPoints": 100, - "maxPerRow": 8, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "repeat": null, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 47 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", "repeatDirection": "h", - "repeatIteration": 1582574932240, + "repeatIteration": 1617294517997, "repeatPanelId": 1, "scopedVars": { "pgnodes": { "selected": false, - "text": "pg2", - "value": "pg2" + "text": "alpha_ip26_pg2", + "value": "alpha_ip26_pg2" } }, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", "targets": [ { "expr": "pg_up{job=~\"[[pgnodes]]\"} / ccp_is_in_recovery_status{job=~\"[[pgnodes]]\"}", @@ -225,37 +254,132 @@ "step": 2 } ], - "thresholds": "0.5,1", "title": "[[pgnodes]]", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "op": "=", - "text": "DOWN", - "value": "null" + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "PG Details", + "url": "/d/6jtN_vfiz/postgresql-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "PRIMARY", + "type": 1, + "value": ".5" + }, + { + "id": 2, + "op": "=", + "text": "REPLICA", + "type": 1, + "value": "1" + }, + { + "id": 3, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 1 + } + ] + }, + "unit": "none" }, - { - "op": "=", - "text": "PRIMARY", - "value": ".5" + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 8, + "x": 16, + "y": 0 + }, + "id": 3, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false }, - { - "op": "=", - "text": "REPLICA", - "value": "1" + "text": { + "valueSize": 47 }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294517997, + "repeatPanelId": 1, + "scopedVars": { + "pgnodes": { + "selected": false, + "text": "alpha_ip36_pg3", + "value": "alpha_ip36_pg3" + } + }, + "targets": [ { - "op": "=", - "text": "DOWN", - "value": "0" + "expr": "pg_up{job=~\"[[pgnodes]]\"} / ccp_is_in_recovery_status{job=~\"[[pgnodes]]\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "valueName": "current" + "title": "[[pgnodes]]", + "type": "stat" } ], "refresh": "5m", - "schemaVersion": 21, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -263,19 +387,28 @@ { "allValue": null, "current": { - "selected": false, - "text": "All", - "value": "$__all" + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] }, "datasource": "PROMETHEUS", "definition": "", + "description": null, + "error": null, "hide": 2, "includeAll": true, "label": "PGCluster", "multi": true, "name": "pgnodes", "options": [], - "query": "label_values(up{exp_type='pg'}, job)", + "query": { + "query": "label_values(up{exp_type='pg'}, job)", + "refId": "PROMETHEUS-pgnodes-Variable-Query" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -289,20 +422,10 @@ ] }, "time": { - "from": "now-5m", + "from": "now-2d", "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -319,4 +442,4 @@ "title": "PostgreSQL Overview", "uid": "pxinDnNik", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/common/Prometheus_Alerts.json b/grafana/common/Prometheus_Alerts.json index f0551e7e..91bffc84 100644 --- a/grafana/common/Prometheus_Alerts.json +++ b/grafana/common/Prometheus_Alerts.json @@ -289,16 +289,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -315,4 +305,4 @@ "title": "Prometheus Alerts", "uid": "QTsttxNmk", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/common/QueryStatistics.json b/grafana/common/QueryStatistics.json index bb865a1b..908d7b32 100644 --- a/grafana/common/QueryStatistics.json +++ b/grafana/common/QueryStatistics.json @@ -16,8 +16,7 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 14, - "iteration": 1599067369291, + "iteration": 1618858505673, "links": [], "panels": [ { @@ -58,12 +57,13 @@ "fields": "", "values": false }, + "text": {}, "textMode": "value" }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "sum(ccp_pg_stat_statements_total_calls_count{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"})", + "expr": "sum(ccp_pg_stat_statements_total_calls_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"})", "instant": true, "interval": "", "legendFormat": "", @@ -113,12 +113,13 @@ "fields": "", "values": false }, + "text": {}, "textMode": "value" }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "sum(ccp_pg_stat_statements_total_exec_time_ms{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"})", + "expr": "sum(ccp_pg_stat_statements_total_exec_time_ms{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"})", "format": "time_series", "instant": true, "interval": "", @@ -169,12 +170,13 @@ "fields": "", "values": false }, + "text": {}, "textMode": "value" }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "avg(ccp_pg_stat_statements_total_mean_exec_time_ms{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"})", + "expr": "avg(ccp_pg_stat_statements_total_mean_exec_time_ms{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"})", "format": "time_series", "instant": true, "interval": "", @@ -225,12 +227,13 @@ "fields": "", "values": false }, + "text": {}, "textMode": "value" }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "sum(ccp_pg_stat_statements_total_row_count{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"})", + "expr": "sum(ccp_pg_stat_statements_total_row_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"})", "format": "time_series", "instant": true, "interval": "", @@ -277,8 +280,11 @@ "lines": true, "linewidth": 1, "nullPointMode": "null", + "options": { + "alertThreshold": true + }, "percentage": false, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", @@ -288,7 +294,7 @@ "steppedLine": false, "targets": [ { - "expr": "irate(ccp_pg_stat_statements_total_calls_count{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"}[1m])", + "expr": "irate(ccp_pg_stat_statements_total_calls_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"}[1m])", "interval": "", "legendFormat": "db: {{dbname}}, user: {{role}}", "refId": "A" @@ -314,6 +320,7 @@ }, "yaxes": [ { + "$$hashKey": "object:100", "format": "short", "label": null, "logBase": 1, @@ -322,6 +329,7 @@ "show": true }, { + "$$hashKey": "object:101", "format": "short", "label": null, "logBase": 1, @@ -341,7 +349,8 @@ "defaults": { "custom": { "align": null, - "displayMode": "auto" + "displayMode": "auto", + "filterable": false }, "mappings": [], "thresholds": { @@ -409,10 +418,10 @@ } ] }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "ccp_pg_stat_statements_top_mean_exec_time_ms{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"}", + "expr": "ccp_pg_stat_statements_top_mean_exec_time_ms{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"}", "format": "table", "instant": true, "interval": "", @@ -460,7 +469,8 @@ "defaults": { "custom": { "align": null, - "displayMode": "auto" + "displayMode": "auto", + "filterable": false }, "mappings": [], "thresholds": { @@ -528,10 +538,10 @@ } ] }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "ccp_pg_stat_statements_top_max_exec_time_ms{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"}", + "expr": "ccp_pg_stat_statements_top_max_exec_time_ms{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"}", "format": "table", "instant": true, "interval": "", @@ -578,7 +588,8 @@ "fieldConfig": { "defaults": { "custom": { - "align": null + "align": null, + "filterable": false }, "mappings": [], "thresholds": { @@ -646,10 +657,10 @@ } ] }, - "pluginVersion": "7.1.2", + "pluginVersion": "7.4.5", "targets": [ { - "expr": "ccp_pg_stat_statements_top_total_exec_time_ms{job=\"[[pgnodes]]\", dbname=~\"[[dbname]]\", role=~\"[[role]]\"}", + "expr": "ccp_pg_stat_statements_top_total_exec_time_ms{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=~\"[[pgdatabase]]\", role=~\"[[role]]\"}", "format": "table", "instant": true, "interval": "", @@ -693,7 +704,7 @@ } ], "refresh": "15m", - "schemaVersion": 26, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -702,18 +713,60 @@ "allValue": null, "current": { "selected": false, - "text": "pg1_crunchy", - "value": "pg1_crunchy" + "text": "crunchy", + "value": "crunchy" }, - "datasource": "PROMETHEUS", - "definition": "label_values(up{exp_type='pg'}, job)", + "datasource": null, + "definition": "label_values(up{exp_type='pg'}, cluster_name)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": "PGCluster", "multi": false, + "name": "pgcluster", + "options": [ + { + "selected": true, + "text": "crunchy", + "value": "crunchy" + } + ], + "query": { + "query": "label_values(up{exp_type='pg'}, cluster_name)", + "refId": "StandardVariableQuery" + }, + "refresh": 0, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "crunchy_pg1_crunchy", + "value": "crunchy_pg1_crunchy" + }, + "datasource": "PROMETHEUS", + "definition": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Node", + "multi": false, "name": "pgnodes", "options": [], - "query": "label_values(up{exp_type='pg'}, job)", + "query": { + "query": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -728,20 +781,28 @@ "allValue": null, "current": { "selected": true, - "text": "All", + "tags": [], + "text": [ + "All" + ], "value": [ "$__all" ] }, "datasource": "PROMETHEUS", - "definition": "label_values(ccp_pg_stat_statements_total_calls_count{job=~\"[[pgnodes]]\"}, dbname) ", + "definition": "label_values(ccp_pg_stat_statements_total_calls_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname) ", + "description": null, + "error": null, "hide": 0, "includeAll": true, - "label": "dbname", + "label": "PGDatabase", "multi": true, - "name": "dbname", + "name": "pgdatabase", "options": [], - "query": "label_values(ccp_pg_stat_statements_total_calls_count{job=~\"[[pgnodes]]\"}, dbname) ", + "query": { + "query": "label_values(ccp_pg_stat_statements_total_calls_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname) ", + "refId": "StandardVariableQuery" + }, "refresh": 2, "regex": "", "skipUrlSync": false, @@ -756,20 +817,27 @@ "allValue": null, "current": { "selected": true, - "text": "All", + "text": [ + "All" + ], "value": [ "$__all" ] }, "datasource": "PROMETHEUS", - "definition": "label_values(ccp_pg_stat_statements_total_calls_count{job=~\"[[pgnodes]]\",dbname=~\"[[dbname]]\"}, role) ", + "definition": "label_values(ccp_pg_stat_statements_total_calls_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=~\"[[pgdatabase]]\"}, role) ", + "description": null, + "error": null, "hide": 0, "includeAll": true, "label": "role", "multi": true, "name": "role", "options": [], - "query": "label_values(ccp_pg_stat_statements_total_calls_count{job=~\"[[pgnodes]]\",dbname=~\"[[dbname]]\"}, role) ", + "query": { + "query": "label_values(ccp_pg_stat_statements_total_calls_count{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=~\"[[pgdatabase]]\"}, role) ", + "refId": "StandardVariableQuery" + }, "refresh": 2, "regex": "", "skipUrlSync": false, @@ -783,17 +851,10 @@ ] }, "time": { - "from": "now-24h", + "from": "now-2d", "to": "now" }, "timepicker": { - "refresh_intervals": [ - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -809,5 +870,5 @@ "timezone": "", "title": "Query Statistics (pg_stat_statements)", "uid": "ZKoTOHDGk", - "version": 16 + "version": 2 } diff --git a/grafana/common/TableSize_Details.json b/grafana/common/TableSize_Details.json index e41bd2e6..613c8a78 100644 --- a/grafana/common/TableSize_Details.json +++ b/grafana/common/TableSize_Details.json @@ -15,8 +15,7 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 1, - "iteration": 1582574962837, + "iteration": 1618856334694, "links": [], "panels": [ { @@ -25,6 +24,13 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -49,9 +55,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -61,8 +68,9 @@ "steppedLine": false, "targets": [ { - "expr": "ccp_table_size_size_bytes{job=~\"[[pgnodes]]\", dbname=\"[[dbname]]\", schemaname=\"[[schemaname]]\", relname=\"[[tablename]]\"}", + "expr": "ccp_table_size_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\", dbname=\"[[pgdatabase]]\", schemaname=\"[[schemaname]]\", relname=\"[[tablename]]\"}", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "{{dbname}}.{{schemaname}}.{{relname}}", "refId": "A", @@ -89,6 +97,7 @@ }, "yaxes": [ { + "$$hashKey": "object:138", "format": "decbytes", "label": null, "logBase": 1, @@ -97,6 +106,7 @@ "show": true }, { + "$$hashKey": "object:139", "format": "short", "label": null, "logBase": 1, @@ -112,7 +122,7 @@ } ], "refresh": "15m", - "schemaVersion": 21, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -120,18 +130,55 @@ { "allValue": null, "current": { - "text": "pg1", - "value": "pg1" + "selected": false, + "text": "crunchy", + "value": "crunchy" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(up{exp_type='pg'}, cluster_name)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": "PGCluster", "multi": false, + "name": "pgcluster", + "options": [], + "query": { + "query": "label_values(up{exp_type='pg'}, cluster_name)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "text": "crunchy_pg1_crunchy", + "value": "crunchy_pg1_crunchy" + }, + "datasource": "PROMETHEUS", + "definition": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Node", + "multi": false, "name": "pgnodes", "options": [], - "query": "label_values(up{exp_type='pg'}, job)", + "query": { + "query": "label_values(up{exp_type='pg', cluster_name=\"[[pgcluster]]\"}, job)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -145,18 +192,24 @@ { "allValue": null, "current": { - "text": "sampledb", - "value": "sampledb" + "selected": true, + "text": "testdb", + "value": "testdb" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_database_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, - "label": null, + "label": "PGDatabase", "multi": false, - "name": "dbname", + "name": "pgdatabase", "options": [], - "query": "label_values(ccp_table_size_size_bytes{job=~\"[[pgnodes]]\"},dbname)", + "query": { + "query": "label_values(ccp_database_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\"}, dbname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -170,18 +223,24 @@ { "allValue": null, "current": { - "text": "information_schema", - "value": "information_schema" + "selected": true, + "text": "public", + "value": "public" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_table_size_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\"},schemaname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "schemaname", "options": [], - "query": "label_values(ccp_table_size_size_bytes{job=~\"[[pgnodes]]\",dbname=\"[[dbname]]\"},schemaname)", + "query": { + "query": "label_values(ccp_table_size_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\"},schemaname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -195,18 +254,24 @@ { "allValue": null, "current": { - "text": "sql_features", - "value": "sql_features" + "selected": false, + "text": "bloat_indexes", + "value": "bloat_indexes" }, "datasource": "PROMETHEUS", - "definition": "", + "definition": "label_values(ccp_table_size_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\",schemaname=\"[[schemaname]]\"},relname)", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "tablename", "options": [], - "query": "label_values(ccp_table_size_size_bytes{job=~\"[[pgnodes]]\",dbname=\"[[dbname]]\",schemaname=\"[[schemaname]]\"},relname)", + "query": { + "query": "label_values(ccp_table_size_size_bytes{cluster_name=\"[[pgcluster]]\", job=\"[[pgnodes]]\",dbname=\"[[pgdatabase]]\",schemaname=\"[[schemaname]]\"},relname)", + "refId": "StandardVariableQuery" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -224,16 +289,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -250,4 +305,4 @@ "title": "TableSize Details", "uid": "Igh7D7Hmz", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/linux/Filesystem_Details.json b/grafana/linux/Filesystem_Details.json index dc1aaf9b..5c1f025a 100644 --- a/grafana/linux/Filesystem_Details.json +++ b/grafana/linux/Filesystem_Details.json @@ -577,16 +577,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -603,4 +593,4 @@ "title": "Filesystem Details", "uid": "g8iVvnHmz", "version": 2 -} \ No newline at end of file +} diff --git a/grafana/linux/Network_Details.json b/grafana/linux/Network_Details.json index ca177c39..4b43d910 100644 --- a/grafana/linux/Network_Details.json +++ b/grafana/linux/Network_Details.json @@ -1149,19 +1149,11 @@ ] }, "time": { - "from": "now-6h", + "from": "now-2d", "to": "now" }, "timepicker": { "now": true, - "refresh_intervals": [ - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", diff --git a/grafana/linux/OS_Details.json b/grafana/linux/OS_Details.json index 69dfb3fd..f9e73de3 100644 --- a/grafana/linux/OS_Details.json +++ b/grafana/linux/OS_Details.json @@ -12,25 +12,85 @@ } ] }, - "editable": false, + "editable": true, "gnetId": null, "graphTooltip": 0, - "id": 4, - "iteration": 1582574817208, + "iteration": 1618265425340, "links": [], "panels": [ + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 0, + "y": 0 + }, + "id": 12, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": false, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "node_load5{job=~\"[[osnodes]]\"}", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "System Load (5m)", + "type": "gauge" + }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 0, + "w": 10, + "x": 4, "y": 0 }, "hiddenSeries": false, @@ -49,9 +109,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -70,6 +131,7 @@ { "expr": "node_load5{job=~\"[[osnodes]]\"}", "format": "time_series", + "interval": "", "intervalFactor": 1, "legendFormat": "5m", "refId": "B" @@ -102,6 +164,7 @@ }, "yaxes": [ { + "$$hashKey": "object:182", "format": "short", "label": null, "logBase": 1, @@ -110,6 +173,7 @@ "show": true }, { + "$$hashKey": "object:183", "format": "short", "label": null, "logBase": 1, @@ -129,12 +193,19 @@ "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 6, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 12, + "w": 10, + "x": 14, "y": 0 }, "hiddenSeries": false, @@ -153,9 +224,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": true, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -185,40 +257,12 @@ "legendFormat": "{{mode}}", "refId": "C" }, - { - "expr": "sum by (mode)(irate(node_cpu{mode=\"idle\", job=~\"[[osnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{mode}}", - "refId": "D" - }, { "expr": "sum by (mode)(irate(node_cpu_seconds_total{mode=\"system\", job=~\"[[osnodes]]\"}[5m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{mode}}", "refId": "E" - }, - { - "expr": "sum by (mode)(irate(node_cpu{mode=\"system\", job=~\"[[osnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{mode}}", - "refId": "F" - }, - { - "expr": "sum by (mode)(irate(node_cpu{mode=\"user\", job=~\"[[osnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{mode}}", - "refId": "G" - }, - { - "expr": "sum by (mode)(irate(node_cpu{mode=\"iowait\", job=~\"[[osnodes]]\"}[5m]))", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{mode}}", - "refId": "H" } ], "thresholds": [], @@ -241,6 +285,7 @@ }, "yaxes": [ { + "$$hashKey": "object:92", "format": "percent", "label": null, "logBase": 1, @@ -249,6 +294,7 @@ "show": true }, { + "$$hashKey": "object:93", "format": "short", "label": null, "logBase": 1, @@ -262,18 +308,89 @@ "alignLevel": null } }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 10 + }, + { + "color": "green", + "value": 25 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 0, + "y": 7 + }, + "id": 14, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "node_memory_MemAvailable_bytes{job=~\"[[osnodes]]\"} / node_memory_MemTotal_bytes{job=~\"[[osnodes]]\"}", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Available Memory", + "type": "gauge" + }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 0, + "w": 20, + "x": 4, "y": 7 }, "hiddenSeries": false, @@ -292,9 +409,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -366,19 +484,87 @@ "alignLevel": null } }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 60 + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 0, + "y": 14 + }, + "id": 16, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "1 - (node_memory_SwapFree_bytes{job=~\"[[osnodes]]\"} / node_memory_SwapTotal_bytes{job=~\"[[osnodes]]\"})", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "title": "Swap Usage", + "type": "gauge" + }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 12, - "x": 12, - "y": 7 + "w": 20, + "x": 4, + "y": 14 }, "hiddenSeries": false, "id": 8, @@ -396,9 +582,10 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -470,19 +657,88 @@ "alignLevel": null } }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 75 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 0, + "y": 21 + }, + "id": 17, + "options": { + "displayMode": "gradient", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "7.4.5", + "targets": [ + { + "expr": "100 - 100 * sum(node_filesystem_avail_bytes{device!~\"tmpfs|by-uuid\",fstype=~\"xfs|ext[234]\", job=~\"[[osnodes]]\"} / node_filesystem_size_bytes{device!~\"tmpfs|by-uuid\",fstype=~\"xfs|ext[234]\", job=~\"[[osnodes]]\"}) BY (job,device,mountpoint)", + "interval": "", + "legendFormat": "{{mountpoint}}", + "refId": "A" + } + ], + "title": "Filesystem Usage", + "type": "bargauge" + }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, - "w": 24, - "x": 0, - "y": 14 + "w": 20, + "x": 4, + "y": 21 }, "hiddenSeries": false, "id": 10, @@ -505,9 +761,10 @@ ], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.4.5", "pointradius": 5, "points": false, "renderer": "flot", @@ -519,6 +776,7 @@ { "expr": "100-(100*(node_filesystem_free_bytes{job=~\"[[osnodes]]\", fstype!~\".*tmpfs.*|.*root.*|.*pipe.*\"} / node_filesystem_size_bytes{job=~\"[[osnodes]]\", fstype!~\".*tmpfs.*|.*root.*|.*pipe.*\"}))", "format": "time_series", + "interval": "", "intervalFactor": 2, "legendFormat": "{{mountpoint}}", "refId": "A" @@ -551,6 +809,7 @@ }, "yaxes": [ { + "$$hashKey": "object:528", "format": "percent", "label": null, "logBase": 1, @@ -559,6 +818,7 @@ "show": true }, { + "$$hashKey": "object:529", "format": "short", "label": null, "logBase": 1, @@ -574,7 +834,7 @@ } ], "refresh": "15m", - "schemaVersion": 21, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -582,18 +842,24 @@ { "allValue": null, "current": { - "text": "pgmonitor_cluster", - "value": "pgmonitor_cluster" + "selected": false, + "text": "ip16_pg1", + "value": "ip16_pg1" }, "datasource": "PROMETHEUS", "definition": "", + "description": null, + "error": null, "hide": 0, "includeAll": false, "label": "Node", "multi": false, "name": "osnodes", "options": [], - "query": "label_values(up{exp_type='node'}, job)", + "query": { + "query": "label_values(up{exp_type='node'}, job)", + "refId": "PROMETHEUS-osnodes-Variable-Query" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -611,14 +877,6 @@ "to": "now" }, "timepicker": { - "refresh_intervals": [ - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -634,5 +892,5 @@ "timezone": "browser", "title": "OS Details", "uid": "4t6SO2Fik", - "version": 2 + "version": 3 } diff --git a/grafana/linux/OS_Overview.json b/grafana/linux/OS_Overview.json index bfc6ac22..28dec79f 100644 --- a/grafana/linux/OS_Overview.json +++ b/grafana/linux/OS_Overview.json @@ -15,86 +15,106 @@ "editable": false, "gnetId": null, "graphTooltip": 0, - "id": 11, - "iteration": 1582574831715, + "iteration": 1617294779945, "links": [], "panels": [ { "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(68, 126, 188, 0.9)", - "rgba(50, 172, 45, 0.9)" - ], "datasource": "PROMETHEUS", - "format": "none", - "gauge": { - "maxValue": 2, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": false + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" + }, + "overrides": [] }, "gridPos": { "h": 4, - "w": 8, + "w": 6, "x": 0, "y": 0 }, "id": 1, "interval": null, - "links": [ - { - "targetBlank": true, - "title": "OS Details", - "url": "/d/4t6SO2Fik/os-details?$__all_variables" - } - ], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], + "links": [], "maxDataPoints": 100, - "maxPerRow": 8, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", "repeat": "osnodes", "repeatDirection": "h", "scopedVars": { "osnodes": { "selected": false, - "text": "pg1", - "value": "pg1" + "text": "ip11_etcd1", + "value": "ip11_etcd1" } }, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", "targets": [ { "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", @@ -107,107 +127,333 @@ "step": 2 } ], - "thresholds": "0.5,0.5", "title": "[[osnodes]]", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "op": "=", - "text": "DOWN", - "value": "null" + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" }, - { - "op": "=", - "text": "UP", - "value": "1" + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 6, + "y": 0 + }, + "id": 2, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip12_haproxy1", + "value": "ip12_haproxy1" + } + }, + "targets": [ { - "op": "=", - "text": "DOWN", - "value": "0" + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "valueName": "current" + "title": "[[osnodes]]", + "type": "stat" }, { "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(68, 126, 188, 0.9)", - "rgba(50, 172, 45, 0.9)" - ], "datasource": "PROMETHEUS", - "format": "none", - "gauge": { - "maxValue": 2, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": false + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" + }, + "overrides": [] }, "gridPos": { "h": 4, - "w": 8, - "x": 8, + "w": 6, + "x": 12, "y": 0 }, - "id": 2, + "id": 3, "interval": null, - "links": [ - { - "targetBlank": true, - "title": "OS Details", - "url": "/d/4t6SO2Fik/os-details?$__all_variables" - } - ], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - { - "name": "range to text", - "value": 2 + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip13_pgbouncer1", + "value": "ip13_pgbouncer1" } - ], - "maxDataPoints": 100, - "maxPerRow": 8, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ + }, + "targets": [ { - "from": "null", - "text": "N/A", - "to": "null" + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "repeat": null, + "title": "[[osnodes]]", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 4, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", "repeatDirection": "h", - "repeatIteration": 1582574831715, + "repeatIteration": 1617294779945, "repeatPanelId": 1, "scopedVars": { "osnodes": { "selected": false, - "text": "pg2", - "value": "pg2" + "text": "ip14_pgmonitor1", + "value": "ip14_pgmonitor1" } }, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", "targets": [ { "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", @@ -220,107 +466,559 @@ "step": 2 } ], - "thresholds": "0.5,0.5", "title": "[[osnodes]]", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "op": "=", - "text": "DOWN", - "value": "null" + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" }, - { - "op": "=", - "text": "UP", - "value": "1" + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 0, + "y": 4 + }, + "id": 5, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip15_backrest1", + "value": "ip15_backrest1" + } + }, + "targets": [ { - "op": "=", - "text": "DOWN", - "value": "0" + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "valueName": "current" + "title": "[[osnodes]]", + "type": "stat" }, { "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(68, 126, 188, 0.9)", - "rgba(50, 172, 45, 0.9)" - ], "datasource": "PROMETHEUS", - "format": "none", - "gauge": { - "maxValue": 2, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": false + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" + }, + "overrides": [] }, "gridPos": { "h": 4, - "w": 8, - "x": 16, - "y": 0 + "w": 6, + "x": 6, + "y": 4 }, - "id": 3, + "id": 6, "interval": null, - "links": [ + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip16_pg1", + "value": "ip16_pg1" + } + }, + "targets": [ { - "targetBlank": true, - "title": "OS Details", - "url": "/d/4t6SO2Fik/os-details?$__all_variables" + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 + "title": "[[osnodes]]", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 12, + "y": 4 + }, + "id": 7, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip21_etcd2", + "value": "ip21_etcd2" + } + }, + "targets": [ { - "name": "range to text", - "value": 2 + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], + "title": "[[osnodes]]", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 18, + "y": 4 + }, + "id": 8, + "interval": null, + "links": [], "maxDataPoints": 100, - "maxPerRow": 8, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip26_pg2", + "value": "ip26_pg2" + } + }, + "targets": [ { - "from": "null", - "text": "N/A", - "to": "null" + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "repeat": null, + "title": "[[osnodes]]", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 0, + "y": 8 + }, + "id": 9, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", "repeatDirection": "h", - "repeatIteration": 1582574831715, + "repeatIteration": 1617294779945, "repeatPanelId": 1, "scopedVars": { "osnodes": { "selected": false, - "text": "pgmonitor_cluster", - "value": "pgmonitor_cluster" + "text": "ip31_etcd3", + "value": "ip31_etcd3" } }, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", "targets": [ { "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", @@ -333,32 +1031,125 @@ "step": 2 } ], - "thresholds": "0.5,0.5", "title": "[[osnodes]]", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "op": "=", - "text": "DOWN", - "value": "null" + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "PROMETHEUS", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "links": [ + { + "targetBlank": true, + "title": "OS Details", + "url": "/d/4t6SO2Fik/os-details?$__all_variables" + } + ], + "mappings": [ + { + "id": 0, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "UP", + "type": 1, + "value": "1" + }, + { + "id": 2, + "op": "=", + "text": "DOWN", + "type": 1, + "value": "0" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(68, 126, 188, 0.9)", + "value": 0.5 + }, + { + "color": "rgba(50, 172, 45, 0.9)", + "value": 0.5 + } + ] + }, + "unit": "none" }, - { - "op": "=", - "text": "UP", - "value": "1" + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 6, + "y": 8 + }, + "id": 10, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, + "text": { + "valueSize": 50 + }, + "textMode": "auto" + }, + "pluginVersion": "7.4.5", + "repeatDirection": "h", + "repeatIteration": 1617294779945, + "repeatPanelId": 1, + "scopedVars": { + "osnodes": { + "selected": false, + "text": "ip36_pg3", + "value": "ip36_pg3" + } + }, + "targets": [ { - "op": "=", - "text": "DOWN", - "value": "0" + "expr": "up{job=~\"[[osnodes]]\", exp_type=\"node\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "metric": "up", + "refId": "A", + "step": 2 } ], - "valueName": "current" + "title": "[[osnodes]]", + "type": "stat" } ], "refresh": "5m", - "schemaVersion": 21, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { @@ -366,19 +1157,28 @@ { "allValue": null, "current": { - "selected": false, - "text": "All", - "value": "$__all" + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] }, "datasource": "PROMETHEUS", "definition": "", + "description": null, + "error": null, "hide": 2, "includeAll": true, "label": "Node", "multi": true, "name": "osnodes", "options": [], - "query": "label_values(up{exp_type='node'}, job)", + "query": { + "query": "label_values(up{exp_type='node'}, job)", + "refId": "PROMETHEUS-osnodes-Variable-Query" + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -392,20 +1192,10 @@ ] }, "time": { - "from": "now-5m", + "from": "now-2d", "to": "now" }, "timepicker": { - "refresh_intervals": [ - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], "time_options": [ "5m", "15m", @@ -422,4 +1212,4 @@ "title": "OS Overview", "uid": "pxinDnKik", "version": 2 -} \ No newline at end of file +} diff --git a/hugo/content/changelog/_index.md b/hugo/content/changelog/_index.md index 63f06c67..350211bc 100644 --- a/hugo/content/changelog/_index.md +++ b/hugo/content/changelog/_index.md @@ -3,6 +3,29 @@ title: "Changelog" draft: false weight: 5 --- +## 4.5 + +### New Features + * Minimum required version of Grafana has been updated to 7.4.x + * Updated Grafana Overview dashboards to support new Stat panel + * Updated PostgreSQL Details Grafana dashboard with more information and to be able to present data grouped by clusters. The pgBackRest panel was removed from this dashboard. + * The pgBackRest Grafana dashboard now presents data on a per-stanza basis + * Removed deprecated node_exporter metrics from Grafana OS Details dashboard. Reorganized panels. + * Added a basic Network Activity dashboard to Grafana using default metrics that come with node_exporter. + * The pgMonitor repository has been reorganized to better delineate which platforms specific files apply to. Some files have also been renamed as part of this reorganization. + * Extended the default alert threshold for pgBackRest backups to give a buffer time and avoid false positives when backup runtimes vary. + * Added a default alert for PostgreSQL failover that should work in any scenario to produce an alert when the recovery status of a PostgreSQL database changes (replica -> primary or primary -> replica). Note that this alert will auto-resolve after 5 minutes (by default) since it is just looking for recent state changes. The alert is meant to be acted upon immediately to see what may have occured on the systems involved. + * Added metric to monitor and alert on blocked queries + +### Bug Fixes + * Fixed pgBackRest metrics not reporting all backups in all stanzas for a given repository in some configuration setups. Each database will now only report back monitoring for the stanzas that are part of its own instance. Previously all database instances reported back all stanzas in the target repository. + * Fixed incorrect metric name in warning alert for available memory in linux/node_exporter default alerts (node_memory_Available_bytes should be node_memory_MemAvailable_bytes) + * Fixed incorrect title of panel on Grafana PostgreSQL Details dashboard from "Transactions Per Minute" to "Transactions Per Second". + +### Manual Intervention Changes + * pgBackRest monitoring has been expanded to better support more configuration layouts to address the above bug fix. The pgbackrest-info.sh script has been updated as part of this and this also requires re-running the setup SQL script to update the monitoring function within the database. Note again that the setup script name has changed from "setup_pg11.sql" to "setup.sql", so be sure you are running the setup script from the properly versioned folder. + * For the PostgreSQL Grafana dashboards to be able to choose data to present on a per-cluster basis, a new custom label (`cluster_name`) must be added to all PostgreSQL targets in Prometheus. Note that this change will cause all PostgreSQL metrics to change colors from the point of the change forward. Also when displaying a time period before and after this change, duplicated Legend items may appear. + ## 4.4 ### New Features diff --git a/postgres_exporter/common/queries_global.yml b/postgres_exporter/common/queries_global.yml index 260b2ff0..60de5bfd 100644 --- a/postgres_exporter/common/queries_global.yml +++ b/postgres_exporter/common/queries_global.yml @@ -188,15 +188,27 @@ ccp_transaction_wraparound: ccp_archive_command_status: query: "SELECT CASE - WHEN EXTRACT(epoch from (last_failed_time - last_archived_time)) IS NULL THEN 0 - WHEN EXTRACT(epoch from (last_failed_time - last_archived_time)) < 0 THEN 0 - ELSE EXTRACT(epoch from (last_failed_time - last_archived_time)) -END AS seconds_since_last_fail -FROM pg_catalog.pg_stat_archiver" + WHEN EXTRACT(epoch from (last_failed_time - last_archived_time)) IS NULL THEN 0 + WHEN EXTRACT(epoch from (last_failed_time - last_archived_time)) < 0 THEN 0 + ELSE EXTRACT(epoch from (last_failed_time - last_archived_time)) + END AS seconds_since_last_fail + , EXTRACT(epoch from (CURRENT_TIMESTAMP - last_archived_time)) AS seconds_since_last_archive + , archived_count + , failed_count + FROM pg_catalog.pg_stat_archiver" metrics: - seconds_since_last_fail: usage: "GAUGE" description: "Seconds since the last recorded failure of the archive_command" + - seconds_since_last_archive: + usage: "GAUGE" + description: "Seconds since the last successful archive operation" + - archived_count: + usage: "GAUGE" + description: "Number of WAL files that have been successfully archived" + - failed_count: + usage: "GAUGE" + description: "Number of failed attempts for archiving WAL files" ccp_sequence_exhaustion: diff --git a/prometheus/common/auto.d/ProductionDB.yml.example b/prometheus/common/auto.d/ProductionDB.yml.example index 80db547c..236692d1 100644 --- a/prometheus/common/auto.d/ProductionDB.yml.example +++ b/prometheus/common/auto.d/ProductionDB.yml.example @@ -8,3 +8,9 @@ labels: job: "Prod" exp_type: "pg" + cluster: "crunchy" +- targets: [ "10.123.202.12:9188" ] + labels: + job: "mycluster_Prod" + exp_type: "pg" + cluster_name: "mycluster" diff --git a/prometheus/common/auto.d/ReplicaDB.yml.example b/prometheus/common/auto.d/ReplicaDB.yml.example index 82e3e24e..99264dee 100644 --- a/prometheus/common/auto.d/ReplicaDB.yml.example +++ b/prometheus/common/auto.d/ReplicaDB.yml.example @@ -8,3 +8,9 @@ labels: job: "Replica" exp_type: "pg" + cluster: "crunchy" +- targets: [ "10.123.202.13:9188" ] + labels: + job: "mycluster_Replica" + exp_type: "pg" + cluster_name: "mycluster" diff --git a/prometheus/linux/alert-rules.d/crunchy-alert-rules-node.yml.example b/prometheus/linux/alert-rules.d/crunchy-alert-rules-node.yml.example index 51ec92ea..101ee192 100644 --- a/prometheus/linux/alert-rules.d/crunchy-alert-rules-node.yml.example +++ b/prometheus/linux/alert-rules.d/crunchy-alert-rules-node.yml.example @@ -73,7 +73,7 @@ groups: description: 'System load for target {{ $labels.job }} is high ({{ $value }})' - alert: MemoryAvailable - expr: (100 * (node_memory_Available_bytes) / node_memory_MemTotal_bytes) < 25 + expr: (100 * (node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes) < 25 for: 1m labels: service: system diff --git a/prometheus/linux/crunchy-prometheus.yml b/prometheus/linux/crunchy-prometheus.yml index 7299438e..f9389829 100644 --- a/prometheus/linux/crunchy-prometheus.yml +++ b/prometheus/linux/crunchy-prometheus.yml @@ -46,7 +46,7 @@ scrape_configs: ## Monitoring for tcp services that don't have an associated exporter can be accomplished using the tcp probe ## of the blackbox_exporter provided by the Prometheus developers. ## Note this only provides a simple up/down that the service is listening on the given IP/port. - ## If an exporter is available, it is advised to use an Absence alert vs the blackbox probe. + ## If an exporter is available, an Absence alert for each node is recommended over a blackbox probe. ## Below is an example to monitor the services indicated by the comment. ## The "targets" list is all that should need to be edited to customize to your setup assuming blackbox_exporter runs ## on same system as Prometheus.