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