istio.io/istio@v0.0.0-20240520182934-d79c90f27776/manifests/addons/dashboards/istio-mesh-dashboard.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 "type": "dashboard" 15 } 16 ] 17 }, 18 "editable": true, 19 "fiscalYearStartMonth": 0, 20 "graphTooltip": 0, 21 "links": [], 22 "liveNow": false, 23 "panels": [ 24 { 25 "datasource": { 26 "type": "prometheus", 27 "uid": "${datasource}" 28 }, 29 "gridPos": { 30 "h": 3, 31 "w": 24, 32 "x": 0, 33 "y": 0 34 }, 35 "height": "50px", 36 "id": 13, 37 "links": [], 38 "options": { 39 "code": { 40 "language": "plaintext", 41 "showLineNumbers": false, 42 "showMiniMap": false 43 }, 44 "content": "<div>\n <div style=\"position: absolute; bottom: 0\">\n <a href=\"https://istio.io\" target=\"_blank\" style=\"font-size: 30px; text-decoration: none; color: inherit\"><img src=\"https://raw.githubusercontent.com/cncf/artwork/master/projects/istio/icon/color/istio-icon-color.svg\" style=\"height: 50px\"> Istio</a>\n </div>\n <div style=\"position: absolute; bottom: 0; right: 0; font-size: 15px\">\n Istio is an <a href=\"https://github.com/istio/istio\" target=\"_blank\">open platform</a> that provides a uniform way to <a href=\"https://istio.io/docs/concepts/security/\" target=\"_blank\">secure</a>,\n <a href=\"https://istio.io/docs/concepts/traffic-management/\" target=\"_blank\">connect</a>, and \n <a href=\"https://istio.io/docs/concepts/observability/\" target=\"_blank\">monitor</a> microservices.\n <br>\n Need help? <a href=\"https://istio.io/get-involved/\" target=\"_blank\">Join the Istio community</a>.\n </div>\n</div>", 45 "mode": "html" 46 }, 47 "pluginVersion": "10.1.5", 48 "style": { 49 "font-size": "18pt" 50 }, 51 "targets": [ 52 { 53 "datasource": { 54 "type": "prometheus", 55 "uid": "${datasource}" 56 }, 57 "refId": "A" 58 } 59 ], 60 "transparent": true, 61 "type": "text" 62 }, 63 { 64 "datasource": { 65 "type": "prometheus", 66 "uid": "${datasource}" 67 }, 68 "fieldConfig": { 69 "defaults": { 70 "color": { 71 "fixedColor": "rgb(31, 120, 193)", 72 "mode": "fixed" 73 }, 74 "mappings": [ 75 { 76 "options": { 77 "match": "null", 78 "result": { 79 "text": "N/A" 80 } 81 }, 82 "type": "special" 83 } 84 ], 85 "thresholds": { 86 "mode": "absolute", 87 "steps": [ 88 { 89 "color": "green", 90 "value": null 91 }, 92 { 93 "color": "red", 94 "value": 80 95 } 96 ] 97 }, 98 "unit": "ops" 99 }, 100 "overrides": [] 101 }, 102 "gridPos": { 103 "h": 3, 104 "w": 6, 105 "x": 0, 106 "y": 3 107 }, 108 "id": 20, 109 "links": [], 110 "maxDataPoints": 100, 111 "options": { 112 "colorMode": "none", 113 "graphMode": "area", 114 "justifyMode": "auto", 115 "orientation": "horizontal", 116 "reduceOptions": { 117 "calcs": [ 118 "mean" 119 ], 120 "fields": "", 121 "values": false 122 }, 123 "textMode": "auto" 124 }, 125 "pluginVersion": "10.1.5", 126 "targets": [ 127 { 128 "datasource": { 129 "type": "prometheus", 130 "uid": "${datasource}" 131 }, 132 "expr": "round(sum(irate(istio_requests_total{reporter=\"source\"}[1m])), 0.001)", 133 "intervalFactor": 1, 134 "refId": "A", 135 "step": 4 136 } 137 ], 138 "title": "Global Request Volume", 139 "type": "stat" 140 }, 141 { 142 "datasource": { 143 "type": "prometheus", 144 "uid": "${datasource}" 145 }, 146 "fieldConfig": { 147 "defaults": { 148 "color": { 149 "fixedColor": "rgb(31, 120, 193)", 150 "mode": "fixed" 151 }, 152 "mappings": [ 153 { 154 "options": { 155 "match": "null", 156 "result": { 157 "text": "N/A" 158 } 159 }, 160 "type": "special" 161 } 162 ], 163 "thresholds": { 164 "mode": "absolute", 165 "steps": [ 166 { 167 "color": "rgba(245, 54, 54, 0.9)", 168 "value": null 169 }, 170 { 171 "color": "rgba(237, 129, 40, 0.89)", 172 "value": 95 173 }, 174 { 175 "color": "rgba(50, 172, 45, 0.97)", 176 "value": 99 177 } 178 ] 179 }, 180 "unit": "percentunit" 181 }, 182 "overrides": [] 183 }, 184 "gridPos": { 185 "h": 3, 186 "w": 6, 187 "x": 6, 188 "y": 3 189 }, 190 "id": 21, 191 "links": [], 192 "maxDataPoints": 100, 193 "options": { 194 "colorMode": "none", 195 "graphMode": "area", 196 "justifyMode": "auto", 197 "orientation": "horizontal", 198 "reduceOptions": { 199 "calcs": [ 200 "mean" 201 ], 202 "fields": "", 203 "values": false 204 }, 205 "textMode": "auto" 206 }, 207 "pluginVersion": "10.1.5", 208 "targets": [ 209 { 210 "datasource": { 211 "type": "prometheus", 212 "uid": "${datasource}" 213 }, 214 "expr": "sum(rate(istio_requests_total{reporter=\"source\", response_code!~\"5.*\"}[1m])) / sum(rate(istio_requests_total{reporter=\"source\"}[1m]))", 215 "format": "time_series", 216 "intervalFactor": 1, 217 "refId": "A", 218 "step": 4 219 } 220 ], 221 "title": "Global Success Rate (non-5xx responses)", 222 "type": "stat" 223 }, 224 { 225 "datasource": { 226 "type": "prometheus", 227 "uid": "${datasource}" 228 }, 229 "fieldConfig": { 230 "defaults": { 231 "color": { 232 "fixedColor": "rgb(31, 120, 193)", 233 "mode": "fixed" 234 }, 235 "mappings": [ 236 { 237 "options": { 238 "match": "null", 239 "result": { 240 "text": "N/A" 241 } 242 }, 243 "type": "special" 244 } 245 ], 246 "thresholds": { 247 "mode": "absolute", 248 "steps": [ 249 { 250 "color": "green", 251 "value": null 252 }, 253 { 254 "color": "red", 255 "value": 80 256 } 257 ] 258 }, 259 "unit": "ops" 260 }, 261 "overrides": [] 262 }, 263 "gridPos": { 264 "h": 3, 265 "w": 6, 266 "x": 12, 267 "y": 3 268 }, 269 "id": 22, 270 "links": [], 271 "maxDataPoints": 100, 272 "options": { 273 "colorMode": "none", 274 "graphMode": "area", 275 "justifyMode": "auto", 276 "orientation": "horizontal", 277 "reduceOptions": { 278 "calcs": [ 279 "mean" 280 ], 281 "fields": "", 282 "values": false 283 }, 284 "textMode": "auto" 285 }, 286 "pluginVersion": "10.1.5", 287 "targets": [ 288 { 289 "datasource": { 290 "type": "prometheus", 291 "uid": "${datasource}" 292 }, 293 "expr": "sum(irate(istio_requests_total{reporter=\"source\", response_code=~\"4.*\"}[1m]))", 294 "format": "time_series", 295 "intervalFactor": 1, 296 "refId": "A", 297 "step": 4 298 } 299 ], 300 "title": "4xxs", 301 "type": "stat" 302 }, 303 { 304 "datasource": { 305 "type": "prometheus", 306 "uid": "${datasource}" 307 }, 308 "fieldConfig": { 309 "defaults": { 310 "color": { 311 "fixedColor": "rgb(31, 120, 193)", 312 "mode": "fixed" 313 }, 314 "mappings": [ 315 { 316 "options": { 317 "match": "null", 318 "result": { 319 "text": "N/A" 320 } 321 }, 322 "type": "special" 323 } 324 ], 325 "thresholds": { 326 "mode": "absolute", 327 "steps": [ 328 { 329 "color": "green", 330 "value": null 331 }, 332 { 333 "color": "red", 334 "value": 80 335 } 336 ] 337 }, 338 "unit": "ops" 339 }, 340 "overrides": [] 341 }, 342 "gridPos": { 343 "h": 3, 344 "w": 6, 345 "x": 18, 346 "y": 3 347 }, 348 "id": 23, 349 "links": [], 350 "maxDataPoints": 100, 351 "options": { 352 "colorMode": "none", 353 "graphMode": "area", 354 "justifyMode": "auto", 355 "orientation": "horizontal", 356 "reduceOptions": { 357 "calcs": [ 358 "mean" 359 ], 360 "fields": "", 361 "values": false 362 }, 363 "textMode": "auto" 364 }, 365 "pluginVersion": "10.1.5", 366 "targets": [ 367 { 368 "datasource": { 369 "type": "prometheus", 370 "uid": "${datasource}" 371 }, 372 "expr": "sum(irate(istio_requests_total{reporter=\"source\", response_code=~\"5.*\"}[1m]))", 373 "format": "time_series", 374 "intervalFactor": 1, 375 "refId": "A", 376 "step": 4 377 } 378 ], 379 "title": "5xxs", 380 "type": "stat" 381 }, 382 { 383 "datasource": { 384 "type": "prometheus", 385 "uid": "${datasource}" 386 }, 387 "fieldConfig": { 388 "defaults": { 389 "color": { 390 "fixedColor": "rgb(31, 120, 193)", 391 "mode": "fixed" 392 }, 393 "mappings": [ 394 { 395 "options": { 396 "match": "null", 397 "result": { 398 "text": "N/A" 399 } 400 }, 401 "type": "special" 402 } 403 ], 404 "thresholds": { 405 "mode": "absolute", 406 "steps": [ 407 { 408 "color": "green", 409 "value": null 410 }, 411 { 412 "color": "red", 413 "value": 80 414 } 415 ] 416 }, 417 "unit": "none" 418 }, 419 "overrides": [] 420 }, 421 "gridPos": { 422 "h": 3, 423 "w": 6, 424 "x": 0, 425 "y": 6 426 }, 427 "id": 113, 428 "links": [], 429 "maxDataPoints": 100, 430 "options": { 431 "colorMode": "none", 432 "graphMode": "area", 433 "justifyMode": "auto", 434 "orientation": "horizontal", 435 "reduceOptions": { 436 "calcs": [ 437 "lastNotNull" 438 ], 439 "fields": "", 440 "values": false 441 }, 442 "textMode": "auto" 443 }, 444 "pluginVersion": "10.1.5", 445 "targets": [ 446 { 447 "datasource": { 448 "type": "prometheus", 449 "uid": "${datasource}" 450 }, 451 "expr": "max(pilot_k8s_cfg_events{type=\"VirtualService\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"VirtualService\", event=\"delete\"}) or max(up * 0))", 452 "format": "time_series", 453 "intervalFactor": 1, 454 "refId": "A" 455 } 456 ], 457 "title": "Virtual Services", 458 "type": "stat" 459 }, 460 { 461 "datasource": { 462 "type": "prometheus", 463 "uid": "${datasource}" 464 }, 465 "fieldConfig": { 466 "defaults": { 467 "color": { 468 "fixedColor": "rgb(31, 120, 193)", 469 "mode": "fixed" 470 }, 471 "mappings": [ 472 { 473 "options": { 474 "match": "null", 475 "result": { 476 "text": "N/A" 477 } 478 }, 479 "type": "special" 480 } 481 ], 482 "thresholds": { 483 "mode": "absolute", 484 "steps": [ 485 { 486 "color": "green", 487 "value": null 488 }, 489 { 490 "color": "red", 491 "value": 80 492 } 493 ] 494 }, 495 "unit": "none" 496 }, 497 "overrides": [] 498 }, 499 "gridPos": { 500 "h": 3, 501 "w": 6, 502 "x": 6, 503 "y": 6 504 }, 505 "id": 114, 506 "links": [], 507 "maxDataPoints": 100, 508 "options": { 509 "colorMode": "none", 510 "graphMode": "area", 511 "justifyMode": "auto", 512 "orientation": "horizontal", 513 "reduceOptions": { 514 "calcs": [ 515 "lastNotNull" 516 ], 517 "fields": "", 518 "values": false 519 }, 520 "textMode": "auto" 521 }, 522 "pluginVersion": "10.1.5", 523 "targets": [ 524 { 525 "datasource": { 526 "type": "prometheus", 527 "uid": "${datasource}" 528 }, 529 "expr": "max(pilot_k8s_cfg_events{type=\"DestinationRule\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"DestinationRule\", event=\"delete\"}) or max(up * 0))", 530 "format": "time_series", 531 "intervalFactor": 1, 532 "refId": "A" 533 } 534 ], 535 "title": "Destination Rules", 536 "type": "stat" 537 }, 538 { 539 "datasource": { 540 "type": "prometheus", 541 "uid": "${datasource}" 542 }, 543 "fieldConfig": { 544 "defaults": { 545 "color": { 546 "fixedColor": "rgb(31, 120, 193)", 547 "mode": "fixed" 548 }, 549 "mappings": [ 550 { 551 "options": { 552 "match": "null", 553 "result": { 554 "text": "N/A" 555 } 556 }, 557 "type": "special" 558 } 559 ], 560 "thresholds": { 561 "mode": "absolute", 562 "steps": [ 563 { 564 "color": "green", 565 "value": null 566 }, 567 { 568 "color": "red", 569 "value": 80 570 } 571 ] 572 }, 573 "unit": "none" 574 }, 575 "overrides": [] 576 }, 577 "gridPos": { 578 "h": 3, 579 "w": 6, 580 "x": 12, 581 "y": 6 582 }, 583 "id": 115, 584 "links": [], 585 "maxDataPoints": 100, 586 "options": { 587 "colorMode": "none", 588 "graphMode": "area", 589 "justifyMode": "auto", 590 "orientation": "horizontal", 591 "reduceOptions": { 592 "calcs": [ 593 "lastNotNull" 594 ], 595 "fields": "", 596 "values": false 597 }, 598 "textMode": "auto" 599 }, 600 "pluginVersion": "10.1.5", 601 "targets": [ 602 { 603 "datasource": { 604 "type": "prometheus", 605 "uid": "${datasource}" 606 }, 607 "expr": "max(pilot_k8s_cfg_events{type=\"Gateway\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"Gateway\", event=\"delete\"}) or max(up * 0))", 608 "format": "time_series", 609 "intervalFactor": 1, 610 "refId": "A" 611 } 612 ], 613 "title": "Gateways", 614 "type": "stat" 615 }, 616 { 617 "datasource": { 618 "type": "prometheus", 619 "uid": "${datasource}" 620 }, 621 "fieldConfig": { 622 "defaults": { 623 "color": { 624 "fixedColor": "rgb(31, 120, 193)", 625 "mode": "fixed" 626 }, 627 "mappings": [ 628 { 629 "options": { 630 "match": "null", 631 "result": { 632 "text": "N/A" 633 } 634 }, 635 "type": "special" 636 } 637 ], 638 "thresholds": { 639 "mode": "absolute", 640 "steps": [ 641 { 642 "color": "green", 643 "value": null 644 }, 645 { 646 "color": "red", 647 "value": 80 648 } 649 ] 650 }, 651 "unit": "none" 652 }, 653 "overrides": [] 654 }, 655 "gridPos": { 656 "h": 3, 657 "w": 6, 658 "x": 18, 659 "y": 6 660 }, 661 "id": 116, 662 "links": [], 663 "maxDataPoints": 100, 664 "options": { 665 "colorMode": "none", 666 "graphMode": "area", 667 "justifyMode": "auto", 668 "orientation": "horizontal", 669 "reduceOptions": { 670 "calcs": [ 671 "lastNotNull" 672 ], 673 "fields": "", 674 "values": false 675 }, 676 "textMode": "auto" 677 }, 678 "pluginVersion": "10.1.5", 679 "targets": [ 680 { 681 "datasource": { 682 "type": "prometheus", 683 "uid": "${datasource}" 684 }, 685 "expr": "max(pilot_k8s_cfg_events{type=\"WorkloadEntry\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"WorkloadEntry\", event=\"delete\"}) or max(up * 0))", 686 "format": "time_series", 687 "intervalFactor": 1, 688 "refId": "A" 689 } 690 ], 691 "title": "Workload Entries", 692 "type": "stat" 693 }, 694 { 695 "datasource": { 696 "type": "prometheus", 697 "uid": "${datasource}" 698 }, 699 "fieldConfig": { 700 "defaults": { 701 "color": { 702 "fixedColor": "rgb(31, 120, 193)", 703 "mode": "fixed" 704 }, 705 "mappings": [ 706 { 707 "options": { 708 "match": "null", 709 "result": { 710 "text": "N/A" 711 } 712 }, 713 "type": "special" 714 } 715 ], 716 "thresholds": { 717 "mode": "absolute", 718 "steps": [ 719 { 720 "color": "green", 721 "value": null 722 }, 723 { 724 "color": "red", 725 "value": 80 726 } 727 ] 728 }, 729 "unit": "none" 730 }, 731 "overrides": [] 732 }, 733 "gridPos": { 734 "h": 3, 735 "w": 6, 736 "x": 0, 737 "y": 9 738 }, 739 "id": 117, 740 "links": [], 741 "maxDataPoints": 100, 742 "options": { 743 "colorMode": "none", 744 "graphMode": "area", 745 "justifyMode": "auto", 746 "orientation": "horizontal", 747 "reduceOptions": { 748 "calcs": [ 749 "lastNotNull" 750 ], 751 "fields": "", 752 "values": false 753 }, 754 "textMode": "auto" 755 }, 756 "pluginVersion": "10.1.5", 757 "targets": [ 758 { 759 "datasource": { 760 "type": "prometheus", 761 "uid": "${datasource}" 762 }, 763 "expr": "max(pilot_k8s_cfg_events{type=\"ServiceEntry\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"ServiceEntry\", event=\"delete\"}) or max(up * 0))", 764 "format": "time_series", 765 "intervalFactor": 1, 766 "refId": "A" 767 } 768 ], 769 "title": "Service Entries", 770 "type": "stat" 771 }, 772 { 773 "datasource": { 774 "type": "prometheus", 775 "uid": "${datasource}" 776 }, 777 "fieldConfig": { 778 "defaults": { 779 "color": { 780 "fixedColor": "rgb(31, 120, 193)", 781 "mode": "fixed" 782 }, 783 "mappings": [ 784 { 785 "options": { 786 "match": "null", 787 "result": { 788 "text": "N/A" 789 } 790 }, 791 "type": "special" 792 } 793 ], 794 "thresholds": { 795 "mode": "absolute", 796 "steps": [ 797 { 798 "color": "green", 799 "value": null 800 }, 801 { 802 "color": "red", 803 "value": 80 804 } 805 ] 806 }, 807 "unit": "none" 808 }, 809 "overrides": [] 810 }, 811 "gridPos": { 812 "h": 3, 813 "w": 6, 814 "x": 6, 815 "y": 9 816 }, 817 "id": 90, 818 "links": [], 819 "maxDataPoints": 100, 820 "options": { 821 "colorMode": "none", 822 "graphMode": "area", 823 "justifyMode": "auto", 824 "orientation": "horizontal", 825 "reduceOptions": { 826 "calcs": [ 827 "lastNotNull" 828 ], 829 "fields": "", 830 "values": false 831 }, 832 "textMode": "auto" 833 }, 834 "pluginVersion": "10.1.5", 835 "targets": [ 836 { 837 "datasource": { 838 "type": "prometheus", 839 "uid": "${datasource}" 840 }, 841 "expr": "max(pilot_k8s_cfg_events{type=\"PeerAuthentication\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"PeerAuthentication\", event=\"delete\"}) or max(up * 0))", 842 "format": "time_series", 843 "intervalFactor": 1, 844 "refId": "A" 845 } 846 ], 847 "title": "PeerAuthentication Policies", 848 "type": "stat" 849 }, 850 { 851 "datasource": { 852 "type": "prometheus", 853 "uid": "${datasource}" 854 }, 855 "fieldConfig": { 856 "defaults": { 857 "color": { 858 "fixedColor": "rgb(31, 120, 193)", 859 "mode": "fixed" 860 }, 861 "mappings": [ 862 { 863 "options": { 864 "match": "null", 865 "result": { 866 "text": "N/A" 867 } 868 }, 869 "type": "special" 870 } 871 ], 872 "thresholds": { 873 "mode": "absolute", 874 "steps": [ 875 { 876 "color": "green", 877 "value": null 878 }, 879 { 880 "color": "red", 881 "value": 80 882 } 883 ] 884 }, 885 "unit": "none" 886 }, 887 "overrides": [] 888 }, 889 "gridPos": { 890 "h": 3, 891 "w": 6, 892 "x": 12, 893 "y": 9 894 }, 895 "id": 91, 896 "links": [], 897 "maxDataPoints": 100, 898 "options": { 899 "colorMode": "none", 900 "graphMode": "area", 901 "justifyMode": "auto", 902 "orientation": "horizontal", 903 "reduceOptions": { 904 "calcs": [ 905 "lastNotNull" 906 ], 907 "fields": "", 908 "values": false 909 }, 910 "textMode": "auto" 911 }, 912 "pluginVersion": "10.1.5", 913 "targets": [ 914 { 915 "datasource": { 916 "type": "prometheus", 917 "uid": "${datasource}" 918 }, 919 "expr": "max(pilot_k8s_cfg_events{type=\"RequestAuthentication\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"RequestAuthentication\", event=\"delete\"}) or max(up * 0))", 920 "format": "time_series", 921 "intervalFactor": 1, 922 "refId": "A" 923 } 924 ], 925 "title": "RequestAuthentication Policies", 926 "type": "stat" 927 }, 928 { 929 "datasource": { 930 "type": "prometheus", 931 "uid": "${datasource}" 932 }, 933 "fieldConfig": { 934 "defaults": { 935 "color": { 936 "fixedColor": "rgb(31, 120, 193)", 937 "mode": "fixed" 938 }, 939 "mappings": [ 940 { 941 "options": { 942 "match": "null", 943 "result": { 944 "text": "N/A" 945 } 946 }, 947 "type": "special" 948 } 949 ], 950 "thresholds": { 951 "mode": "absolute", 952 "steps": [ 953 { 954 "color": "green", 955 "value": null 956 }, 957 { 958 "color": "red", 959 "value": 80 960 } 961 ] 962 }, 963 "unit": "none" 964 }, 965 "overrides": [] 966 }, 967 "gridPos": { 968 "h": 3, 969 "w": 6, 970 "x": 18, 971 "y": 9 972 }, 973 "id": 92, 974 "links": [], 975 "maxDataPoints": 100, 976 "options": { 977 "colorMode": "none", 978 "graphMode": "area", 979 "justifyMode": "auto", 980 "orientation": "horizontal", 981 "reduceOptions": { 982 "calcs": [ 983 "lastNotNull" 984 ], 985 "fields": "", 986 "values": false 987 }, 988 "textMode": "auto" 989 }, 990 "pluginVersion": "10.1.5", 991 "targets": [ 992 { 993 "datasource": { 994 "type": "prometheus", 995 "uid": "${datasource}" 996 }, 997 "expr": "max(pilot_k8s_cfg_events{type=\"AuthorizationPolicy\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"AuthorizationPolicy\", event=\"delete\"}) or max(up * 0))", 998 "format": "time_series", 999 "intervalFactor": 1, 1000 "refId": "A" 1001 } 1002 ], 1003 "title": "Authorization Policies", 1004 "type": "stat" 1005 }, 1006 { 1007 "datasource": { 1008 "type": "prometheus", 1009 "uid": "${datasource}" 1010 }, 1011 "fieldConfig": { 1012 "defaults": { 1013 "color": { 1014 "mode": "thresholds" 1015 }, 1016 "custom": { 1017 "align": "auto", 1018 "cellOptions": { 1019 "type": "auto" 1020 }, 1021 "inspect": false 1022 }, 1023 "mappings": [], 1024 "thresholds": { 1025 "mode": "absolute", 1026 "steps": [ 1027 { 1028 "color": "red", 1029 "value": null 1030 }, 1031 { 1032 "color": "yellow", 1033 "value": 0.95 1034 }, 1035 { 1036 "color": "green", 1037 "value": 1 1038 } 1039 ] 1040 } 1041 }, 1042 "overrides": [ 1043 { 1044 "matcher": { 1045 "id": "byName", 1046 "options": "destination_workload" 1047 }, 1048 "properties": [ 1049 { 1050 "id": "displayName", 1051 "value": "Workload" 1052 }, 1053 { 1054 "id": "unit", 1055 "value": "short" 1056 }, 1057 { 1058 "id": "decimals", 1059 "value": 2 1060 }, 1061 { 1062 "id": "custom.align" 1063 }, 1064 { 1065 "id": "custom.hidden", 1066 "value": true 1067 } 1068 ] 1069 }, 1070 { 1071 "matcher": { 1072 "id": "byName", 1073 "options": "Time" 1074 }, 1075 "properties": [ 1076 { 1077 "id": "custom.hidden", 1078 "value": true 1079 } 1080 ] 1081 }, 1082 { 1083 "matcher": { 1084 "id": "byName", 1085 "options": "Value #A" 1086 }, 1087 "properties": [ 1088 { 1089 "id": "displayName", 1090 "value": "Requests" 1091 }, 1092 { 1093 "id": "unit", 1094 "value": "ops" 1095 }, 1096 { 1097 "id": "decimals", 1098 "value": 2 1099 }, 1100 { 1101 "id": "custom.align" 1102 } 1103 ] 1104 }, 1105 { 1106 "matcher": { 1107 "id": "byName", 1108 "options": "Value #B" 1109 }, 1110 "properties": [ 1111 { 1112 "id": "displayName", 1113 "value": "P50 Latency" 1114 }, 1115 { 1116 "id": "unit", 1117 "value": "s" 1118 }, 1119 { 1120 "id": "decimals", 1121 "value": 2 1122 }, 1123 { 1124 "id": "custom.align" 1125 } 1126 ] 1127 }, 1128 { 1129 "matcher": { 1130 "id": "byName", 1131 "options": "Value #C" 1132 }, 1133 "properties": [ 1134 { 1135 "id": "displayName", 1136 "value": "P90 Latency" 1137 }, 1138 { 1139 "id": "unit", 1140 "value": "s" 1141 }, 1142 { 1143 "id": "decimals", 1144 "value": 2 1145 }, 1146 { 1147 "id": "custom.align" 1148 } 1149 ] 1150 }, 1151 { 1152 "matcher": { 1153 "id": "byName", 1154 "options": "Value #D" 1155 }, 1156 "properties": [ 1157 { 1158 "id": "displayName", 1159 "value": "P99 Latency" 1160 }, 1161 { 1162 "id": "unit", 1163 "value": "s" 1164 }, 1165 { 1166 "id": "decimals", 1167 "value": 2 1168 }, 1169 { 1170 "id": "custom.align" 1171 } 1172 ] 1173 }, 1174 { 1175 "matcher": { 1176 "id": "byName", 1177 "options": "Value #E" 1178 }, 1179 "properties": [ 1180 { 1181 "id": "displayName", 1182 "value": "Success Rate" 1183 }, 1184 { 1185 "id": "unit", 1186 "value": "percentunit" 1187 }, 1188 { 1189 "id": "decimals", 1190 "value": 2 1191 }, 1192 { 1193 "id": "custom.cellOptions", 1194 "value": { 1195 "type": "color-background" 1196 } 1197 }, 1198 { 1199 "id": "custom.align" 1200 }, 1201 { 1202 "id": "thresholds", 1203 "value": { 1204 "mode": "absolute", 1205 "steps": [ 1206 { 1207 "color": "red", 1208 "value": null 1209 }, 1210 { 1211 "color": "yellow", 1212 "value": 0.95 1213 }, 1214 { 1215 "color": "green", 1216 "value": 1 1217 } 1218 ] 1219 } 1220 } 1221 ] 1222 }, 1223 { 1224 "matcher": { 1225 "id": "byName", 1226 "options": "destination_workload_var" 1227 }, 1228 "properties": [ 1229 { 1230 "id": "displayName", 1231 "value": "Workload" 1232 }, 1233 { 1234 "id": "unit", 1235 "value": "short" 1236 }, 1237 { 1238 "id": "decimals", 1239 "value": 2 1240 }, 1241 { 1242 "id": "links", 1243 "value": [ 1244 { 1245 "targetBlank": false, 1246 "title": "$__cell dashboard", 1247 "url": "/dashboard/db/istio-workload-dashboard?var-workload=${__cell_2:raw}&var-namespace=${__cell_3:raw}" 1248 } 1249 ] 1250 }, 1251 { 1252 "id": "custom.align" 1253 } 1254 ] 1255 }, 1256 { 1257 "matcher": { 1258 "id": "byName", 1259 "options": "destination_service" 1260 }, 1261 "properties": [ 1262 { 1263 "id": "displayName", 1264 "value": "Service" 1265 }, 1266 { 1267 "id": "unit", 1268 "value": "short" 1269 }, 1270 { 1271 "id": "decimals", 1272 "value": 2 1273 }, 1274 { 1275 "id": "links", 1276 "value": [ 1277 { 1278 "targetBlank": false, 1279 "title": "$__cell dashboard", 1280 "url": "/dashboard/db/istio-service-dashboard?var-service=${__cell_1:raw}" 1281 } 1282 ] 1283 }, 1284 { 1285 "id": "custom.align" 1286 }, 1287 { 1288 "id": "custom.minWidth", 1289 "value": 400 1290 } 1291 ] 1292 }, 1293 { 1294 "matcher": { 1295 "id": "byName", 1296 "options": "destination_workload_namespace" 1297 }, 1298 "properties": [ 1299 { 1300 "id": "unit", 1301 "value": "short" 1302 }, 1303 { 1304 "id": "decimals", 1305 "value": 2 1306 }, 1307 { 1308 "id": "custom.align" 1309 }, 1310 { 1311 "id": "custom.hidden", 1312 "value": true 1313 } 1314 ] 1315 } 1316 ] 1317 }, 1318 "gridPos": { 1319 "h": 21, 1320 "w": 24, 1321 "x": 0, 1322 "y": 12 1323 }, 1324 "hideTimeOverride": false, 1325 "id": 73, 1326 "links": [], 1327 "options": { 1328 "cellHeight": "sm", 1329 "footer": { 1330 "countRows": false, 1331 "fields": "", 1332 "reducer": [ 1333 "sum" 1334 ], 1335 "show": false 1336 }, 1337 "showHeader": true 1338 }, 1339 "pluginVersion": "10.1.5", 1340 "repeatDirection": "v", 1341 "targets": [ 1342 { 1343 "datasource": { 1344 "type": "prometheus", 1345 "uid": "${datasource}" 1346 }, 1347 "expr": "label_join(sum(rate(istio_requests_total{reporter=\"source\", response_code=\"200\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1348 "format": "table", 1349 "hide": false, 1350 "instant": true, 1351 "intervalFactor": 1, 1352 "legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}", 1353 "refId": "A" 1354 }, 1355 { 1356 "datasource": { 1357 "type": "prometheus", 1358 "uid": "${datasource}" 1359 }, 1360 "expr": "label_join((histogram_quantile(0.50, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1361 "format": "table", 1362 "hide": false, 1363 "instant": true, 1364 "intervalFactor": 1, 1365 "legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}", 1366 "refId": "B" 1367 }, 1368 { 1369 "datasource": { 1370 "type": "prometheus", 1371 "uid": "${datasource}" 1372 }, 1373 "expr": "label_join((histogram_quantile(0.90, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1374 "format": "table", 1375 "hide": false, 1376 "instant": true, 1377 "intervalFactor": 1, 1378 "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", 1379 "refId": "C" 1380 }, 1381 { 1382 "datasource": { 1383 "type": "prometheus", 1384 "uid": "${datasource}" 1385 }, 1386 "expr": "label_join((histogram_quantile(0.99, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1387 "format": "table", 1388 "hide": false, 1389 "instant": true, 1390 "intervalFactor": 1, 1391 "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", 1392 "refId": "D" 1393 }, 1394 { 1395 "datasource": { 1396 "type": "prometheus", 1397 "uid": "${datasource}" 1398 }, 1399 "expr": "label_join((sum(rate(istio_requests_total{reporter=\"source\", response_code!~\"5.*\"}[1m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1400 "format": "table", 1401 "hide": false, 1402 "instant": true, 1403 "interval": "", 1404 "intervalFactor": 1, 1405 "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", 1406 "refId": "E" 1407 } 1408 ], 1409 "title": "HTTP/GRPC Workloads", 1410 "transformations": [ 1411 { 1412 "id": "merge", 1413 "options": { 1414 "reducers": [] 1415 } 1416 } 1417 ], 1418 "type": "table" 1419 }, 1420 { 1421 "datasource": { 1422 "uid": "${datasource}", 1423 "type": "prometheus" 1424 }, 1425 "gridPos": { 1426 "h": 18, 1427 "w": 24, 1428 "x": 0, 1429 "y": 33 1430 }, 1431 "id": 109, 1432 "links": [], 1433 "repeatDirection": "v", 1434 "targets": [ 1435 { 1436 "expr": "label_join(sum(rate(istio_tcp_received_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1437 "format": "table", 1438 "hide": false, 1439 "instant": true, 1440 "intervalFactor": 1, 1441 "legendFormat": "{{ destination_workload }}", 1442 "refId": "A", 1443 "datasource": { 1444 "uid": "${datasource}", 1445 "type": "prometheus" 1446 } 1447 }, 1448 { 1449 "expr": "label_join(sum(rate(istio_tcp_sent_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", 1450 "format": "table", 1451 "hide": false, 1452 "instant": true, 1453 "intervalFactor": 1, 1454 "legendFormat": "{{ destination_workload }}", 1455 "refId": "B", 1456 "datasource": { 1457 "uid": "${datasource}", 1458 "type": "prometheus" 1459 } 1460 } 1461 ], 1462 "title": "TCP Workloads", 1463 "type": "table", 1464 "options": { 1465 "showHeader": true, 1466 "cellHeight": "sm", 1467 "footer": { 1468 "show": false, 1469 "reducer": [ 1470 "sum" 1471 ], 1472 "countRows": false, 1473 "fields": "" 1474 } 1475 }, 1476 "fieldConfig": { 1477 "defaults": { 1478 "custom": { 1479 "align": "auto", 1480 "cellOptions": { 1481 "type": "auto" 1482 }, 1483 "inspect": false 1484 }, 1485 "mappings": [], 1486 "thresholds": { 1487 "mode": "absolute", 1488 "steps": [ 1489 { 1490 "value": null, 1491 "color": "green" 1492 }, 1493 { 1494 "value": 80, 1495 "color": "red" 1496 } 1497 ] 1498 }, 1499 "color": { 1500 "mode": "thresholds" 1501 } 1502 }, 1503 "overrides": [ 1504 { 1505 "matcher": { 1506 "id": "byName", 1507 "options": "destination_workload" 1508 }, 1509 "properties": [ 1510 { 1511 "id": "displayName", 1512 "value": "Workload" 1513 }, 1514 { 1515 "id": "unit", 1516 "value": "short" 1517 }, 1518 { 1519 "id": "decimals", 1520 "value": 2 1521 }, 1522 { 1523 "id": "custom.align", 1524 "value": null 1525 }, 1526 { 1527 "id": "custom.hidden", 1528 "value": true 1529 } 1530 ] 1531 }, 1532 { 1533 "matcher": { 1534 "id": "byName", 1535 "options": "Value #A" 1536 }, 1537 "properties": [ 1538 { 1539 "id": "displayName", 1540 "value": "Bytes Sent" 1541 }, 1542 { 1543 "id": "unit", 1544 "value": "Bps" 1545 }, 1546 { 1547 "id": "decimals", 1548 "value": 2 1549 }, 1550 { 1551 "id": "custom.align", 1552 "value": null 1553 }, 1554 { 1555 "id": "thresholds", 1556 "value": { 1557 "mode": "absolute", 1558 "steps": [ 1559 { 1560 "color": "rgba(245, 54, 54, 0.9)", 1561 "value": null 1562 }, 1563 { 1564 "color": "rgba(237, 129, 40, 0.89)", 1565 "value": null 1566 } 1567 ] 1568 } 1569 } 1570 ] 1571 }, 1572 { 1573 "matcher": { 1574 "id": "byName", 1575 "options": "Value #B" 1576 }, 1577 "properties": [ 1578 { 1579 "id": "displayName", 1580 "value": "Bytes Received" 1581 }, 1582 { 1583 "id": "unit", 1584 "value": "Bps" 1585 }, 1586 { 1587 "id": "decimals", 1588 "value": 2 1589 }, 1590 { 1591 "id": "custom.align", 1592 "value": null 1593 } 1594 ] 1595 }, 1596 { 1597 "matcher": { 1598 "id": "byName", 1599 "options": "Time" 1600 }, 1601 "properties": [ 1602 { 1603 "id": "unit", 1604 "value": "short" 1605 }, 1606 { 1607 "id": "decimals", 1608 "value": 2 1609 }, 1610 { 1611 "id": "custom.align", 1612 "value": null 1613 }, 1614 { 1615 "id": "custom.hidden", 1616 "value": true 1617 } 1618 ] 1619 }, 1620 { 1621 "matcher": { 1622 "id": "byName", 1623 "options": "destination_workload_var" 1624 }, 1625 "properties": [ 1626 { 1627 "id": "displayName", 1628 "value": "Workload" 1629 }, 1630 { 1631 "id": "unit", 1632 "value": "short" 1633 }, 1634 { 1635 "id": "decimals", 1636 "value": 2 1637 }, 1638 { 1639 "id": "links", 1640 "value": [ 1641 { 1642 "title": "$__cell dashboard", 1643 "url": "/dashboard/db/istio-workload-dashboard?var-namespace=${__cell_3:raw}&var-workload=${__cell_2:raw}", 1644 "targetBlank": false 1645 } 1646 ] 1647 }, 1648 { 1649 "id": "custom.align", 1650 "value": null 1651 } 1652 ] 1653 }, 1654 { 1655 "matcher": { 1656 "id": "byName", 1657 "options": "destination_workload_namespace" 1658 }, 1659 "properties": [ 1660 { 1661 "id": "unit", 1662 "value": "short" 1663 }, 1664 { 1665 "id": "decimals", 1666 "value": 2 1667 }, 1668 { 1669 "id": "custom.align", 1670 "value": null 1671 }, 1672 { 1673 "id": "custom.hidden", 1674 "value": true 1675 } 1676 ] 1677 }, 1678 { 1679 "matcher": { 1680 "id": "byName", 1681 "options": "destination_service" 1682 }, 1683 "properties": [ 1684 { 1685 "id": "displayName", 1686 "value": "Service" 1687 }, 1688 { 1689 "id": "unit", 1690 "value": "short" 1691 }, 1692 { 1693 "id": "decimals", 1694 "value": 2 1695 }, 1696 { 1697 "id": "links", 1698 "value": [ 1699 { 1700 "title": "$__cell dashboard", 1701 "url": "/dashboard/db/istio-service-dashboard?var-service=${__cell_1:raw}", 1702 "targetBlank": false 1703 } 1704 ] 1705 }, 1706 { 1707 "id": "custom.align", 1708 "value": null 1709 } 1710 ] 1711 } 1712 ] 1713 }, 1714 "hideTimeOverride": false, 1715 "timeFrom": null, 1716 "transformations": [ 1717 { 1718 "id": "merge", 1719 "options": { 1720 "reducers": [] 1721 } 1722 } 1723 ], 1724 "pluginVersion": "10.1.5" 1725 }, 1726 { 1727 "aliasColors": {}, 1728 "bars": false, 1729 "dashLength": 10, 1730 "dashes": false, 1731 "datasource": { 1732 "type": "prometheus", 1733 "uid": "${datasource}" 1734 }, 1735 "fill": 1, 1736 "gridPos": { 1737 "h": 9, 1738 "w": 24, 1739 "x": 0, 1740 "y": 51 1741 }, 1742 "id": 111, 1743 "legend": { 1744 "alignAsTable": false, 1745 "avg": false, 1746 "current": false, 1747 "max": false, 1748 "min": false, 1749 "rightSide": false, 1750 "show": true, 1751 "total": false, 1752 "values": false 1753 }, 1754 "lines": true, 1755 "linewidth": 1, 1756 "links": [], 1757 "nullPointMode": "null", 1758 "percentage": false, 1759 "pointradius": 5, 1760 "points": false, 1761 "renderer": "flot", 1762 "seriesOverrides": [], 1763 "spaceLength": 10, 1764 "stack": false, 1765 "steppedLine": false, 1766 "targets": [ 1767 { 1768 "datasource": { 1769 "type": "prometheus", 1770 "uid": "${datasource}" 1771 }, 1772 "expr": "sum(istio_build) by (component, tag)", 1773 "format": "time_series", 1774 "intervalFactor": 1, 1775 "legendFormat": "{{ component }}: {{ tag }}", 1776 "refId": "A" 1777 } 1778 ], 1779 "thresholds": [], 1780 "timeRegions": [], 1781 "title": "Istio Components by Version", 1782 "tooltip": { 1783 "shared": true, 1784 "sort": 0, 1785 "value_type": "individual" 1786 }, 1787 "type": "graph", 1788 "xaxis": { 1789 "mode": "time", 1790 "show": true, 1791 "values": [] 1792 }, 1793 "yaxes": [ 1794 { 1795 "format": "short", 1796 "logBase": 1, 1797 "show": true 1798 }, 1799 { 1800 "format": "short", 1801 "logBase": 1, 1802 "show": false 1803 } 1804 ], 1805 "yaxis": { 1806 "align": false 1807 } 1808 } 1809 ], 1810 "schemaVersion": 38, 1811 "style": "dark", 1812 "tags": [], 1813 "templating": { 1814 "list": [ 1815 { 1816 "hide": 0, 1817 "includeAll": false, 1818 "multi": false, 1819 "name": "datasource", 1820 "options": [], 1821 "query": "prometheus", 1822 "queryValue": "", 1823 "refresh": 1, 1824 "regex": "", 1825 "skipUrlSync": false, 1826 "type": "datasource" 1827 } 1828 ] 1829 }, 1830 "time": { 1831 "from": "now-30m", 1832 "to": "now" 1833 }, 1834 "timepicker": { 1835 "refresh_intervals": [ 1836 "30s", 1837 "1m", 1838 "5m", 1839 "15m", 1840 "30m", 1841 "1h", 1842 "2h", 1843 "1d" 1844 ], 1845 "time_options": [ 1846 "5m", 1847 "15m", 1848 "1h", 1849 "6h", 1850 "12h", 1851 "24h", 1852 "2d", 1853 "7d", 1854 "30d" 1855 ] 1856 }, 1857 "timezone": "browser", 1858 "title": "Istio Mesh Dashboard", 1859 "version": 1, 1860 "weekStart": "" 1861 }