flagger.json (47490B)
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 "type": "dashboard" 15 } 16 ] 17 }, 18 "editable": true, 19 "fiscalYearStartMonth": 0, 20 "graphTooltip": 0, 21 "id": 38, 22 "links": [], 23 "panels": [ 24 { 25 "fieldConfig": { 26 "defaults": {}, 27 "overrides": [] 28 }, 29 "gridPos": { 30 "h": 3, 31 "w": 24, 32 "x": 0, 33 "y": 0 34 }, 35 "id": 89, 36 "options": { 37 "code": { 38 "language": "plaintext", 39 "showLineNumbers": false, 40 "showMiniMap": false 41 }, 42 "content": "<div class=\"dashboard-header text-center\">\n<span>RED: $target.$namespace</span>\n</div>", 43 "mode": "html" 44 }, 45 "pluginVersion": "11.6.0", 46 "title": "", 47 "transparent": true, 48 "type": "text" 49 }, 50 { 51 "datasource": { 52 "type": "prometheus", 53 "uid": "prometheus" 54 }, 55 "fieldConfig": { 56 "defaults": { 57 "color": { 58 "fixedColor": "rgb(31, 120, 193)", 59 "mode": "fixed" 60 }, 61 "mappings": [ 62 { 63 "options": { 64 "match": "null", 65 "result": { 66 "text": "N/A" 67 } 68 }, 69 "type": "special" 70 } 71 ], 72 "thresholds": { 73 "mode": "absolute", 74 "steps": [ 75 { 76 "color": "green" 77 }, 78 { 79 "color": "red", 80 "value": 80 81 } 82 ] 83 }, 84 "unit": "ops" 85 }, 86 "overrides": [] 87 }, 88 "gridPos": { 89 "h": 4, 90 "w": 6, 91 "x": 0, 92 "y": 3 93 }, 94 "id": 90, 95 "maxDataPoints": 100, 96 "options": { 97 "colorMode": "none", 98 "graphMode": "area", 99 "justifyMode": "auto", 100 "orientation": "horizontal", 101 "percentChangeColorMode": "standard", 102 "reduceOptions": { 103 "calcs": [ 104 "lastNotNull" 105 ], 106 "fields": "", 107 "values": false 108 }, 109 "showPercentChange": false, 110 "textMode": "auto", 111 "wideLayout": true 112 }, 113 "pluginVersion": "11.6.0", 114 "targets": [ 115 { 116 "datasource": { 117 "type": "prometheus", 118 "uid": "prometheus" 119 }, 120 "editorMode": "code", 121 "expr": "round(sum(rate(envoy_cluster_upstream_rq{envoy_cluster_name=~\"httproute/$namespace/$target/.*\"}[30s])), 0.001)", 122 "format": "time_series", 123 "intervalFactor": 1, 124 "legendFormat": "", 125 "range": true, 126 "refId": "A", 127 "step": 4 128 } 129 ], 130 "title": "Primary: Incoming Request Volume", 131 "type": "stat" 132 }, 133 { 134 "datasource": { 135 "type": "prometheus", 136 "uid": "prometheus" 137 }, 138 "fieldConfig": { 139 "defaults": { 140 "color": { 141 "fixedColor": "rgb(31, 120, 193)", 142 "mode": "fixed" 143 }, 144 "mappings": [ 145 { 146 "options": { 147 "match": "null", 148 "result": { 149 "text": "N/A" 150 } 151 }, 152 "type": "special" 153 } 154 ], 155 "max": 1, 156 "min": 0, 157 "thresholds": { 158 "mode": "absolute", 159 "steps": [ 160 { 161 "color": "rgba(50, 172, 45, 0.97)" 162 }, 163 { 164 "color": "rgba(237, 129, 40, 0.89)", 165 "value": 95 166 }, 167 { 168 "color": "rgba(245, 54, 54, 0.9)", 169 "value": 99 170 } 171 ] 172 }, 173 "unit": "percentunit" 174 }, 175 "overrides": [] 176 }, 177 "gridPos": { 178 "h": 4, 179 "w": 6, 180 "x": 6, 181 "y": 3 182 }, 183 "id": 98, 184 "maxDataPoints": 100, 185 "options": { 186 "colorMode": "none", 187 "graphMode": "area", 188 "justifyMode": "auto", 189 "orientation": "horizontal", 190 "percentChangeColorMode": "standard", 191 "reduceOptions": { 192 "calcs": [ 193 "mean" 194 ], 195 "fields": "", 196 "values": false 197 }, 198 "showPercentChange": false, 199 "textMode": "auto", 200 "wideLayout": true 201 }, 202 "pluginVersion": "11.6.0", 203 "targets": [ 204 { 205 "datasource": { 206 "type": "prometheus", 207 "uid": "prometheus" 208 }, 209 "editorMode": "code", 210 "expr": "sum(irate(envoy_cluster_upstream_rq{envoy_cluster_name=~\"httproute/$namespace/$target/.*\",envoy_response_code!~\"5.*\"}[30s])) / sum(irate(envoy_cluster_upstream_rq{envoy_cluster_name=~\"httproute/$namespace/$target/.*\"}[30s]))", 211 "format": "time_series", 212 "intervalFactor": 1, 213 "legendFormat": "", 214 "range": true, 215 "refId": "B" 216 } 217 ], 218 "title": "Incoming Success Rate", 219 "type": "stat" 220 }, 221 { 222 "datasource": { 223 "type": "prometheus", 224 "uid": "prometheus" 225 }, 226 "fieldConfig": { 227 "defaults": { 228 "color": { 229 "fixedColor": "#7eb26d", 230 "mode": "fixed" 231 }, 232 "mappings": [ 233 { 234 "options": { 235 "match": "null", 236 "result": { 237 "text": "N/A" 238 } 239 }, 240 "type": "special" 241 } 242 ], 243 "thresholds": { 244 "mode": "absolute", 245 "steps": [ 246 { 247 "color": "green" 248 }, 249 { 250 "color": "red", 251 "value": 80 252 } 253 ] 254 }, 255 "unit": "ops" 256 }, 257 "overrides": [] 258 }, 259 "gridPos": { 260 "h": 4, 261 "w": 6, 262 "x": 12, 263 "y": 3 264 }, 265 "id": 97, 266 "maxDataPoints": 100, 267 "options": { 268 "colorMode": "none", 269 "graphMode": "area", 270 "justifyMode": "auto", 271 "orientation": "horizontal", 272 "percentChangeColorMode": "standard", 273 "reduceOptions": { 274 "calcs": [ 275 "lastNotNull" 276 ], 277 "fields": "", 278 "values": false 279 }, 280 "showPercentChange": false, 281 "textMode": "auto", 282 "wideLayout": true 283 }, 284 "pluginVersion": "11.6.0", 285 "targets": [ 286 { 287 "datasource": { 288 "type": "prometheus", 289 "uid": "prometheus" 290 }, 291 "editorMode": "code", 292 "expr": "round(sum(rate(envoy_cluster_upstream_rq{kubernetes_namespace=~\"$namespace\",envoy_cluster_name=~\"$target-canary\"}[30s])), 0.001)", 293 "format": "time_series", 294 "intervalFactor": 1, 295 "legendFormat": "", 296 "range": true, 297 "refId": "A", 298 "step": 4 299 } 300 ], 301 "title": "Canary: Incoming Request Volume", 302 "type": "stat" 303 }, 304 { 305 "datasource": { 306 "type": "prometheus", 307 "uid": "prometheus" 308 }, 309 "fieldConfig": { 310 "defaults": { 311 "color": { 312 "fixedColor": "#7eb26d", 313 "mode": "fixed" 314 }, 315 "mappings": [ 316 { 317 "options": { 318 "match": "null", 319 "result": { 320 "text": "N/A" 321 } 322 }, 323 "type": "special" 324 } 325 ], 326 "max": 1, 327 "min": 0, 328 "thresholds": { 329 "mode": "absolute", 330 "steps": [ 331 { 332 "color": "rgba(50, 172, 45, 0.97)" 333 }, 334 { 335 "color": "rgba(237, 129, 40, 0.89)", 336 "value": 95 337 }, 338 { 339 "color": "rgba(245, 54, 54, 0.9)", 340 "value": 99 341 } 342 ] 343 }, 344 "unit": "percentunit" 345 }, 346 "overrides": [] 347 }, 348 "gridPos": { 349 "h": 4, 350 "w": 6, 351 "x": 18, 352 "y": 3 353 }, 354 "id": 99, 355 "maxDataPoints": 100, 356 "options": { 357 "colorMode": "none", 358 "graphMode": "area", 359 "justifyMode": "auto", 360 "orientation": "horizontal", 361 "percentChangeColorMode": "standard", 362 "reduceOptions": { 363 "calcs": [ 364 "lastNotNull" 365 ], 366 "fields": "", 367 "values": false 368 }, 369 "showPercentChange": false, 370 "textMode": "auto", 371 "wideLayout": true 372 }, 373 "pluginVersion": "11.6.0", 374 "targets": [ 375 { 376 "datasource": { 377 "type": "prometheus", 378 "uid": "prometheus" 379 }, 380 "expr": "sum(irate(envoy_cluster_upstream_rq{kubernetes_namespace=~\"$namespace\",envoy_cluster_name=~\"$target-canary\",envoy_response_code!~\"5.*\"}[30s])) / sum(irate(envoy_cluster_upstream_rq{kubernetes_namespace=~\"$namespace\",envoy_cluster_name=~\"$target-canary\"}[30s]))", 381 "format": "time_series", 382 "intervalFactor": 1, 383 "legendFormat": "", 384 "refId": "B" 385 } 386 ], 387 "title": "Incoming Success Rate", 388 "type": "stat" 389 }, 390 { 391 "datasource": { 392 "type": "prometheus", 393 "uid": "prometheus" 394 }, 395 "fieldConfig": { 396 "defaults": { 397 "color": { 398 "mode": "palette-classic" 399 }, 400 "custom": { 401 "axisBorderShow": false, 402 "axisCenteredZero": false, 403 "axisColorMode": "text", 404 "axisLabel": "", 405 "axisPlacement": "auto", 406 "barAlignment": 0, 407 "barWidthFactor": 0.6, 408 "drawStyle": "line", 409 "fillOpacity": 10, 410 "gradientMode": "none", 411 "hideFrom": { 412 "legend": false, 413 "tooltip": false, 414 "viz": false 415 }, 416 "insertNulls": false, 417 "lineInterpolation": "linear", 418 "lineWidth": 1, 419 "pointSize": 5, 420 "scaleDistribution": { 421 "type": "linear" 422 }, 423 "showPoints": "never", 424 "spanNulls": false, 425 "stacking": { 426 "group": "A", 427 "mode": "none" 428 }, 429 "thresholdsStyle": { 430 "mode": "off" 431 } 432 }, 433 "mappings": [], 434 "thresholds": { 435 "mode": "absolute", 436 "steps": [ 437 { 438 "color": "green" 439 }, 440 { 441 "color": "red", 442 "value": 80 443 } 444 ] 445 }, 446 "unit": "Bps" 447 }, 448 "overrides": [] 449 }, 450 "gridPos": { 451 "h": 4, 452 "w": 12, 453 "x": 0, 454 "y": 7 455 }, 456 "id": 96, 457 "options": { 458 "legend": { 459 "calcs": [], 460 "displayMode": "list", 461 "placement": "right", 462 "showLegend": false 463 }, 464 "tooltip": { 465 "hideZeros": false, 466 "mode": "multi", 467 "sort": "none" 468 } 469 }, 470 "pluginVersion": "11.6.0", 471 "targets": [ 472 { 473 "datasource": { 474 "type": "prometheus", 475 "uid": "prometheus" 476 }, 477 "editorMode": "code", 478 "expr": "(sum(rate(envoy_cluster_upstream_cx_rx_bytes_total{envoy_cluster_name=~\"httproute/$namespace/$target/.*\"}[30s])))", 479 "format": "time_series", 480 "interval": "", 481 "intervalFactor": 1, 482 "legendFormat": "traffic", 483 "range": true, 484 "refId": "A" 485 } 486 ], 487 "title": "Primary: Incoming Traffic", 488 "type": "timeseries" 489 }, 490 { 491 "datasource": { 492 "type": "prometheus", 493 "uid": "prometheus" 494 }, 495 "fieldConfig": { 496 "defaults": { 497 "color": { 498 "mode": "palette-classic" 499 }, 500 "custom": { 501 "axisBorderShow": false, 502 "axisCenteredZero": false, 503 "axisColorMode": "text", 504 "axisLabel": "", 505 "axisPlacement": "auto", 506 "barAlignment": 0, 507 "barWidthFactor": 0.6, 508 "drawStyle": "line", 509 "fillOpacity": 10, 510 "gradientMode": "none", 511 "hideFrom": { 512 "legend": false, 513 "tooltip": false, 514 "viz": false 515 }, 516 "insertNulls": false, 517 "lineInterpolation": "linear", 518 "lineWidth": 1, 519 "pointSize": 5, 520 "scaleDistribution": { 521 "type": "linear" 522 }, 523 "showPoints": "never", 524 "spanNulls": false, 525 "stacking": { 526 "group": "A", 527 "mode": "none" 528 }, 529 "thresholdsStyle": { 530 "mode": "off" 531 } 532 }, 533 "mappings": [], 534 "thresholds": { 535 "mode": "absolute", 536 "steps": [ 537 { 538 "color": "green" 539 }, 540 { 541 "color": "red", 542 "value": 80 543 } 544 ] 545 }, 546 "unit": "Bps" 547 }, 548 "overrides": [] 549 }, 550 "gridPos": { 551 "h": 4, 552 "w": 12, 553 "x": 12, 554 "y": 7 555 }, 556 "id": 91, 557 "options": { 558 "legend": { 559 "calcs": [], 560 "displayMode": "list", 561 "placement": "right", 562 "showLegend": false 563 }, 564 "tooltip": { 565 "hideZeros": false, 566 "mode": "multi", 567 "sort": "none" 568 } 569 }, 570 "pluginVersion": "11.6.0", 571 "targets": [ 572 { 573 "datasource": { 574 "type": "prometheus", 575 "uid": "prometheus" 576 }, 577 "expr": "(sum(rate(envoy_cluster_upstream_cx_rx_bytes_total{kubernetes_namespace=~\"$namespace\",envoy_cluster_name=~\"$target-canary\"}[30s])))", 578 "format": "time_series", 579 "interval": "", 580 "intervalFactor": 1, 581 "legendFormat": "traffic", 582 "refId": "A" 583 } 584 ], 585 "title": "Canary: Incoming Traffic", 586 "type": "timeseries" 587 }, 588 { 589 "fieldConfig": { 590 "defaults": {}, 591 "overrides": [] 592 }, 593 "gridPos": { 594 "h": 3, 595 "w": 24, 596 "x": 0, 597 "y": 11 598 }, 599 "id": 101, 600 "options": { 601 "code": { 602 "language": "plaintext", 603 "showLineNumbers": false, 604 "showMiniMap": false 605 }, 606 "content": "<div class=\"dashboard-header text-center\">\n<span>USE: $target.$namespace</span>\n</div>", 607 "mode": "html" 608 }, 609 "pluginVersion": "11.6.0", 610 "title": "", 611 "transparent": true, 612 "type": "text" 613 }, 614 { 615 "datasource": { 616 "type": "prometheus", 617 "uid": "prometheus" 618 }, 619 "fieldConfig": { 620 "defaults": { 621 "color": { 622 "mode": "palette-classic" 623 }, 624 "custom": { 625 "axisBorderShow": false, 626 "axisCenteredZero": false, 627 "axisColorMode": "text", 628 "axisLabel": "CPU seconds / second", 629 "axisPlacement": "auto", 630 "barAlignment": 0, 631 "barWidthFactor": 0.6, 632 "drawStyle": "line", 633 "fillOpacity": 10, 634 "gradientMode": "none", 635 "hideFrom": { 636 "legend": false, 637 "tooltip": false, 638 "viz": false 639 }, 640 "insertNulls": false, 641 "lineInterpolation": "linear", 642 "lineWidth": 1, 643 "pointSize": 5, 644 "scaleDistribution": { 645 "type": "linear" 646 }, 647 "showPoints": "never", 648 "spanNulls": false, 649 "stacking": { 650 "group": "A", 651 "mode": "normal" 652 }, 653 "thresholdsStyle": { 654 "mode": "off" 655 } 656 }, 657 "mappings": [], 658 "thresholds": { 659 "mode": "absolute", 660 "steps": [ 661 { 662 "color": "green" 663 }, 664 { 665 "color": "red", 666 "value": 80 667 } 668 ] 669 }, 670 "unit": "s" 671 }, 672 "overrides": [] 673 }, 674 "gridPos": { 675 "h": 6, 676 "w": 12, 677 "x": 0, 678 "y": 14 679 }, 680 "id": 100, 681 "options": { 682 "legend": { 683 "calcs": [], 684 "displayMode": "list", 685 "placement": "bottom", 686 "showLegend": true 687 }, 688 "tooltip": { 689 "hideZeros": false, 690 "mode": "multi", 691 "sort": "none" 692 } 693 }, 694 "pluginVersion": "11.6.0", 695 "targets": [ 696 { 697 "datasource": { 698 "type": "prometheus", 699 "uid": "prometheus" 700 }, 701 "expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod=~\"$target-primary.*\", container!~\"POD|istio-proxy\"}[1m])) by (pod)", 702 "format": "time_series", 703 "hide": false, 704 "intervalFactor": 1, 705 "legendFormat": "{{ pod }}", 706 "refId": "B" 707 } 708 ], 709 "title": "Primary: CPU Usage by Pod", 710 "type": "timeseries" 711 }, 712 { 713 "datasource": { 714 "type": "prometheus", 715 "uid": "prometheus" 716 }, 717 "fieldConfig": { 718 "defaults": { 719 "color": { 720 "mode": "palette-classic" 721 }, 722 "custom": { 723 "axisBorderShow": false, 724 "axisCenteredZero": false, 725 "axisColorMode": "text", 726 "axisLabel": "CPU seconds / second", 727 "axisPlacement": "auto", 728 "barAlignment": 0, 729 "barWidthFactor": 0.6, 730 "drawStyle": "line", 731 "fillOpacity": 10, 732 "gradientMode": "none", 733 "hideFrom": { 734 "legend": false, 735 "tooltip": false, 736 "viz": false 737 }, 738 "insertNulls": false, 739 "lineInterpolation": "linear", 740 "lineWidth": 1, 741 "pointSize": 5, 742 "scaleDistribution": { 743 "type": "linear" 744 }, 745 "showPoints": "never", 746 "spanNulls": false, 747 "stacking": { 748 "group": "A", 749 "mode": "normal" 750 }, 751 "thresholdsStyle": { 752 "mode": "off" 753 } 754 }, 755 "mappings": [], 756 "thresholds": { 757 "mode": "absolute", 758 "steps": [ 759 { 760 "color": "green" 761 }, 762 { 763 "color": "red", 764 "value": 80 765 } 766 ] 767 }, 768 "unit": "s" 769 }, 770 "overrides": [] 771 }, 772 "gridPos": { 773 "h": 6, 774 "w": 12, 775 "x": 12, 776 "y": 14 777 }, 778 "id": 102, 779 "options": { 780 "legend": { 781 "calcs": [], 782 "displayMode": "list", 783 "placement": "bottom", 784 "showLegend": true 785 }, 786 "tooltip": { 787 "hideZeros": false, 788 "mode": "multi", 789 "sort": "none" 790 } 791 }, 792 "pluginVersion": "11.6.0", 793 "targets": [ 794 { 795 "datasource": { 796 "type": "prometheus", 797 "uid": "prometheus" 798 }, 799 "expr": "sum(rate(container_cpu_usage_seconds_total{cpu=\"total\",namespace=\"$namespace\",pod=~\"$target.*\", pod!~\"$target-primary.*\", container!~\"POD|istio-proxy\"}[1m])) by (pod)", 800 "format": "time_series", 801 "hide": false, 802 "intervalFactor": 1, 803 "legendFormat": "{{ pod }}", 804 "refId": "B" 805 } 806 ], 807 "title": "Canary: CPU Usage by Pod", 808 "type": "timeseries" 809 }, 810 { 811 "datasource": { 812 "type": "prometheus", 813 "uid": "prometheus" 814 }, 815 "fieldConfig": { 816 "defaults": { 817 "color": { 818 "mode": "palette-classic" 819 }, 820 "custom": { 821 "axisBorderShow": false, 822 "axisCenteredZero": false, 823 "axisColorMode": "text", 824 "axisLabel": "", 825 "axisPlacement": "auto", 826 "barAlignment": 0, 827 "barWidthFactor": 0.6, 828 "drawStyle": "line", 829 "fillOpacity": 10, 830 "gradientMode": "none", 831 "hideFrom": { 832 "legend": false, 833 "tooltip": false, 834 "viz": false 835 }, 836 "insertNulls": false, 837 "lineInterpolation": "linear", 838 "lineWidth": 1, 839 "pointSize": 5, 840 "scaleDistribution": { 841 "type": "linear" 842 }, 843 "showPoints": "never", 844 "spanNulls": false, 845 "stacking": { 846 "group": "A", 847 "mode": "normal" 848 }, 849 "thresholdsStyle": { 850 "mode": "off" 851 } 852 }, 853 "mappings": [], 854 "thresholds": { 855 "mode": "absolute", 856 "steps": [ 857 { 858 "color": "green" 859 }, 860 { 861 "color": "red", 862 "value": 80 863 } 864 ] 865 }, 866 "unit": "bytes" 867 }, 868 "overrides": [] 869 }, 870 "gridPos": { 871 "h": 6, 872 "w": 12, 873 "x": 0, 874 "y": 20 875 }, 876 "id": 103, 877 "options": { 878 "legend": { 879 "calcs": [], 880 "displayMode": "list", 881 "placement": "bottom", 882 "showLegend": true 883 }, 884 "tooltip": { 885 "hideZeros": false, 886 "mode": "multi", 887 "sort": "none" 888 } 889 }, 890 "pluginVersion": "11.6.0", 891 "targets": [ 892 { 893 "datasource": { 894 "type": "prometheus", 895 "uid": "prometheus" 896 }, 897 "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$target-primary.*\", container!~\"POD|istio-proxy\"}) by (pod)", 898 "format": "time_series", 899 "hide": false, 900 "interval": "", 901 "intervalFactor": 1, 902 "legendFormat": "{{ pod }}", 903 "refId": "B" 904 } 905 ], 906 "title": "Primary: Memory Usage by Pod", 907 "type": "timeseries" 908 }, 909 { 910 "datasource": { 911 "type": "prometheus", 912 "uid": "prometheus" 913 }, 914 "fieldConfig": { 915 "defaults": { 916 "color": { 917 "mode": "palette-classic" 918 }, 919 "custom": { 920 "axisBorderShow": false, 921 "axisCenteredZero": false, 922 "axisColorMode": "text", 923 "axisLabel": "", 924 "axisPlacement": "auto", 925 "barAlignment": 0, 926 "barWidthFactor": 0.6, 927 "drawStyle": "line", 928 "fillOpacity": 10, 929 "gradientMode": "none", 930 "hideFrom": { 931 "legend": false, 932 "tooltip": false, 933 "viz": false 934 }, 935 "insertNulls": false, 936 "lineInterpolation": "linear", 937 "lineWidth": 1, 938 "pointSize": 5, 939 "scaleDistribution": { 940 "type": "linear" 941 }, 942 "showPoints": "never", 943 "spanNulls": false, 944 "stacking": { 945 "group": "A", 946 "mode": "normal" 947 }, 948 "thresholdsStyle": { 949 "mode": "off" 950 } 951 }, 952 "mappings": [], 953 "thresholds": { 954 "mode": "absolute", 955 "steps": [ 956 { 957 "color": "green" 958 }, 959 { 960 "color": "red", 961 "value": 80 962 } 963 ] 964 }, 965 "unit": "bytes" 966 }, 967 "overrides": [] 968 }, 969 "gridPos": { 970 "h": 6, 971 "w": 12, 972 "x": 12, 973 "y": 20 974 }, 975 "id": 104, 976 "options": { 977 "legend": { 978 "calcs": [], 979 "displayMode": "list", 980 "placement": "bottom", 981 "showLegend": true 982 }, 983 "tooltip": { 984 "hideZeros": false, 985 "mode": "multi", 986 "sort": "none" 987 } 988 }, 989 "pluginVersion": "11.6.0", 990 "targets": [ 991 { 992 "datasource": { 993 "type": "prometheus", 994 "uid": "prometheus" 995 }, 996 "expr": "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$target.*\", pod!~\"$target-primary.*\", container!~\"POD|istio-proxy\"}) by (pod)", 997 "format": "time_series", 998 "hide": false, 999 "interval": "", 1000 "intervalFactor": 1, 1001 "legendFormat": "{{ pod }}", 1002 "refId": "B" 1003 } 1004 ], 1005 "title": "Canary: Memory Usage by Pod", 1006 "type": "timeseries" 1007 }, 1008 { 1009 "datasource": { 1010 "type": "prometheus", 1011 "uid": "prometheus" 1012 }, 1013 "fieldConfig": { 1014 "defaults": { 1015 "color": { 1016 "mode": "palette-classic" 1017 }, 1018 "custom": { 1019 "axisBorderShow": false, 1020 "axisCenteredZero": false, 1021 "axisColorMode": "text", 1022 "axisLabel": "", 1023 "axisPlacement": "auto", 1024 "barAlignment": 0, 1025 "barWidthFactor": 0.6, 1026 "drawStyle": "line", 1027 "fillOpacity": 10, 1028 "gradientMode": "none", 1029 "hideFrom": { 1030 "legend": false, 1031 "tooltip": false, 1032 "viz": false 1033 }, 1034 "insertNulls": false, 1035 "lineInterpolation": "linear", 1036 "lineWidth": 1, 1037 "pointSize": 5, 1038 "scaleDistribution": { 1039 "type": "linear" 1040 }, 1041 "showPoints": "never", 1042 "spanNulls": false, 1043 "stacking": { 1044 "group": "A", 1045 "mode": "none" 1046 }, 1047 "thresholdsStyle": { 1048 "mode": "off" 1049 } 1050 }, 1051 "mappings": [], 1052 "thresholds": { 1053 "mode": "absolute", 1054 "steps": [ 1055 { 1056 "color": "green" 1057 }, 1058 { 1059 "color": "red", 1060 "value": 80 1061 } 1062 ] 1063 }, 1064 "unit": "Bps" 1065 }, 1066 "overrides": [ 1067 { 1068 "matcher": { 1069 "id": "byName", 1070 "options": "received" 1071 }, 1072 "properties": [ 1073 { 1074 "id": "color", 1075 "value": { 1076 "fixedColor": "#f9d9f9", 1077 "mode": "fixed" 1078 } 1079 } 1080 ] 1081 }, 1082 { 1083 "matcher": { 1084 "id": "byName", 1085 "options": "transmited" 1086 }, 1087 "properties": [ 1088 { 1089 "id": "color", 1090 "value": { 1091 "fixedColor": "#f29191", 1092 "mode": "fixed" 1093 } 1094 } 1095 ] 1096 } 1097 ] 1098 }, 1099 "gridPos": { 1100 "h": 6, 1101 "w": 12, 1102 "x": 0, 1103 "y": 26 1104 }, 1105 "id": 105, 1106 "options": { 1107 "legend": { 1108 "calcs": [], 1109 "displayMode": "list", 1110 "placement": "bottom", 1111 "showLegend": true 1112 }, 1113 "tooltip": { 1114 "hideZeros": false, 1115 "mode": "multi", 1116 "sort": "none" 1117 } 1118 }, 1119 "pluginVersion": "11.6.0", 1120 "targets": [ 1121 { 1122 "datasource": { 1123 "type": "prometheus", 1124 "uid": "prometheus" 1125 }, 1126 "expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$target-primary.*\"}[1m])) ", 1127 "format": "time_series", 1128 "intervalFactor": 1, 1129 "legendFormat": "received", 1130 "refId": "A" 1131 }, 1132 { 1133 "datasource": { 1134 "type": "prometheus", 1135 "uid": "prometheus" 1136 }, 1137 "expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$target-primary.*\"}[1m]))", 1138 "format": "time_series", 1139 "intervalFactor": 1, 1140 "legendFormat": "transmited", 1141 "refId": "B" 1142 } 1143 ], 1144 "title": "Primary: Network I/O", 1145 "type": "timeseries" 1146 }, 1147 { 1148 "datasource": { 1149 "type": "prometheus", 1150 "uid": "prometheus" 1151 }, 1152 "fieldConfig": { 1153 "defaults": { 1154 "color": { 1155 "mode": "palette-classic" 1156 }, 1157 "custom": { 1158 "axisBorderShow": false, 1159 "axisCenteredZero": false, 1160 "axisColorMode": "text", 1161 "axisLabel": "", 1162 "axisPlacement": "auto", 1163 "barAlignment": 0, 1164 "barWidthFactor": 0.6, 1165 "drawStyle": "line", 1166 "fillOpacity": 10, 1167 "gradientMode": "none", 1168 "hideFrom": { 1169 "legend": false, 1170 "tooltip": false, 1171 "viz": false 1172 }, 1173 "insertNulls": false, 1174 "lineInterpolation": "linear", 1175 "lineWidth": 1, 1176 "pointSize": 5, 1177 "scaleDistribution": { 1178 "type": "linear" 1179 }, 1180 "showPoints": "never", 1181 "spanNulls": false, 1182 "stacking": { 1183 "group": "A", 1184 "mode": "none" 1185 }, 1186 "thresholdsStyle": { 1187 "mode": "off" 1188 } 1189 }, 1190 "mappings": [], 1191 "thresholds": { 1192 "mode": "absolute", 1193 "steps": [ 1194 { 1195 "color": "green" 1196 }, 1197 { 1198 "color": "red", 1199 "value": 80 1200 } 1201 ] 1202 }, 1203 "unit": "Bps" 1204 }, 1205 "overrides": [ 1206 { 1207 "matcher": { 1208 "id": "byName", 1209 "options": "received" 1210 }, 1211 "properties": [ 1212 { 1213 "id": "color", 1214 "value": { 1215 "fixedColor": "#f9d9f9", 1216 "mode": "fixed" 1217 } 1218 } 1219 ] 1220 }, 1221 { 1222 "matcher": { 1223 "id": "byName", 1224 "options": "transmited" 1225 }, 1226 "properties": [ 1227 { 1228 "id": "color", 1229 "value": { 1230 "fixedColor": "#f29191", 1231 "mode": "fixed" 1232 } 1233 } 1234 ] 1235 } 1236 ] 1237 }, 1238 "gridPos": { 1239 "h": 6, 1240 "w": 12, 1241 "x": 12, 1242 "y": 26 1243 }, 1244 "id": 106, 1245 "options": { 1246 "legend": { 1247 "calcs": [], 1248 "displayMode": "list", 1249 "placement": "bottom", 1250 "showLegend": true 1251 }, 1252 "tooltip": { 1253 "hideZeros": false, 1254 "mode": "multi", 1255 "sort": "none" 1256 } 1257 }, 1258 "pluginVersion": "11.6.0", 1259 "targets": [ 1260 { 1261 "datasource": { 1262 "type": "prometheus", 1263 "uid": "prometheus" 1264 }, 1265 "expr": "sum(rate (container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$target.*\",pod!~\"$target-primary.*\"}[1m])) ", 1266 "format": "time_series", 1267 "intervalFactor": 1, 1268 "legendFormat": "received", 1269 "refId": "A" 1270 }, 1271 { 1272 "datasource": { 1273 "type": "prometheus", 1274 "uid": "prometheus" 1275 }, 1276 "expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$target.*\",pod!~\"$target-primary.*\"}[1m]))", 1277 "format": "time_series", 1278 "intervalFactor": 1, 1279 "legendFormat": "transmited", 1280 "refId": "B" 1281 } 1282 ], 1283 "title": "Canary: Network I/O", 1284 "type": "timeseries" 1285 } 1286 ], 1287 "preload": false, 1288 "refresh": "10s", 1289 "schemaVersion": 41, 1290 "tags": [], 1291 "templating": { 1292 "list": [ 1293 { 1294 "datasource": "prometheus", 1295 "definition": "query_result(envoy_cluster_upstream_rq)", 1296 "includeAll": false, 1297 "label": "Namespace", 1298 "name": "namespace", 1299 "options": [], 1300 "query": { 1301 "qryType": 3, 1302 "query": "query_result(envoy_cluster_upstream_rq)", 1303 "refId": "PrometheusVariableQueryEditor-VariableQuery" 1304 }, 1305 "refresh": 2, 1306 "regex": "/.*envoy_cluster_name=\"httproute\\/(.*)\\/.*\\/rule\\/[0-9]*\".*/", 1307 "sort": 1, 1308 "type": "query" 1309 }, 1310 { 1311 "datasource": "prometheus", 1312 "definition": "query_result(sum(envoy_cluster_upstream_rq{envoy_cluster_name=~\"httproute/$namespace/.*\"}) by (envoy_cluster_name))", 1313 "includeAll": false, 1314 "label": "Target", 1315 "name": "target", 1316 "options": [], 1317 "query": { 1318 "qryType": 3, 1319 "query": "query_result(sum(envoy_cluster_upstream_rq{envoy_cluster_name=~\"httproute/$namespace/.*\"}) by (envoy_cluster_name))", 1320 "refId": "PrometheusVariableQueryEditor-VariableQuery" 1321 }, 1322 "refresh": 2, 1323 "regex": "/.*envoy_cluster_name=\"httproute\\/.*\\/(.*)\\/rule\\/.*\"/", 1324 "sort": 1, 1325 "type": "query" 1326 } 1327 ] 1328 }, 1329 "time": { 1330 "from": "now-5m", 1331 "to": "now" 1332 }, 1333 "timepicker": {}, 1334 "timezone": "", 1335 "title": "Envoy Canary", 1336 "uid": "flagger-envoy", 1337 "version": 1 1338 }