github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/dashboards/kubeblocks-postgresql-overview.json (about) 1 { 2 "annotations": { 3 "list": [ 4 { 5 "builtIn": 1, 6 "datasource": { 7 "type": "datasource", 8 "uid": "grafana" 9 }, 10 "enable": true, 11 "hide": true, 12 "iconColor": "rgba(0, 211, 255, 1)", 13 "name": "Annotations & Alerts", 14 "target": { 15 "limit": 100, 16 "matchAny": false, 17 "tags": [], 18 "type": "dashboard" 19 }, 20 "type": "dashboard" 21 } 22 ] 23 }, 24 "description": "", 25 "editable": true, 26 "fiscalYearStartMonth": 0, 27 "gnetId": 11323, 28 "graphTooltip": 0, 29 "id": 19, 30 "links": [ 31 { 32 "asDropdown": false, 33 "icon": "cloud", 34 "includeVars": false, 35 "keepTime": false, 36 "tags": [], 37 "targetBlank": true, 38 "title": "ApeCloud", 39 "tooltip": "Improved productivity, cost-efficiency and business continuity.", 40 "type": "link", 41 "url": "https://kubeblocks.io/" 42 }, 43 { 44 "asDropdown": false, 45 "icon": "external link", 46 "includeVars": false, 47 "keepTime": false, 48 "tags": [], 49 "targetBlank": true, 50 "title": "KubeBlocks", 51 "tooltip": "An open-source and cloud-neutral DBaaS with Kubernetes.", 52 "type": "link", 53 "url": "https://github.com/apecloud/kubeblocks" 54 } 55 ], 56 "liveNow": false, 57 "panels": [ 58 { 59 "collapsed": false, 60 "datasource": { 61 "uid": "$datasource" 62 }, 63 "gridPos": { 64 "h": 1, 65 "w": 24, 66 "x": 0, 67 "y": 0 68 }, 69 "id": 382, 70 "panels": [], 71 "targets": [ 72 { 73 "datasource": { 74 "uid": "$datasource" 75 }, 76 "refId": "A" 77 } 78 ], 79 "title": "Summary", 80 "type": "row" 81 }, 82 { 83 "datasource": { 84 "type": "prometheus", 85 "uid": "$datasource" 86 }, 87 "description": "", 88 "fieldConfig": { 89 "defaults": { 90 "decimals": 0, 91 "mappings": [], 92 "thresholds": { 93 "mode": "absolute", 94 "steps": [ 95 { 96 "color": "semi-dark-blue", 97 "value": null 98 } 99 ] 100 }, 101 "unit": "short" 102 }, 103 "overrides": [] 104 }, 105 "gridPos": { 106 "h": 4, 107 "w": 2, 108 "x": 0, 109 "y": 1 110 }, 111 "id": 424, 112 "interval": "", 113 "links": [], 114 "maxDataPoints": 100, 115 "options": { 116 "colorMode": "value", 117 "fieldOptions": { 118 "calcs": [ 119 "lastNotNull" 120 ] 121 }, 122 "graphMode": "area", 123 "justifyMode": "auto", 124 "orientation": "horizontal", 125 "reduceOptions": { 126 "calcs": [ 127 "lastNotNull" 128 ], 129 "fields": "", 130 "values": false 131 }, 132 "textMode": "auto" 133 }, 134 "pluginVersion": "9.2.4", 135 "targets": [ 136 { 137 "calculatedInterval": "10m", 138 "datasource": { 139 "uid": "$datasource" 140 }, 141 "datasourceErrors": {}, 142 "editorMode": "code", 143 "errors": {}, 144 "expr": "count(sum by(namespace,app_kubernetes_io_instance)(pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})) or vector(0)", 145 "format": "time_series", 146 "interval": "", 147 "intervalFactor": 1, 148 "legendFormat": "{{label_name}}", 149 "metric": "", 150 "range": true, 151 "refId": "A", 152 "step": 20 153 } 154 ], 155 "title": "Clusters", 156 "type": "stat" 157 }, 158 { 159 "datasource": { 160 "type": "prometheus", 161 "uid": "$datasource" 162 }, 163 "description": "", 164 "fieldConfig": { 165 "defaults": { 166 "decimals": 0, 167 "mappings": [], 168 "thresholds": { 169 "mode": "absolute", 170 "steps": [ 171 { 172 "color": "semi-dark-blue", 173 "value": null 174 } 175 ] 176 }, 177 "unit": "short" 178 }, 179 "overrides": [] 180 }, 181 "gridPos": { 182 "h": 4, 183 "w": 2, 184 "x": 2, 185 "y": 1 186 }, 187 "id": 515, 188 "interval": "", 189 "links": [], 190 "maxDataPoints": 100, 191 "options": { 192 "colorMode": "value", 193 "fieldOptions": { 194 "calcs": [ 195 "lastNotNull" 196 ] 197 }, 198 "graphMode": "area", 199 "justifyMode": "auto", 200 "orientation": "horizontal", 201 "reduceOptions": { 202 "calcs": [ 203 "lastNotNull" 204 ], 205 "fields": "", 206 "values": false 207 }, 208 "textMode": "auto" 209 }, 210 "pluginVersion": "9.2.4", 211 "targets": [ 212 { 213 "calculatedInterval": "10m", 214 "datasource": { 215 "uid": "$datasource" 216 }, 217 "datasourceErrors": {}, 218 "editorMode": "code", 219 "errors": {}, 220 "expr": "count(sum by(node)(pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})) or vector(0)", 221 "format": "time_series", 222 "interval": "", 223 "intervalFactor": 1, 224 "legendFormat": "__auto", 225 "metric": "", 226 "range": true, 227 "refId": "A", 228 "step": 20 229 } 230 ], 231 "title": "Nodes", 232 "type": "stat" 233 }, 234 { 235 "datasource": { 236 "type": "prometheus", 237 "uid": "$datasource" 238 }, 239 "description": "", 240 "fieldConfig": { 241 "defaults": { 242 "decimals": 0, 243 "mappings": [], 244 "thresholds": { 245 "mode": "absolute", 246 "steps": [ 247 { 248 "color": "semi-dark-blue", 249 "value": null 250 } 251 ] 252 }, 253 "unit": "short" 254 }, 255 "overrides": [] 256 }, 257 "gridPos": { 258 "h": 4, 259 "w": 3, 260 "x": 4, 261 "y": 1 262 }, 263 "id": 421, 264 "interval": "", 265 "links": [], 266 "maxDataPoints": 100, 267 "options": { 268 "colorMode": "value", 269 "fieldOptions": { 270 "calcs": [ 271 "lastNotNull" 272 ] 273 }, 274 "graphMode": "area", 275 "justifyMode": "auto", 276 "orientation": "horizontal", 277 "reduceOptions": { 278 "calcs": [ 279 "lastNotNull" 280 ], 281 "fields": "", 282 "values": false 283 }, 284 "textMode": "auto" 285 }, 286 "pluginVersion": "9.2.4", 287 "targets": [ 288 { 289 "calculatedInterval": "10m", 290 "datasource": { 291 "uid": "$datasource" 292 }, 293 "datasourceErrors": {}, 294 "editorMode": "code", 295 "errors": {}, 296 "expr": "count(pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} > 0) or vector(0)", 297 "format": "time_series", 298 "interval": "", 299 "intervalFactor": 1, 300 "legendFormat": "__auto", 301 "metric": "", 302 "range": true, 303 "refId": "A", 304 "step": 20 305 } 306 ], 307 "title": "Running Instances", 308 "type": "stat" 309 }, 310 { 311 "datasource": { 312 "type": "prometheus", 313 "uid": "$datasource" 314 }, 315 "description": "", 316 "fieldConfig": { 317 "defaults": { 318 "decimals": 0, 319 "mappings": [], 320 "thresholds": { 321 "mode": "absolute", 322 "steps": [ 323 { 324 "color": "semi-dark-blue", 325 "value": null 326 }, 327 { 328 "color": "dark-red", 329 "value": 0.5 330 } 331 ] 332 }, 333 "unit": "short" 334 }, 335 "overrides": [] 336 }, 337 "gridPos": { 338 "h": 4, 339 "w": 3, 340 "x": 7, 341 "y": 1 342 }, 343 "id": 420, 344 "interval": "", 345 "links": [], 346 "maxDataPoints": 100, 347 "options": { 348 "colorMode": "value", 349 "fieldOptions": { 350 "calcs": [ 351 "lastNotNull" 352 ] 353 }, 354 "graphMode": "area", 355 "justifyMode": "auto", 356 "orientation": "horizontal", 357 "reduceOptions": { 358 "calcs": [ 359 "lastNotNull" 360 ], 361 "fields": "", 362 "values": false 363 }, 364 "textMode": "auto" 365 }, 366 "pluginVersion": "9.2.4", 367 "targets": [ 368 { 369 "calculatedInterval": "10m", 370 "datasource": { 371 "uid": "$datasource" 372 }, 373 "datasourceErrors": {}, 374 "editorMode": "code", 375 "errors": {}, 376 "exemplar": false, 377 "expr": "count(pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} <= 0) or vector(0)", 378 "format": "time_series", 379 "instant": false, 380 "interval": "", 381 "intervalFactor": 1, 382 "legendFormat": "__auto", 383 "metric": "", 384 "range": true, 385 "refId": "A", 386 "step": 20 387 } 388 ], 389 "title": "Down Instances", 390 "transformations": [], 391 "type": "stat" 392 }, 393 { 394 "datasource": { 395 "type": "prometheus", 396 "uid": "$datasource" 397 }, 398 "description": "", 399 "fieldConfig": { 400 "defaults": { 401 "decimals": 2, 402 "mappings": [], 403 "thresholds": { 404 "mode": "absolute", 405 "steps": [ 406 { 407 "color": "semi-dark-blue", 408 "value": null 409 } 410 ] 411 }, 412 "unit": "short" 413 }, 414 "overrides": [] 415 }, 416 "gridPos": { 417 "h": 4, 418 "w": 2, 419 "x": 10, 420 "y": 1 421 }, 422 "id": 443, 423 "interval": "", 424 "links": [], 425 "maxDataPoints": 100, 426 "options": { 427 "colorMode": "value", 428 "fieldOptions": { 429 "calcs": [ 430 "lastNotNull" 431 ] 432 }, 433 "graphMode": "area", 434 "justifyMode": "auto", 435 "orientation": "horizontal", 436 "reduceOptions": { 437 "calcs": [ 438 "lastNotNull" 439 ], 440 "fields": "", 441 "values": false 442 }, 443 "textMode": "auto" 444 }, 445 "pluginVersion": "9.2.4", 446 "targets": [ 447 { 448 "calculatedInterval": "10m", 449 "datasource": { 450 "uid": "$datasource" 451 }, 452 "datasourceErrors": {}, 453 "editorMode": "code", 454 "errors": {}, 455 "expr": "sum(rate(pg_stat_statements_stats_calls_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) or vector(0)", 456 "format": "time_series", 457 "interval": "", 458 "intervalFactor": 1, 459 "legendFormat": "{{label_name}}", 460 "metric": "", 461 "range": true, 462 "refId": "A", 463 "step": 20 464 } 465 ], 466 "title": "Total Qps", 467 "type": "stat" 468 }, 469 { 470 "datasource": { 471 "type": "prometheus", 472 "uid": "prometheus" 473 }, 474 "fieldConfig": { 475 "defaults": { 476 "color": { 477 "mode": "palette-classic" 478 }, 479 "custom": { 480 "align": "center", 481 "displayMode": "color-text", 482 "inspect": false 483 }, 484 "mappings": [], 485 "thresholds": { 486 "mode": "absolute", 487 "steps": [ 488 { 489 "color": "semi-dark-blue", 490 "value": null 491 } 492 ] 493 } 494 }, 495 "overrides": [ 496 { 497 "matcher": { 498 "id": "byName", 499 "options": "cluster" 500 }, 501 "properties": [ 502 { 503 "id": "custom.displayMode", 504 "value": "color-text" 505 }, 506 { 507 "id": "custom.filterable", 508 "value": true 509 }, 510 { 511 "id": "links", 512 "value": [ 513 { 514 "targetBlank": true, 515 "title": "PostgreSQL Cluster: ${__data.fields.namespace} | ${__data.fields.cluster}", 516 "url": "/d/kubeblocks-postgresql-detail/kubeblocks-postgresql-detail?orgId=1&var-datasource=default&var-namespace=${__data.fields.namespace}&var-cluster=${__data.fields.cluster}&var-instance=All&var-database=All" 517 } 518 ] 519 } 520 ] 521 } 522 ] 523 }, 524 "gridPos": { 525 "h": 8, 526 "w": 12, 527 "x": 12, 528 "y": 1 529 }, 530 "id": 521, 531 "options": { 532 "footer": { 533 "enablePagination": false, 534 "fields": "", 535 "reducer": [ 536 "sum" 537 ], 538 "show": false 539 }, 540 "showHeader": true 541 }, 542 "pluginVersion": "9.2.4", 543 "targets": [ 544 { 545 "datasource": { 546 "type": "prometheus", 547 "uid": "prometheus" 548 }, 549 "editorMode": "code", 550 "exemplar": false, 551 "expr": "count by (namespace, app_kubernetes_io_instance) (pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", 552 "format": "table", 553 "instant": true, 554 "legendFormat": "__auto", 555 "range": false, 556 "refId": "A" 557 }, 558 { 559 "datasource": { 560 "type": "prometheus", 561 "uid": "prometheus" 562 }, 563 "editorMode": "code", 564 "exemplar": false, 565 "expr": "count by (app_kubernetes_io_instance) (pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"} > 0)", 566 "format": "table", 567 "hide": false, 568 "instant": true, 569 "legendFormat": "__auto", 570 "range": false, 571 "refId": "B" 572 }, 573 { 574 "datasource": { 575 "type": "prometheus", 576 "uid": "prometheus" 577 }, 578 "editorMode": "code", 579 "exemplar": false, 580 "expr": "count by (app_kubernetes_io_instance) (count by (app_kubernetes_io_instance,node) (pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}))", 581 "format": "table", 582 "hide": false, 583 "instant": true, 584 "legendFormat": "__auto", 585 "range": false, 586 "refId": "C" 587 }, 588 { 589 "datasource": { 590 "type": "prometheus", 591 "uid": "prometheus" 592 }, 593 "editorMode": "code", 594 "exemplar": false, 595 "expr": "count by(short_version,app_kubernetes_io_instance)(pg_static{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", 596 "format": "table", 597 "hide": false, 598 "instant": true, 599 "legendFormat": "__auto", 600 "range": false, 601 "refId": "D" 602 } 603 ], 604 "title": "Cluster List", 605 "transformations": [ 606 { 607 "id": "joinByField", 608 "options": { 609 "byField": "app_kubernetes_io_instance", 610 "mode": "outer" 611 } 612 }, 613 { 614 "id": "organize", 615 "options": { 616 "excludeByName": { 617 "Time 1": true, 618 "Time 2": true, 619 "Time 3": true, 620 "Time 4": true, 621 "Value #D": true, 622 "apps_kubeblocks_io_component_name": true, 623 "node": true, 624 "pod": true 625 }, 626 "indexByName": { 627 "Time 1": 2, 628 "Time 2": 5, 629 "Time 3": 7, 630 "Time 4": 10, 631 "Value #A": 4, 632 "Value #B": 6, 633 "Value #C": 9, 634 "Value #D": 8, 635 "app_kubernetes_io_instance": 1, 636 "namespace": 0, 637 "short_version": 3 638 }, 639 "renameByName": { 640 "Value #A": "total instances", 641 "Value #B": "running instances", 642 "Value #C": "node num", 643 "app_kubernetes_io_instance": "cluster", 644 "pod": "", 645 "short_version": "version" 646 } 647 } 648 } 649 ], 650 "type": "table" 651 }, 652 { 653 "datasource": { 654 "type": "prometheus", 655 "uid": "$datasource" 656 }, 657 "description": "", 658 "fieldConfig": { 659 "defaults": { 660 "decimals": 0, 661 "mappings": [], 662 "thresholds": { 663 "mode": "absolute", 664 "steps": [ 665 { 666 "color": "semi-dark-blue", 667 "value": null 668 } 669 ] 670 }, 671 "unit": "percentunit" 672 }, 673 "overrides": [] 674 }, 675 "gridPos": { 676 "h": 4, 677 "w": 3, 678 "x": 0, 679 "y": 5 680 }, 681 "id": 516, 682 "interval": "", 683 "links": [], 684 "maxDataPoints": 100, 685 "options": { 686 "colorMode": "value", 687 "fieldOptions": { 688 "calcs": [ 689 "lastNotNull" 690 ] 691 }, 692 "graphMode": "area", 693 "justifyMode": "auto", 694 "orientation": "horizontal", 695 "reduceOptions": { 696 "calcs": [ 697 "lastNotNull" 698 ], 699 "fields": "", 700 "values": false 701 }, 702 "textMode": "auto" 703 }, 704 "pluginVersion": "9.2.4", 705 "targets": [ 706 { 707 "calculatedInterval": "10m", 708 "datasource": { 709 "uid": "$datasource" 710 }, 711 "datasourceErrors": {}, 712 "editorMode": "code", 713 "errors": {}, 714 "expr": "sum(rate(k8s_pod_cpu_time_seconds_total{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}[$__rate_interval]))", 715 "format": "time_series", 716 "interval": "", 717 "intervalFactor": 1, 718 "legendFormat": "__auto", 719 "metric": "", 720 "range": true, 721 "refId": "A", 722 "step": 20 723 } 724 ], 725 "title": "CPU Usage (Cores)", 726 "type": "stat" 727 }, 728 { 729 "datasource": { 730 "type": "prometheus", 731 "uid": "$datasource" 732 }, 733 "description": "", 734 "fieldConfig": { 735 "defaults": { 736 "mappings": [], 737 "thresholds": { 738 "mode": "absolute", 739 "steps": [ 740 { 741 "color": "semi-dark-blue", 742 "value": null 743 } 744 ] 745 }, 746 "unit": "short" 747 }, 748 "overrides": [] 749 }, 750 "gridPos": { 751 "h": 4, 752 "w": 3, 753 "x": 3, 754 "y": 5 755 }, 756 "id": 517, 757 "interval": "", 758 "links": [], 759 "maxDataPoints": 100, 760 "options": { 761 "colorMode": "value", 762 "fieldOptions": { 763 "calcs": [ 764 "lastNotNull" 765 ] 766 }, 767 "graphMode": "area", 768 "justifyMode": "auto", 769 "orientation": "horizontal", 770 "reduceOptions": { 771 "calcs": [ 772 "lastNotNull" 773 ], 774 "fields": "", 775 "values": false 776 }, 777 "textMode": "auto" 778 }, 779 "pluginVersion": "9.2.4", 780 "targets": [ 781 { 782 "calculatedInterval": "10m", 783 "datasource": { 784 "uid": "$datasource" 785 }, 786 "datasourceErrors": {}, 787 "editorMode": "code", 788 "errors": {}, 789 "expr": "sum(k8s_pod_cpu_limit{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"})", 790 "format": "time_series", 791 "interval": "", 792 "intervalFactor": 1, 793 "legendFormat": "__auto", 794 "metric": "", 795 "range": true, 796 "refId": "A", 797 "step": 20 798 } 799 ], 800 "title": "CPU Limit (Cores)", 801 "type": "stat" 802 }, 803 { 804 "datasource": { 805 "type": "prometheus", 806 "uid": "$datasource" 807 }, 808 "description": "", 809 "fieldConfig": { 810 "defaults": { 811 "mappings": [], 812 "thresholds": { 813 "mode": "absolute", 814 "steps": [ 815 { 816 "color": "semi-dark-blue", 817 "value": null 818 } 819 ] 820 }, 821 "unit": "bytes" 822 }, 823 "overrides": [] 824 }, 825 "gridPos": { 826 "h": 4, 827 "w": 2, 828 "x": 6, 829 "y": 5 830 }, 831 "id": 518, 832 "interval": "", 833 "links": [], 834 "maxDataPoints": 100, 835 "options": { 836 "colorMode": "value", 837 "fieldOptions": { 838 "calcs": [ 839 "lastNotNull" 840 ] 841 }, 842 "graphMode": "area", 843 "justifyMode": "auto", 844 "orientation": "horizontal", 845 "reduceOptions": { 846 "calcs": [ 847 "lastNotNull" 848 ], 849 "fields": "", 850 "values": false 851 }, 852 "textMode": "auto" 853 }, 854 "pluginVersion": "9.2.4", 855 "targets": [ 856 { 857 "calculatedInterval": "10m", 858 "datasource": { 859 "uid": "$datasource" 860 }, 861 "datasourceErrors": {}, 862 "editorMode": "code", 863 "errors": {}, 864 "expr": "sum(k8s_pod_memory_working_set_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"})", 865 "format": "time_series", 866 "interval": "", 867 "intervalFactor": 1, 868 "legendFormat": "__auto", 869 "metric": "", 870 "range": true, 871 "refId": "A", 872 "step": 20 873 } 874 ], 875 "title": "Memory Usage", 876 "type": "stat" 877 }, 878 { 879 "datasource": { 880 "type": "prometheus", 881 "uid": "$datasource" 882 }, 883 "description": "", 884 "fieldConfig": { 885 "defaults": { 886 "mappings": [], 887 "thresholds": { 888 "mode": "absolute", 889 "steps": [ 890 { 891 "color": "semi-dark-blue", 892 "value": null 893 } 894 ] 895 }, 896 "unit": "bytes" 897 }, 898 "overrides": [] 899 }, 900 "gridPos": { 901 "h": 4, 902 "w": 2, 903 "x": 8, 904 "y": 5 905 }, 906 "id": 519, 907 "interval": "", 908 "links": [], 909 "maxDataPoints": 100, 910 "options": { 911 "colorMode": "value", 912 "fieldOptions": { 913 "calcs": [ 914 "lastNotNull" 915 ] 916 }, 917 "graphMode": "area", 918 "justifyMode": "auto", 919 "orientation": "horizontal", 920 "reduceOptions": { 921 "calcs": [ 922 "lastNotNull" 923 ], 924 "fields": "", 925 "values": false 926 }, 927 "textMode": "auto" 928 }, 929 "pluginVersion": "9.2.4", 930 "targets": [ 931 { 932 "calculatedInterval": "10m", 933 "datasource": { 934 "uid": "$datasource" 935 }, 936 "datasourceErrors": {}, 937 "editorMode": "code", 938 "errors": {}, 939 "expr": "sum(k8s_pod_memory_limit_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"})", 940 "format": "time_series", 941 "interval": "", 942 "intervalFactor": 1, 943 "legendFormat": "__auto", 944 "metric": "", 945 "range": true, 946 "refId": "A", 947 "step": 20 948 } 949 ], 950 "title": "Memory Limit", 951 "type": "stat" 952 }, 953 { 954 "datasource": { 955 "type": "prometheus", 956 "uid": "$datasource" 957 }, 958 "description": "", 959 "fieldConfig": { 960 "defaults": { 961 "decimals": 2, 962 "mappings": [], 963 "thresholds": { 964 "mode": "absolute", 965 "steps": [ 966 { 967 "color": "semi-dark-blue", 968 "value": null 969 } 970 ] 971 }, 972 "unit": "short" 973 }, 974 "overrides": [] 975 }, 976 "gridPos": { 977 "h": 4, 978 "w": 2, 979 "x": 10, 980 "y": 5 981 }, 982 "id": 442, 983 "interval": "", 984 "links": [], 985 "maxDataPoints": 100, 986 "options": { 987 "colorMode": "value", 988 "fieldOptions": { 989 "calcs": [ 990 "lastNotNull" 991 ] 992 }, 993 "graphMode": "area", 994 "justifyMode": "auto", 995 "orientation": "horizontal", 996 "reduceOptions": { 997 "calcs": [ 998 "lastNotNull" 999 ], 1000 "fields": "", 1001 "values": false 1002 }, 1003 "textMode": "auto" 1004 }, 1005 "pluginVersion": "9.2.4", 1006 "targets": [ 1007 { 1008 "calculatedInterval": "10m", 1009 "datasource": { 1010 "uid": "$datasource" 1011 }, 1012 "datasourceErrors": {}, 1013 "editorMode": "code", 1014 "errors": {}, 1015 "exemplar": false, 1016 "expr": "sum(rate(pg_stat_database_xact_commit_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]) + rate(pg_stat_database_xact_rollback_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])) or vector(0)", 1017 "format": "time_series", 1018 "instant": false, 1019 "interval": "", 1020 "intervalFactor": 1, 1021 "legendFormat": "{{label_name}}", 1022 "metric": "", 1023 "range": true, 1024 "refId": "A", 1025 "step": 20 1026 } 1027 ], 1028 "title": "Total Tps", 1029 "type": "stat" 1030 }, 1031 { 1032 "collapsed": false, 1033 "gridPos": { 1034 "h": 1, 1035 "w": 24, 1036 "x": 0, 1037 "y": 9 1038 }, 1039 "id": 523, 1040 "panels": [], 1041 "title": "Clusters", 1042 "type": "row" 1043 }, 1044 { 1045 "datasource": { 1046 "type": "prometheus", 1047 "uid": "$datasource" 1048 }, 1049 "description": "", 1050 "fieldConfig": { 1051 "defaults": { 1052 "color": { 1053 "mode": "thresholds" 1054 }, 1055 "custom": { 1056 "align": "center", 1057 "displayMode": "auto", 1058 "inspect": false 1059 }, 1060 "mappings": [], 1061 "thresholds": { 1062 "mode": "absolute", 1063 "steps": [ 1064 { 1065 "color": "semi-dark-blue", 1066 "value": null 1067 } 1068 ] 1069 }, 1070 "unit": "short" 1071 }, 1072 "overrides": [ 1073 { 1074 "matcher": { 1075 "id": "byName", 1076 "options": "cpu usage (cores)" 1077 }, 1078 "properties": [ 1079 { 1080 "id": "custom.displayMode", 1081 "value": "color-text" 1082 }, 1083 { 1084 "id": "unit", 1085 "value": "percentunit" 1086 } 1087 ] 1088 } 1089 ] 1090 }, 1091 "gridPos": { 1092 "h": 7, 1093 "w": 8, 1094 "x": 0, 1095 "y": 10 1096 }, 1097 "id": 528, 1098 "interval": "", 1099 "links": [], 1100 "maxDataPoints": 100, 1101 "options": { 1102 "footer": { 1103 "fields": "", 1104 "reducer": [ 1105 "sum" 1106 ], 1107 "show": false 1108 }, 1109 "showHeader": true 1110 }, 1111 "pluginVersion": "9.2.4", 1112 "targets": [ 1113 { 1114 "calculatedInterval": "10m", 1115 "datasource": { 1116 "uid": "$datasource" 1117 }, 1118 "datasourceErrors": {}, 1119 "editorMode": "code", 1120 "errors": {}, 1121 "exemplar": false, 1122 "expr": "topk(10, sum by(k8s_namespace_name,app_kubernetes_io_instance) (rate(k8s_pod_cpu_time_seconds_total{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}[$__rate_interval])))", 1123 "format": "table", 1124 "instant": true, 1125 "interval": "", 1126 "intervalFactor": 1, 1127 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1128 "metric": "", 1129 "range": false, 1130 "refId": "A", 1131 "step": 20 1132 } 1133 ], 1134 "title": "Top10 CPU Usage", 1135 "transformations": [ 1136 { 1137 "id": "organize", 1138 "options": { 1139 "excludeByName": { 1140 "Time": true 1141 }, 1142 "indexByName": { 1143 "Time": 0, 1144 "Value": 3, 1145 "app_kubernetes_io_instance": 2, 1146 "k8s_namespace_name": 1 1147 }, 1148 "renameByName": { 1149 "Value": "cpu usage (cores)", 1150 "app_kubernetes_io_instance": "cluster", 1151 "k8s_namespace_name": "namespace" 1152 } 1153 } 1154 } 1155 ], 1156 "type": "table" 1157 }, 1158 { 1159 "datasource": { 1160 "type": "prometheus", 1161 "uid": "$datasource" 1162 }, 1163 "description": "", 1164 "fieldConfig": { 1165 "defaults": { 1166 "color": { 1167 "mode": "thresholds" 1168 }, 1169 "custom": { 1170 "align": "center", 1171 "displayMode": "auto", 1172 "inspect": false 1173 }, 1174 "mappings": [], 1175 "thresholds": { 1176 "mode": "absolute", 1177 "steps": [ 1178 { 1179 "color": "semi-dark-blue", 1180 "value": null 1181 } 1182 ] 1183 }, 1184 "unit": "short" 1185 }, 1186 "overrides": [ 1187 { 1188 "matcher": { 1189 "id": "byName", 1190 "options": "max cpu usage ratio" 1191 }, 1192 "properties": [ 1193 { 1194 "id": "custom.displayMode", 1195 "value": "color-text" 1196 }, 1197 { 1198 "id": "unit", 1199 "value": "percentunit" 1200 } 1201 ] 1202 } 1203 ] 1204 }, 1205 "gridPos": { 1206 "h": 7, 1207 "w": 8, 1208 "x": 8, 1209 "y": 10 1210 }, 1211 "id": 427, 1212 "interval": "", 1213 "links": [], 1214 "maxDataPoints": 100, 1215 "options": { 1216 "footer": { 1217 "fields": "", 1218 "reducer": [ 1219 "sum" 1220 ], 1221 "show": false 1222 }, 1223 "showHeader": true 1224 }, 1225 "pluginVersion": "9.2.4", 1226 "targets": [ 1227 { 1228 "calculatedInterval": "10m", 1229 "datasource": { 1230 "uid": "$datasource" 1231 }, 1232 "datasourceErrors": {}, 1233 "editorMode": "code", 1234 "errors": {}, 1235 "exemplar": false, 1236 "expr": "topk(10, max by(k8s_namespace_name,app_kubernetes_io_instance) (rate(k8s_pod_cpu_time_seconds_total{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}[$__rate_interval]) / k8s_pod_cpu_limit{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}))", 1237 "format": "table", 1238 "instant": true, 1239 "interval": "", 1240 "intervalFactor": 1, 1241 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1242 "metric": "", 1243 "range": false, 1244 "refId": "A", 1245 "step": 20 1246 } 1247 ], 1248 "title": "Top10 Max CPU Usage Ratio", 1249 "transformations": [ 1250 { 1251 "id": "organize", 1252 "options": { 1253 "excludeByName": { 1254 "Time": true 1255 }, 1256 "indexByName": { 1257 "Time": 0, 1258 "Value": 3, 1259 "app_kubernetes_io_instance": 2, 1260 "k8s_namespace_name": 1 1261 }, 1262 "renameByName": { 1263 "Value": "max cpu usage ratio", 1264 "app_kubernetes_io_instance": "cluster", 1265 "k8s_namespace_name": "namespace" 1266 } 1267 } 1268 } 1269 ], 1270 "type": "table" 1271 }, 1272 { 1273 "datasource": { 1274 "type": "prometheus", 1275 "uid": "$datasource" 1276 }, 1277 "description": "", 1278 "fieldConfig": { 1279 "defaults": { 1280 "color": { 1281 "mode": "thresholds" 1282 }, 1283 "custom": { 1284 "align": "center", 1285 "displayMode": "auto", 1286 "inspect": false 1287 }, 1288 "mappings": [], 1289 "thresholds": { 1290 "mode": "absolute", 1291 "steps": [ 1292 { 1293 "color": "semi-dark-blue", 1294 "value": null 1295 } 1296 ] 1297 }, 1298 "unit": "short" 1299 }, 1300 "overrides": [ 1301 { 1302 "matcher": { 1303 "id": "byName", 1304 "options": "memory usage" 1305 }, 1306 "properties": [ 1307 { 1308 "id": "custom.displayMode", 1309 "value": "color-text" 1310 }, 1311 { 1312 "id": "unit", 1313 "value": "bytes" 1314 } 1315 ] 1316 } 1317 ] 1318 }, 1319 "gridPos": { 1320 "h": 7, 1321 "w": 8, 1322 "x": 16, 1323 "y": 10 1324 }, 1325 "id": 524, 1326 "interval": "", 1327 "links": [], 1328 "maxDataPoints": 100, 1329 "options": { 1330 "footer": { 1331 "fields": "", 1332 "reducer": [ 1333 "sum" 1334 ], 1335 "show": false 1336 }, 1337 "showHeader": true 1338 }, 1339 "pluginVersion": "9.2.4", 1340 "targets": [ 1341 { 1342 "calculatedInterval": "10m", 1343 "datasource": { 1344 "uid": "$datasource" 1345 }, 1346 "datasourceErrors": {}, 1347 "editorMode": "code", 1348 "errors": {}, 1349 "exemplar": false, 1350 "expr": "topk(10, sum by(k8s_namespace_name,app_kubernetes_io_instance) (k8s_pod_memory_working_set_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}))", 1351 "format": "table", 1352 "instant": true, 1353 "interval": "", 1354 "intervalFactor": 1, 1355 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1356 "metric": "", 1357 "range": false, 1358 "refId": "A", 1359 "step": 20 1360 } 1361 ], 1362 "title": "Top10 Memory Usage", 1363 "transformations": [ 1364 { 1365 "id": "organize", 1366 "options": { 1367 "excludeByName": { 1368 "Time": true 1369 }, 1370 "indexByName": { 1371 "Time": 0, 1372 "Value": 3, 1373 "app_kubernetes_io_instance": 2, 1374 "k8s_namespace_name": 1 1375 }, 1376 "renameByName": { 1377 "Value": "memory usage", 1378 "app_kubernetes_io_instance": "cluster", 1379 "k8s_namespace_name": "namespace" 1380 } 1381 } 1382 } 1383 ], 1384 "type": "table" 1385 }, 1386 { 1387 "datasource": { 1388 "type": "prometheus", 1389 "uid": "$datasource" 1390 }, 1391 "description": "", 1392 "fieldConfig": { 1393 "defaults": { 1394 "color": { 1395 "mode": "thresholds" 1396 }, 1397 "custom": { 1398 "align": "center", 1399 "displayMode": "auto", 1400 "inspect": false 1401 }, 1402 "mappings": [], 1403 "thresholds": { 1404 "mode": "absolute", 1405 "steps": [ 1406 { 1407 "color": "semi-dark-blue", 1408 "value": null 1409 } 1410 ] 1411 }, 1412 "unit": "percentunit" 1413 }, 1414 "overrides": [ 1415 { 1416 "matcher": { 1417 "id": "byName", 1418 "options": "max memory usage ratio" 1419 }, 1420 "properties": [ 1421 { 1422 "id": "custom.displayMode", 1423 "value": "color-text" 1424 } 1425 ] 1426 } 1427 ] 1428 }, 1429 "gridPos": { 1430 "h": 7, 1431 "w": 8, 1432 "x": 0, 1433 "y": 17 1434 }, 1435 "id": 529, 1436 "interval": "", 1437 "links": [], 1438 "maxDataPoints": 100, 1439 "options": { 1440 "footer": { 1441 "fields": "", 1442 "reducer": [ 1443 "sum" 1444 ], 1445 "show": false 1446 }, 1447 "showHeader": true 1448 }, 1449 "pluginVersion": "9.2.4", 1450 "targets": [ 1451 { 1452 "calculatedInterval": "10m", 1453 "datasource": { 1454 "uid": "$datasource" 1455 }, 1456 "datasourceErrors": {}, 1457 "editorMode": "code", 1458 "errors": {}, 1459 "exemplar": false, 1460 "expr": "topk(10, max by(k8s_namespace_name,app_kubernetes_io_instance) (k8s_pod_memory_working_set_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"} / k8s_pod_memory_limit_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}))", 1461 "format": "table", 1462 "instant": true, 1463 "interval": "", 1464 "intervalFactor": 1, 1465 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1466 "metric": "", 1467 "range": false, 1468 "refId": "A", 1469 "step": 20 1470 } 1471 ], 1472 "title": "Top10 Max Memory Usage Ratio", 1473 "transformations": [ 1474 { 1475 "id": "organize", 1476 "options": { 1477 "excludeByName": { 1478 "Time": true 1479 }, 1480 "indexByName": { 1481 "Time": 0, 1482 "Value": 3, 1483 "app_kubernetes_io_instance": 2, 1484 "k8s_namespace_name": 1 1485 }, 1486 "renameByName": { 1487 "Value": "max memory usage ratio", 1488 "app_kubernetes_io_instance": "cluster", 1489 "k8s_namespace_name": "namespace" 1490 } 1491 } 1492 } 1493 ], 1494 "type": "table" 1495 }, 1496 { 1497 "datasource": { 1498 "type": "prometheus", 1499 "uid": "$datasource" 1500 }, 1501 "description": "", 1502 "fieldConfig": { 1503 "defaults": { 1504 "color": { 1505 "mode": "thresholds" 1506 }, 1507 "custom": { 1508 "align": "center", 1509 "displayMode": "auto", 1510 "inspect": false 1511 }, 1512 "mappings": [], 1513 "thresholds": { 1514 "mode": "absolute", 1515 "steps": [ 1516 { 1517 "color": "semi-dark-blue", 1518 "value": null 1519 } 1520 ] 1521 }, 1522 "unit": "short" 1523 }, 1524 "overrides": [ 1525 { 1526 "matcher": { 1527 "id": "byName", 1528 "options": "max volume usage ratio" 1529 }, 1530 "properties": [ 1531 { 1532 "id": "custom.displayMode", 1533 "value": "color-text" 1534 }, 1535 { 1536 "id": "unit", 1537 "value": "percentunit" 1538 } 1539 ] 1540 } 1541 ] 1542 }, 1543 "gridPos": { 1544 "h": 7, 1545 "w": 8, 1546 "x": 8, 1547 "y": 17 1548 }, 1549 "id": 527, 1550 "interval": "", 1551 "links": [], 1552 "maxDataPoints": 100, 1553 "options": { 1554 "footer": { 1555 "fields": "", 1556 "reducer": [ 1557 "sum" 1558 ], 1559 "show": false 1560 }, 1561 "showHeader": true 1562 }, 1563 "pluginVersion": "9.2.4", 1564 "targets": [ 1565 { 1566 "calculatedInterval": "10m", 1567 "datasource": { 1568 "uid": "$datasource" 1569 }, 1570 "datasourceErrors": {}, 1571 "editorMode": "code", 1572 "errors": {}, 1573 "exemplar": false, 1574 "expr": "topk(10, max by(k8s_namespace_name,app_kubernetes_io_instance) (1 - (k8s_volume_available_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_volume_type=~\"emptyDir|ephemeral-storage|persistentVolumeClaim|hostPath\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"}/k8s_volume_capacity_bytes{app_kubernetes_io_managed_by=\"kubeblocks\",app_kubernetes_io_name=\"postgresql\",k8s_volume_type=~\"emptyDir|ephemeral-storage|persistentVolumeClaim|hostPath\",k8s_namespace_name=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",k8s_pod_name=~\"$instance\"})))", 1575 "format": "table", 1576 "instant": true, 1577 "interval": "", 1578 "intervalFactor": 1, 1579 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1580 "metric": "", 1581 "range": false, 1582 "refId": "A", 1583 "step": 20 1584 } 1585 ], 1586 "title": "Top10 Max Volumes Usage Ratio", 1587 "transformations": [ 1588 { 1589 "id": "organize", 1590 "options": { 1591 "excludeByName": { 1592 "Time": true, 1593 "k8s_pod_name": false 1594 }, 1595 "indexByName": { 1596 "Time": 0, 1597 "Value": 4, 1598 "app_kubernetes_io_instance": 2, 1599 "k8s_namespace_name": 1, 1600 "k8s_pod_name": 3 1601 }, 1602 "renameByName": { 1603 "Value": "max volume usage ratio", 1604 "app_kubernetes_io_instance": "cluster", 1605 "k8s_namespace_name": "namespace", 1606 "k8s_pod_name": "instance" 1607 } 1608 } 1609 } 1610 ], 1611 "type": "table" 1612 }, 1613 { 1614 "datasource": { 1615 "type": "prometheus", 1616 "uid": "$datasource" 1617 }, 1618 "description": "", 1619 "fieldConfig": { 1620 "defaults": { 1621 "color": { 1622 "mode": "thresholds" 1623 }, 1624 "custom": { 1625 "align": "center", 1626 "displayMode": "auto", 1627 "inspect": false 1628 }, 1629 "decimals": 2, 1630 "mappings": [], 1631 "thresholds": { 1632 "mode": "absolute", 1633 "steps": [ 1634 { 1635 "color": "semi-dark-blue", 1636 "value": null 1637 } 1638 ] 1639 }, 1640 "unit": "short" 1641 }, 1642 "overrides": [ 1643 { 1644 "matcher": { 1645 "id": "byName", 1646 "options": "qps" 1647 }, 1648 "properties": [ 1649 { 1650 "id": "custom.displayMode", 1651 "value": "lcd-gauge" 1652 } 1653 ] 1654 } 1655 ] 1656 }, 1657 "gridPos": { 1658 "h": 7, 1659 "w": 8, 1660 "x": 16, 1661 "y": 17 1662 }, 1663 "id": 438, 1664 "interval": "", 1665 "links": [], 1666 "maxDataPoints": 100, 1667 "options": { 1668 "footer": { 1669 "fields": "", 1670 "reducer": [ 1671 "sum" 1672 ], 1673 "show": false 1674 }, 1675 "showHeader": true 1676 }, 1677 "pluginVersion": "9.2.4", 1678 "targets": [ 1679 { 1680 "calculatedInterval": "10m", 1681 "datasource": { 1682 "uid": "$datasource" 1683 }, 1684 "datasourceErrors": {}, 1685 "editorMode": "code", 1686 "errors": {}, 1687 "exemplar": false, 1688 "expr": "topk(10, sum by(namespace,app_kubernetes_io_instance) (rate(pg_stat_statements_stats_calls_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])))", 1689 "format": "table", 1690 "instant": true, 1691 "interval": "", 1692 "intervalFactor": 1, 1693 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1694 "metric": "", 1695 "range": false, 1696 "refId": "A", 1697 "step": 20 1698 } 1699 ], 1700 "title": "Top10 Qps", 1701 "transformations": [ 1702 { 1703 "id": "organize", 1704 "options": { 1705 "excludeByName": { 1706 "Time": true 1707 }, 1708 "indexByName": { 1709 "Time": 0, 1710 "Value": 3, 1711 "app_kubernetes_io_instance": 2, 1712 "namespace": 1 1713 }, 1714 "renameByName": { 1715 "Value": "qps", 1716 "app_kubernetes_io_instance": "cluster" 1717 } 1718 } 1719 } 1720 ], 1721 "type": "table" 1722 }, 1723 { 1724 "datasource": { 1725 "type": "prometheus", 1726 "uid": "$datasource" 1727 }, 1728 "description": "", 1729 "fieldConfig": { 1730 "defaults": { 1731 "color": { 1732 "mode": "thresholds" 1733 }, 1734 "custom": { 1735 "align": "center", 1736 "displayMode": "auto", 1737 "inspect": false 1738 }, 1739 "decimals": 2, 1740 "mappings": [], 1741 "thresholds": { 1742 "mode": "absolute", 1743 "steps": [ 1744 { 1745 "color": "semi-dark-blue", 1746 "value": null 1747 } 1748 ] 1749 }, 1750 "unit": "short" 1751 }, 1752 "overrides": [ 1753 { 1754 "matcher": { 1755 "id": "byName", 1756 "options": "tps" 1757 }, 1758 "properties": [ 1759 { 1760 "id": "custom.displayMode", 1761 "value": "lcd-gauge" 1762 } 1763 ] 1764 } 1765 ] 1766 }, 1767 "gridPos": { 1768 "h": 7, 1769 "w": 8, 1770 "x": 0, 1771 "y": 24 1772 }, 1773 "id": 530, 1774 "interval": "", 1775 "links": [], 1776 "maxDataPoints": 100, 1777 "options": { 1778 "footer": { 1779 "fields": "", 1780 "reducer": [ 1781 "sum" 1782 ], 1783 "show": false 1784 }, 1785 "showHeader": true 1786 }, 1787 "pluginVersion": "9.2.4", 1788 "targets": [ 1789 { 1790 "calculatedInterval": "10m", 1791 "datasource": { 1792 "uid": "$datasource" 1793 }, 1794 "datasourceErrors": {}, 1795 "editorMode": "code", 1796 "errors": {}, 1797 "exemplar": false, 1798 "expr": "topk(10, sum by(namespace,app_kubernetes_io_instance) (rate(pg_stat_database_xact_commit_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval]) + rate(pg_stat_database_xact_rollback_total{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}[$__rate_interval])))", 1799 "format": "table", 1800 "instant": true, 1801 "interval": "", 1802 "intervalFactor": 1, 1803 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1804 "metric": "", 1805 "range": false, 1806 "refId": "A", 1807 "step": 20 1808 } 1809 ], 1810 "title": "Top10 Tps", 1811 "transformations": [ 1812 { 1813 "id": "organize", 1814 "options": { 1815 "excludeByName": { 1816 "Time": true 1817 }, 1818 "indexByName": { 1819 "Time": 0, 1820 "Value": 3, 1821 "app_kubernetes_io_instance": 2, 1822 "namespace": 1 1823 }, 1824 "renameByName": { 1825 "Value": "tps", 1826 "app_kubernetes_io_instance": "cluster" 1827 } 1828 } 1829 } 1830 ], 1831 "type": "table" 1832 }, 1833 { 1834 "datasource": { 1835 "type": "prometheus", 1836 "uid": "$datasource" 1837 }, 1838 "description": "", 1839 "fieldConfig": { 1840 "defaults": { 1841 "color": { 1842 "mode": "thresholds" 1843 }, 1844 "custom": { 1845 "align": "center", 1846 "displayMode": "auto", 1847 "inspect": false 1848 }, 1849 "decimals": 2, 1850 "mappings": [], 1851 "thresholds": { 1852 "mode": "absolute", 1853 "steps": [ 1854 { 1855 "color": "semi-dark-blue", 1856 "value": null 1857 } 1858 ] 1859 }, 1860 "unit": "short" 1861 }, 1862 "overrides": [ 1863 { 1864 "matcher": { 1865 "id": "byName", 1866 "options": "connections" 1867 }, 1868 "properties": [ 1869 { 1870 "id": "custom.displayMode", 1871 "value": "lcd-gauge" 1872 } 1873 ] 1874 } 1875 ] 1876 }, 1877 "gridPos": { 1878 "h": 7, 1879 "w": 8, 1880 "x": 8, 1881 "y": 24 1882 }, 1883 "id": 429, 1884 "interval": "", 1885 "links": [], 1886 "maxDataPoints": 100, 1887 "options": { 1888 "footer": { 1889 "fields": "", 1890 "reducer": [ 1891 "sum" 1892 ], 1893 "show": false 1894 }, 1895 "showHeader": true 1896 }, 1897 "pluginVersion": "9.2.4", 1898 "targets": [ 1899 { 1900 "calculatedInterval": "10m", 1901 "datasource": { 1902 "uid": "$datasource" 1903 }, 1904 "datasourceErrors": {}, 1905 "editorMode": "code", 1906 "errors": {}, 1907 "exemplar": false, 1908 "expr": "topk(10, sum by(namespace,app_kubernetes_io_instance) (pg_stat_database_numbackends{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}))", 1909 "format": "table", 1910 "instant": true, 1911 "interval": "", 1912 "intervalFactor": 1, 1913 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 1914 "metric": "", 1915 "range": false, 1916 "refId": "A", 1917 "step": 20 1918 } 1919 ], 1920 "title": "Top10 Connections", 1921 "transformations": [ 1922 { 1923 "id": "organize", 1924 "options": { 1925 "excludeByName": { 1926 "Time": true 1927 }, 1928 "indexByName": { 1929 "Time": 0, 1930 "Value": 3, 1931 "app_kubernetes_io_instance": 2, 1932 "namespace": 1 1933 }, 1934 "renameByName": { 1935 "Value": "connections", 1936 "app_kubernetes_io_instance": "cluster", 1937 "namespace": "namespace" 1938 } 1939 } 1940 } 1941 ], 1942 "type": "table" 1943 }, 1944 { 1945 "datasource": { 1946 "type": "prometheus", 1947 "uid": "$datasource" 1948 }, 1949 "description": "", 1950 "fieldConfig": { 1951 "defaults": { 1952 "color": { 1953 "mode": "thresholds" 1954 }, 1955 "custom": { 1956 "align": "center", 1957 "displayMode": "auto", 1958 "inspect": false 1959 }, 1960 "decimals": 2, 1961 "mappings": [], 1962 "thresholds": { 1963 "mode": "absolute", 1964 "steps": [ 1965 { 1966 "color": "semi-dark-blue", 1967 "value": null 1968 } 1969 ] 1970 }, 1971 "unit": "short" 1972 }, 1973 "overrides": [ 1974 { 1975 "matcher": { 1976 "id": "byName", 1977 "options": "size" 1978 }, 1979 "properties": [ 1980 { 1981 "id": "unit", 1982 "value": "bytes" 1983 }, 1984 { 1985 "id": "custom.displayMode", 1986 "value": "lcd-gauge" 1987 } 1988 ] 1989 } 1990 ] 1991 }, 1992 "gridPos": { 1993 "h": 7, 1994 "w": 8, 1995 "x": 16, 1996 "y": 24 1997 }, 1998 "id": 440, 1999 "interval": "", 2000 "links": [], 2001 "maxDataPoints": 100, 2002 "options": { 2003 "footer": { 2004 "fields": "", 2005 "reducer": [ 2006 "sum" 2007 ], 2008 "show": false 2009 }, 2010 "showHeader": true 2011 }, 2012 "pluginVersion": "9.2.4", 2013 "targets": [ 2014 { 2015 "calculatedInterval": "10m", 2016 "datasource": { 2017 "uid": "$datasource" 2018 }, 2019 "datasourceErrors": {}, 2020 "editorMode": "code", 2021 "errors": {}, 2022 "exemplar": false, 2023 "expr": "topk(10, sum by(namespace,app_kubernetes_io_instance) (pg_database_size_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"}))", 2024 "format": "table", 2025 "instant": true, 2026 "interval": "", 2027 "intervalFactor": 1, 2028 "legendFormat": "{{namespace}} | {{app_kubernetes_io_instance}}", 2029 "metric": "", 2030 "range": false, 2031 "refId": "A", 2032 "step": 20 2033 } 2034 ], 2035 "title": "Top10 Database Size", 2036 "transformations": [ 2037 { 2038 "id": "organize", 2039 "options": { 2040 "excludeByName": { 2041 "Time": true 2042 }, 2043 "indexByName": { 2044 "Time": 0, 2045 "Value": 3, 2046 "app_kubernetes_io_instance": 2, 2047 "namespace": 1 2048 }, 2049 "renameByName": { 2050 "Value": "size", 2051 "app_kubernetes_io_instance": "cluster", 2052 "namespace": "namespace" 2053 } 2054 } 2055 } 2056 ], 2057 "type": "table" 2058 }, 2059 { 2060 "collapsed": true, 2061 "gridPos": { 2062 "h": 1, 2063 "w": 24, 2064 "x": 0, 2065 "y": 31 2066 }, 2067 "id": 526, 2068 "panels": [ 2069 { 2070 "datasource": { 2071 "type": "prometheus", 2072 "uid": "$datasource" 2073 }, 2074 "description": "", 2075 "fieldConfig": { 2076 "defaults": { 2077 "color": { 2078 "mode": "thresholds" 2079 }, 2080 "custom": { 2081 "align": "center", 2082 "displayMode": "auto", 2083 "filterable": false, 2084 "inspect": false 2085 }, 2086 "mappings": [], 2087 "thresholds": { 2088 "mode": "absolute", 2089 "steps": [ 2090 { 2091 "color": "semi-dark-blue", 2092 "value": null 2093 } 2094 ] 2095 } 2096 }, 2097 "overrides": [ 2098 { 2099 "matcher": { 2100 "id": "byName", 2101 "options": "instance" 2102 }, 2103 "properties": [ 2104 { 2105 "id": "links", 2106 "value": [ 2107 { 2108 "targetBlank": true, 2109 "title": "PostgreSQL Instance: ${__data.fields.namespace} | ${__data.fields.cluster} | ${__data.fields.instance}", 2110 "url": "/d/kubeletstats/kubelet-stats?orgId=1&var-datasource=default&var-node=All&var-cluster=${__data.fields.cluster}&var-pod=${__data.fields.instance}" 2111 } 2112 ] 2113 }, 2114 { 2115 "id": "custom.align", 2116 "value": "center" 2117 }, 2118 { 2119 "id": "custom.filterable", 2120 "value": true 2121 }, 2122 { 2123 "id": "custom.displayMode", 2124 "value": "color-text" 2125 } 2126 ] 2127 }, 2128 { 2129 "matcher": { 2130 "id": "byName", 2131 "options": "uptime" 2132 }, 2133 "properties": [ 2134 { 2135 "id": "unit", 2136 "value": "s" 2137 }, 2138 { 2139 "id": "custom.displayMode", 2140 "value": "auto" 2141 } 2142 ] 2143 }, 2144 { 2145 "matcher": { 2146 "id": "byName", 2147 "options": "namespace" 2148 }, 2149 "properties": [ 2150 { 2151 "id": "custom.filterable", 2152 "value": true 2153 } 2154 ] 2155 }, 2156 { 2157 "matcher": { 2158 "id": "byName", 2159 "options": "cluster" 2160 }, 2161 "properties": [ 2162 { 2163 "id": "custom.filterable", 2164 "value": true 2165 }, 2166 { 2167 "id": "links", 2168 "value": [ 2169 { 2170 "targetBlank": true, 2171 "title": "PostgreSQL Cluster: ${__data.fields.namespace} | ${__data.fields.cluster}", 2172 "url": "/d/kubeblocks-postgresql-detail/kubeblocks-postgresql-detail?orgId=1&var-datasource=default&var-namespace=${__data.fields.namespace}&var-cluster=${__data.fields.cluster}&var-instance=All&var-database=All" 2173 } 2174 ] 2175 }, 2176 { 2177 "id": "custom.displayMode", 2178 "value": "color-text" 2179 } 2180 ] 2181 }, 2182 { 2183 "matcher": { 2184 "id": "byName", 2185 "options": "database size" 2186 }, 2187 "properties": [ 2188 { 2189 "id": "unit", 2190 "value": "bytes" 2191 } 2192 ] 2193 }, 2194 { 2195 "matcher": { 2196 "id": "byName", 2197 "options": "status" 2198 }, 2199 "properties": [ 2200 { 2201 "id": "mappings", 2202 "value": [ 2203 { 2204 "options": { 2205 "0": { 2206 "color": "dark-yellow", 2207 "index": 1, 2208 "text": "replica" 2209 }, 2210 "1": { 2211 "color": "green", 2212 "index": 0, 2213 "text": "primary" 2214 } 2215 }, 2216 "type": "value" 2217 } 2218 ] 2219 }, 2220 { 2221 "id": "custom.displayMode", 2222 "value": "color-background" 2223 } 2224 ] 2225 } 2226 ] 2227 }, 2228 "gridPos": { 2229 "h": 6, 2230 "w": 24, 2231 "x": 0, 2232 "y": 32 2233 }, 2234 "id": 428, 2235 "interval": "", 2236 "links": [], 2237 "maxDataPoints": 100, 2238 "options": { 2239 "footer": { 2240 "enablePagination": false, 2241 "fields": "", 2242 "reducer": [ 2243 "sum" 2244 ], 2245 "show": false 2246 }, 2247 "showHeader": true, 2248 "sortBy": [ 2249 { 2250 "desc": true, 2251 "displayName": "uptime" 2252 } 2253 ] 2254 }, 2255 "pluginVersion": "9.2.4", 2256 "targets": [ 2257 { 2258 "calculatedInterval": "10m", 2259 "datasource": { 2260 "uid": "$datasource" 2261 }, 2262 "datasourceErrors": {}, 2263 "editorMode": "code", 2264 "errors": {}, 2265 "exemplar": false, 2266 "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (pg_up{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", 2267 "format": "table", 2268 "instant": true, 2269 "interval": "", 2270 "intervalFactor": 1, 2271 "legendFormat": "__auto", 2272 "metric": "", 2273 "range": false, 2274 "refId": "A", 2275 "step": 20 2276 }, 2277 { 2278 "calculatedInterval": "10m", 2279 "datasource": { 2280 "uid": "$datasource" 2281 }, 2282 "datasourceErrors": {}, 2283 "editorMode": "code", 2284 "errors": {}, 2285 "exemplar": false, 2286 "expr": "avg by(namespace,app_kubernetes_io_instance,pod) (time() - pg_postmaster_start_time_seconds{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", 2287 "format": "table", 2288 "hide": false, 2289 "instant": true, 2290 "interval": "", 2291 "intervalFactor": 1, 2292 "legendFormat": "__auto", 2293 "metric": "", 2294 "range": false, 2295 "refId": "B", 2296 "step": 20 2297 }, 2298 { 2299 "calculatedInterval": "10m", 2300 "datasource": { 2301 "uid": "$datasource" 2302 }, 2303 "datasourceErrors": {}, 2304 "editorMode": "code", 2305 "errors": {}, 2306 "exemplar": false, 2307 "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (pg_database_size_bytes{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", 2308 "format": "table", 2309 "hide": false, 2310 "instant": true, 2311 "interval": "", 2312 "intervalFactor": 1, 2313 "legendFormat": "__auto", 2314 "metric": "", 2315 "range": false, 2316 "refId": "C", 2317 "step": 20 2318 }, 2319 { 2320 "calculatedInterval": "10m", 2321 "datasource": { 2322 "uid": "$datasource" 2323 }, 2324 "datasourceErrors": {}, 2325 "editorMode": "code", 2326 "errors": {}, 2327 "exemplar": false, 2328 "expr": "sum by(namespace,app_kubernetes_io_instance,pod) (pg_replication_is_master{namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\",job=\"$job\"})", 2329 "format": "table", 2330 "hide": false, 2331 "instant": true, 2332 "interval": "", 2333 "intervalFactor": 1, 2334 "legendFormat": "__auto", 2335 "metric": "", 2336 "range": false, 2337 "refId": "D", 2338 "step": 20 2339 } 2340 ], 2341 "title": "Instance Details", 2342 "transformations": [ 2343 { 2344 "id": "joinByField", 2345 "options": { 2346 "byField": "pod", 2347 "mode": "outer" 2348 } 2349 }, 2350 { 2351 "id": "organize", 2352 "options": { 2353 "excludeByName": { 2354 "Time 1": true, 2355 "Time 2": true, 2356 "Time 3": true, 2357 "Time 4": true, 2358 "Value #A": true, 2359 "app_kubernetes_io_instance 2": true, 2360 "app_kubernetes_io_instance 3": true, 2361 "app_kubernetes_io_instance 4": true, 2362 "namespace 2": true, 2363 "namespace 3": true, 2364 "namespace 4": true 2365 }, 2366 "indexByName": { 2367 "Time 1": 3, 2368 "Time 2": 5, 2369 "Time 3": 10, 2370 "Time 4": 14, 2371 "Value #A": 4, 2372 "Value #B": 9, 2373 "Value #C": 13, 2374 "Value #D": 8, 2375 "app_kubernetes_io_instance 1": 1, 2376 "app_kubernetes_io_instance 2": 6, 2377 "app_kubernetes_io_instance 3": 11, 2378 "app_kubernetes_io_instance 4": 15, 2379 "namespace 1": 0, 2380 "namespace 2": 7, 2381 "namespace 3": 12, 2382 "namespace 4": 16, 2383 "pod": 2 2384 }, 2385 "renameByName": { 2386 "Value #B": "uptime", 2387 "Value #C": "database size", 2388 "Value #D": "status", 2389 "app_kubernetes_io_instance 1": "cluster", 2390 "namespace 1": "namespace", 2391 "pod": "instance" 2392 } 2393 } 2394 } 2395 ], 2396 "type": "table" 2397 } 2398 ], 2399 "title": "Instances", 2400 "type": "row" 2401 } 2402 ], 2403 "refresh": false, 2404 "schemaVersion": 37, 2405 "style": "dark", 2406 "tags": [ 2407 "postgres", 2408 "db", 2409 "overview", 2410 "kubeblocks" 2411 ], 2412 "templating": { 2413 "list": [ 2414 { 2415 "current": { 2416 "selected": false, 2417 "text": "default", 2418 "value": "default" 2419 }, 2420 "hide": 0, 2421 "includeAll": false, 2422 "label": "data source", 2423 "multi": false, 2424 "name": "datasource", 2425 "options": [], 2426 "query": "prometheus", 2427 "queryValue": "", 2428 "refresh": 1, 2429 "regex": "", 2430 "skipUrlSync": false, 2431 "type": "datasource" 2432 }, 2433 { 2434 "allValue": ".+", 2435 "current": { 2436 "selected": true, 2437 "text": [ 2438 "All" 2439 ], 2440 "value": [ 2441 "$__all" 2442 ] 2443 }, 2444 "datasource": { 2445 "type": "prometheus", 2446 "uid": "${datasource}" 2447 }, 2448 "definition": "label_values(pg_up{job=\"$job\"}, namespace)", 2449 "hide": 2, 2450 "includeAll": true, 2451 "label": "namespace", 2452 "multi": true, 2453 "name": "namespace", 2454 "options": [], 2455 "query": { 2456 "query": "label_values(pg_up{job=\"$job\"}, namespace)", 2457 "refId": "StandardVariableQuery" 2458 }, 2459 "refresh": 1, 2460 "regex": "", 2461 "skipUrlSync": false, 2462 "sort": 5, 2463 "tagValuesQuery": "", 2464 "tagsQuery": "", 2465 "type": "query", 2466 "useTags": false 2467 }, 2468 { 2469 "allValue": ".+", 2470 "current": { 2471 "selected": true, 2472 "text": [ 2473 "All" 2474 ], 2475 "value": [ 2476 "$__all" 2477 ] 2478 }, 2479 "datasource": { 2480 "type": "prometheus", 2481 "uid": "$datasource" 2482 }, 2483 "definition": "label_values(pg_up{job=\"$job\"}, app_kubernetes_io_instance)", 2484 "hide": 2, 2485 "includeAll": true, 2486 "label": "cluster", 2487 "multi": true, 2488 "name": "cluster", 2489 "options": [], 2490 "query": { 2491 "query": "label_values(pg_up{job=\"$job\"}, app_kubernetes_io_instance)", 2492 "refId": "StandardVariableQuery" 2493 }, 2494 "refresh": 1, 2495 "regex": "", 2496 "skipUrlSync": false, 2497 "sort": 5, 2498 "tagValuesQuery": "", 2499 "tagsQuery": "", 2500 "type": "query", 2501 "useTags": false 2502 }, 2503 { 2504 "allValue": ".+", 2505 "current": { 2506 "selected": true, 2507 "text": [ 2508 "All" 2509 ], 2510 "value": [ 2511 "$__all" 2512 ] 2513 }, 2514 "datasource": { 2515 "type": "prometheus", 2516 "uid": "$datasource" 2517 }, 2518 "definition": "label_values(pg_up{job=\"$job\",namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\"}, pod)", 2519 "hide": 2, 2520 "includeAll": true, 2521 "label": "instance", 2522 "multi": true, 2523 "name": "instance", 2524 "options": [], 2525 "query": { 2526 "query": "label_values(pg_up{job=\"$job\",namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\"}, pod)", 2527 "refId": "StandardVariableQuery" 2528 }, 2529 "refresh": 1, 2530 "regex": "", 2531 "skipUrlSync": false, 2532 "sort": 5, 2533 "tagValuesQuery": "", 2534 "tagsQuery": "", 2535 "type": "query", 2536 "useTags": false 2537 }, 2538 { 2539 "allValue": ".+", 2540 "current": { 2541 "selected": true, 2542 "text": [ 2543 "All" 2544 ], 2545 "value": [ 2546 "$__all" 2547 ] 2548 }, 2549 "datasource": { 2550 "type": "prometheus", 2551 "uid": "$datasource" 2552 }, 2553 "definition": "label_values(pg_database_size_bytes{job=\"$job\",namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\"}, datname)", 2554 "hide": 2, 2555 "includeAll": true, 2556 "label": "database", 2557 "multi": true, 2558 "name": "database", 2559 "options": [], 2560 "query": { 2561 "query": "label_values(pg_database_size_bytes{job=\"$job\",namespace=~\"$namespace\",app_kubernetes_io_instance=~\"$cluster\",pod=~\"$instance\"}, datname)", 2562 "refId": "StandardVariableQuery" 2563 }, 2564 "refresh": 1, 2565 "regex": "", 2566 "skipUrlSync": false, 2567 "sort": 5, 2568 "tagValuesQuery": "", 2569 "tagsQuery": "", 2570 "type": "query", 2571 "useTags": false 2572 }, 2573 { 2574 "current": { 2575 "selected": true, 2576 "text": "kubeblocks-service", 2577 "value": "kubeblocks-service" 2578 }, 2579 "hide": 0, 2580 "includeAll": false, 2581 "label": "job", 2582 "multi": false, 2583 "name": "job", 2584 "options": [ 2585 { 2586 "selected": true, 2587 "text": "kubeblocks-service", 2588 "value": "kubeblocks-service" 2589 }, 2590 { 2591 "selected": false, 2592 "text": "agamotto", 2593 "value": "agamotto" 2594 } 2595 ], 2596 "query": "kubeblocks-service,agamotto", 2597 "queryValue": "", 2598 "skipUrlSync": false, 2599 "type": "custom" 2600 } 2601 ] 2602 }, 2603 "time": { 2604 "from": "now-30m", 2605 "to": "now" 2606 }, 2607 "timepicker": { 2608 "collapse": false, 2609 "enable": true, 2610 "hidden": false, 2611 "notice": false, 2612 "now": true, 2613 "refresh_intervals": [ 2614 "10s", 2615 "30s", 2616 "1m", 2617 "5m", 2618 "15m", 2619 "30m", 2620 "1h", 2621 "2h", 2622 "1d" 2623 ], 2624 "status": "Stable", 2625 "time_options": [ 2626 "5m", 2627 "15m", 2628 "1h", 2629 "6h", 2630 "12h", 2631 "24h", 2632 "2d", 2633 "7d", 2634 "30d" 2635 ], 2636 "type": "timepicker" 2637 }, 2638 "timezone": "", 2639 "title": "Kubeblocks / PostgreSQL Overview", 2640 "uid": "kubeblocks_postgresql_overview", 2641 "version": 1, 2642 "weekStart": "" 2643 }