|
25 | 25 | "bars": false, |
26 | 26 | "dashLength": 10, |
27 | 27 | "dashes": false, |
28 | | - "datasource": "Postgres Overview", |
| 28 | + "datasource": "$datasource", |
29 | 29 | "editable": true, |
30 | 30 | "error": false, |
31 | 31 | "fieldConfig": { |
|
77 | 77 | { |
78 | 78 | "alias": "fetched", |
79 | 79 | "dsType": "prometheus", |
80 | | - "expr": "sum(irate(pg_stat_database_tup_fetched{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 80 | + "expr": "sum(irate(pg_stat_database_tup_fetched{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
81 | 81 | "format": "time_series", |
82 | 82 | "groupBy": [ |
83 | 83 | { |
|
131 | 131 | { |
132 | 132 | "alias": "fetched", |
133 | 133 | "dsType": "prometheus", |
134 | | - "expr": "sum(irate(pg_stat_database_tup_returned{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 134 | + "expr": "sum(irate(pg_stat_database_tup_returned{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
135 | 135 | "format": "time_series", |
136 | 136 | "groupBy": [ |
137 | 137 | { |
|
185 | 185 | { |
186 | 186 | "alias": "fetched", |
187 | 187 | "dsType": "prometheus", |
188 | | - "expr": "sum(irate(pg_stat_database_tup_inserted{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 188 | + "expr": "sum(irate(pg_stat_database_tup_inserted{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
189 | 189 | "format": "time_series", |
190 | 190 | "groupBy": [ |
191 | 191 | { |
|
239 | 239 | { |
240 | 240 | "alias": "fetched", |
241 | 241 | "dsType": "prometheus", |
242 | | - "expr": "sum(irate(pg_stat_database_tup_updated{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 242 | + "expr": "sum(irate(pg_stat_database_tup_updated{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
243 | 243 | "format": "time_series", |
244 | 244 | "groupBy": [ |
245 | 245 | { |
|
293 | 293 | { |
294 | 294 | "alias": "fetched", |
295 | 295 | "dsType": "prometheus", |
296 | | - "expr": "sum(irate(pg_stat_database_tup_deleted{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 296 | + "expr": "sum(irate(pg_stat_database_tup_deleted{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
297 | 297 | "format": "time_series", |
298 | 298 | "groupBy": [ |
299 | 299 | { |
|
396 | 396 | "rgba(237, 129, 40, 0.89)", |
397 | 397 | "rgba(50, 172, 45, 0.97)" |
398 | 398 | ], |
399 | | - "datasource": "Postgres Overview", |
| 399 | + "datasource": "$datasource", |
400 | 400 | "decimals": 0, |
401 | 401 | "editable": true, |
402 | 402 | "error": false, |
|
460 | 460 | "targets": [ |
461 | 461 | { |
462 | 462 | "dsType": "prometheus", |
463 | | - "expr": "sum(irate(pg_stat_database_xact_commit{datname=~\"$db\",instance=~\"$instance\"}[5m])) + sum(irate(pg_stat_database_xact_rollback{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 463 | + "expr": "sum(irate(pg_stat_database_xact_commit{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) + sum(irate(pg_stat_database_xact_rollback{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
464 | 464 | "format": "time_series", |
465 | 465 | "groupBy": [ |
466 | 466 | { |
|
530 | 530 | "bars": false, |
531 | 531 | "dashLength": 10, |
532 | 532 | "dashes": false, |
533 | | - "datasource": "Postgres Overview", |
| 533 | + "datasource": "$datasource", |
534 | 534 | "decimals": 1, |
535 | 535 | "editable": true, |
536 | 536 | "error": false, |
|
584 | 584 | { |
585 | 585 | "alias": "Buffers Allocated", |
586 | 586 | "dsType": "prometheus", |
587 | | - "expr": "irate(pg_stat_bgwriter_buffers_alloc_total{instance='$instance'}[5m])", |
| 587 | + "expr": "irate(pg_stat_bgwriter_buffers_alloc{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])", |
588 | 588 | "format": "time_series", |
589 | 589 | "groupBy": [ |
590 | 590 | { |
|
636 | 636 | { |
637 | 637 | "alias": "Buffers Allocated", |
638 | 638 | "dsType": "prometheus", |
639 | | - "expr": "irate(pg_stat_bgwriter_buffers_backend_fsync_total{instance='$instance'}[5m])", |
| 639 | + "expr": "irate(pg_stat_bgwriter_buffers_backend_fsync{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])", |
640 | 640 | "format": "time_series", |
641 | 641 | "groupBy": [ |
642 | 642 | { |
|
688 | 688 | { |
689 | 689 | "alias": "Buffers Allocated", |
690 | 690 | "dsType": "prometheus", |
691 | | - "expr": "irate(pg_stat_bgwriter_buffers_backend_total{instance='$instance'}[5m])", |
| 691 | + "expr": "irate(pg_stat_bgwriter_buffers_backend{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])", |
692 | 692 | "format": "time_series", |
693 | 693 | "groupBy": [ |
694 | 694 | { |
|
740 | 740 | { |
741 | 741 | "alias": "Buffers Allocated", |
742 | 742 | "dsType": "prometheus", |
743 | | - "expr": "irate(pg_stat_bgwriter_buffers_clean_total{instance='$instance'}[5m])", |
| 743 | + "expr": "irate(pg_stat_bgwriter_buffers_clean{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])", |
744 | 744 | "format": "time_series", |
745 | 745 | "groupBy": [ |
746 | 746 | { |
|
792 | 792 | { |
793 | 793 | "alias": "Buffers Allocated", |
794 | 794 | "dsType": "prometheus", |
795 | | - "expr": "irate(pg_stat_bgwriter_buffers_checkpoint_total{instance='$instance'}[5m])", |
| 795 | + "expr": "irate(pg_stat_bgwriter_buffers_checkpoint{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])", |
796 | 796 | "format": "time_series", |
797 | 797 | "groupBy": [ |
798 | 798 | { |
|
889 | 889 | "bars": false, |
890 | 890 | "dashLength": 10, |
891 | 891 | "dashes": false, |
892 | | - "datasource": "Postgres Overview", |
| 892 | + "datasource": "$datasource", |
893 | 893 | "editable": true, |
894 | 894 | "error": false, |
895 | 895 | "fieldConfig": { |
|
939 | 939 | { |
940 | 940 | "alias": "conflicts", |
941 | 941 | "dsType": "prometheus", |
942 | | - "expr": "sum(rate(pg_stat_database_deadlocks{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 942 | + "expr": "sum(rate(pg_stat_database_deadlocks{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
943 | 943 | "format": "time_series", |
944 | 944 | "groupBy": [ |
945 | 945 | { |
|
991 | 991 | { |
992 | 992 | "alias": "deadlocks", |
993 | 993 | "dsType": "prometheus", |
994 | | - "expr": "sum(rate(pg_stat_database_conflicts{datname=~\"$db\",instance=~\"$instance\"}[5m]))", |
| 994 | + "expr": "sum(rate(pg_stat_database_conflicts{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))", |
995 | 995 | "format": "time_series", |
996 | 996 | "groupBy": [ |
997 | 997 | { |
|
1088 | 1088 | "bars": false, |
1089 | 1089 | "dashLength": 10, |
1090 | 1090 | "dashes": false, |
1091 | | - "datasource": "Postgres Overview", |
| 1091 | + "datasource": "$datasource", |
1092 | 1092 | "editable": true, |
1093 | 1093 | "error": false, |
1094 | 1094 | "fieldConfig": { |
|
1136 | 1136 | "steppedLine": false, |
1137 | 1137 | "targets": [ |
1138 | 1138 | { |
1139 | | - "expr": "sum(pg_stat_database_blks_hit{datname=~\"$db\",instance=~\"$instance\"}) / (sum(pg_stat_database_blks_hit{datname=~\"$db\",instance=~\"$instance\"}) + sum(pg_stat_database_blks_read{datname=~\"$db\",instance=~\"$instance\"}))", |
| 1139 | + "expr": "sum by (datname) (rate(pg_stat_database_blks_hit{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) / (sum by (datname)(rate(pg_stat_database_blks_hit{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) + sum by (datname)(rate(pg_stat_database_blks_read{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])))", |
1140 | 1140 | "format": "time_series", |
1141 | 1141 | "intervalFactor": 2, |
1142 | | - "legendFormat": "cache hit rate", |
| 1142 | + "legendFormat": "{{datname}} - cache hit rate", |
1143 | 1143 | "refId": "A", |
1144 | 1144 | "step": 240 |
1145 | 1145 | } |
|
1191 | 1191 | "bars": false, |
1192 | 1192 | "dashLength": 10, |
1193 | 1193 | "dashes": false, |
1194 | | - "datasource": "Postgres Overview", |
| 1194 | + "datasource": "$datasource", |
1195 | 1195 | "editable": true, |
1196 | 1196 | "error": false, |
1197 | 1197 | "fieldConfig": { |
|
1239 | 1239 | "steppedLine": false, |
1240 | 1240 | "targets": [ |
1241 | 1241 | { |
1242 | | - "expr": "pg_stat_database_numbackends{datname=~\"$db\",instance=~\"$instance\"}", |
| 1242 | + "expr": "pg_stat_database_numbackends{datname=~\"$db\",job=~\"$job\",instance=~\"$instance\"}", |
1243 | 1243 | "format": "time_series", |
1244 | 1244 | "intervalFactor": 2, |
1245 | | - "legendFormat": "{{__name__}}", |
| 1245 | + "legendFormat": "{{datname}} - {{__name__}}", |
1246 | 1246 | "refId": "A", |
1247 | 1247 | "step": 240 |
1248 | 1248 | } |
|
1299 | 1299 | "templating": { |
1300 | 1300 | "list": [ |
1301 | 1301 | { |
1302 | | - "allValue": ".*", |
1303 | | - "current": { |
1304 | | - "selected": false, |
1305 | | - "text": "All", |
1306 | | - "value": "$__all" |
1307 | | - }, |
1308 | | - "datasource": "Postgres Overview", |
1309 | | - "definition": "", |
1310 | 1302 | "hide": 0, |
1311 | | - "includeAll": true, |
1312 | | - "label": null, |
| 1303 | + "includeAll": false, |
| 1304 | + "label": "Data Source", |
1313 | 1305 | "multi": false, |
1314 | | - "name": "instance", |
| 1306 | + "name": "datasource", |
1315 | 1307 | "options": [], |
1316 | | - "query": "label_values(up{job=~\"postgres.*\"},instance)", |
| 1308 | + "query": "prometheus", |
1317 | 1309 | "refresh": 1, |
1318 | 1310 | "regex": "", |
1319 | 1311 | "skipUrlSync": false, |
| 1312 | + "type": "datasource" |
| 1313 | + }, |
| 1314 | + { |
| 1315 | + "allValue": ".+", |
| 1316 | + "datasource": "$datasource", |
| 1317 | + "definition": "label_values(pg_up, job)", |
| 1318 | + "hide": 0, |
| 1319 | + "includeAll": true, |
| 1320 | + "label": "job", |
| 1321 | + "multi": true, |
| 1322 | + "name": "job", |
| 1323 | + "options": [], |
| 1324 | + "query": "label_values(pg_up, job)", |
| 1325 | + "refresh": 0, |
| 1326 | + "regex": "", |
| 1327 | + "skipUrlSync": false, |
1320 | 1328 | "sort": 0, |
1321 | 1329 | "tagValuesQuery": "", |
1322 | 1330 | "tags": [], |
|
1325 | 1333 | "useTags": false |
1326 | 1334 | }, |
1327 | 1335 | { |
1328 | | - "allValue": ".*", |
1329 | | - "current": { |
1330 | | - "selected": false, |
1331 | | - "text": "All", |
1332 | | - "value": "$__all" |
1333 | | - }, |
1334 | | - "datasource": "Postgres Overview", |
1335 | | - "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)", |
| 1336 | + "allValue": ".+", |
| 1337 | + "datasource": "$datasource", |
| 1338 | + "definition": "", |
1336 | 1339 | "hide": 0, |
1337 | 1340 | "includeAll": true, |
1338 | | - "label": "db", |
1339 | | - "multi": false, |
1340 | | - "name": "db", |
| 1341 | + "label": "instance", |
| 1342 | + "multi": true, |
| 1343 | + "name": "instance", |
1341 | 1344 | "options": [], |
1342 | | - "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)", |
| 1345 | + "query": "label_values(up{job=~\"$job\"},instance)", |
1343 | 1346 | "refresh": 1, |
1344 | 1347 | "regex": "", |
1345 | 1348 | "skipUrlSync": false, |
|
1351 | 1354 | "useTags": false |
1352 | 1355 | }, |
1353 | 1356 | { |
1354 | | - "current": { |
1355 | | - "selected": false, |
1356 | | - "text": "Postgres Overview", |
1357 | | - "value": "Postgres Overview" |
1358 | | - }, |
| 1357 | + "allValue": ".+", |
| 1358 | + "datasource": "$datasource", |
| 1359 | + "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)", |
1359 | 1360 | "hide": 0, |
1360 | | - "includeAll": false, |
1361 | | - "label": "datasource", |
| 1361 | + "includeAll": true, |
| 1362 | + "label": "db", |
1362 | 1363 | "multi": false, |
1363 | | - "name": "datasource", |
| 1364 | + "name": "db", |
1364 | 1365 | "options": [], |
1365 | | - "query": "prometheus", |
| 1366 | + "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)", |
1366 | 1367 | "refresh": 1, |
1367 | 1368 | "regex": "", |
1368 | 1369 | "skipUrlSync": false, |
1369 | | - "type": "datasource" |
1370 | | - }, |
1371 | | - { |
1372 | | - "allValue": null, |
1373 | | - "current": { |
1374 | | - "selected": true, |
1375 | | - "text": "postgres", |
1376 | | - "value": "postgres" |
1377 | | - }, |
1378 | | - "datasource": "$datasource", |
1379 | | - "definition": "label_values(pg_up, job)", |
1380 | | - "hide": 0, |
1381 | | - "includeAll": false, |
1382 | | - "label": "job", |
1383 | | - "multi": false, |
1384 | | - "name": "job", |
1385 | | - "options": [ |
1386 | | - { |
1387 | | - "selected": true, |
1388 | | - "text": "postgres", |
1389 | | - "value": "postgres" |
1390 | | - } |
1391 | | - ], |
1392 | | - "query": "label_values(pg_up, job)", |
1393 | | - "refresh": 0, |
1394 | | - "regex": "", |
1395 | | - "skipUrlSync": false, |
1396 | 1370 | "sort": 0, |
1397 | 1371 | "tagValuesQuery": "", |
1398 | 1372 | "tags": [], |
|
0 commit comments