github.com/verrazzano/verrazzano@v1.7.1/platform-operator/thirdparty/charts/prometheus-community/kube-prometheus-stack/templates/grafana/dashboards-1.14/apiserver.yaml (about) 1 {{- /* 2 Generated from 'apiserver' from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests/grafana-dashboardDefinitions.yaml 3 Do not change in-place! In order to change this file first read following link: 4 https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack 5 */ -}} 6 {{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }} 7 {{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" $kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled .Values.kubeApiServer.enabled }} 8 apiVersion: v1 9 kind: ConfigMap 10 metadata: 11 namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }} 12 name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) "apiserver" | trunc 63 | trimSuffix "-" }} 13 annotations: 14 {{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }} 15 labels: 16 {{- if $.Values.grafana.sidecar.dashboards.label }} 17 {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary $.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty $.Values.grafana.sidecar.dashboards.labelValue)) | quote }} 18 {{- end }} 19 app: {{ template "kube-prometheus-stack.name" $ }}-grafana 20 {{ include "kube-prometheus-stack.labels" $ | indent 4 }} 21 data: 22 apiserver.json: |- 23 { 24 "__inputs": [ 25 26 ], 27 "__requires": [ 28 29 ], 30 "annotations": { 31 "list": [ 32 33 ] 34 }, 35 "editable": false, 36 "gnetId": null, 37 "graphTooltip": 0, 38 "hideControls": false, 39 "id": null, 40 "links": [ 41 42 ], 43 "panels": [ 44 { 45 "content": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only.", 46 "datasource": null, 47 "description": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only.", 48 "gridPos": { 49 "h": 2, 50 "w": 24, 51 "x": 0, 52 "y": 0 53 }, 54 "id": 2, 55 "mode": "markdown", 56 "span": 12, 57 "title": "Notice", 58 "type": "text" 59 } 60 ], 61 "refresh": "10s", 62 "rows": [ 63 { 64 "collapse": false, 65 "collapsed": false, 66 "panels": [ 67 { 68 "cacheTimeout": null, 69 "colorBackground": false, 70 "colorValue": false, 71 "colors": [ 72 "#299c46", 73 "rgba(237, 129, 40, 0.89)", 74 "#d44a3a" 75 ], 76 "datasource": "$datasource", 77 "decimals": 3, 78 "description": "How many percent of requests (both read and write) in 30 days have been answered successfully and fast enough?", 79 "format": "percentunit", 80 "gauge": { 81 "maxValue": 100, 82 "minValue": 0, 83 "show": false, 84 "thresholdLabels": false, 85 "thresholdMarkers": true 86 }, 87 "gridPos": { 88 89 }, 90 "id": 3, 91 "interval": "1m", 92 "legend": { 93 "alignAsTable": true, 94 "rightSide": true 95 }, 96 "links": [ 97 98 ], 99 "mappingType": 1, 100 "mappingTypes": [ 101 { 102 "name": "value to text", 103 "value": 1 104 }, 105 { 106 "name": "range to text", 107 "value": 2 108 } 109 ], 110 "maxDataPoints": 100, 111 "nullPointMode": "connected", 112 "nullText": null, 113 "postfix": "", 114 "postfixFontSize": "50%", 115 "prefix": "", 116 "prefixFontSize": "50%", 117 "rangeMaps": [ 118 { 119 "from": "null", 120 "text": "N/A", 121 "to": "null" 122 } 123 ], 124 "span": 4, 125 "sparkline": { 126 "fillColor": "rgba(31, 118, 189, 0.18)", 127 "full": false, 128 "lineColor": "rgb(31, 120, 193)", 129 "show": false 130 }, 131 "tableColumn": "", 132 "targets": [ 133 { 134 "expr": "apiserver_request:availability30d{verb=\"all\", cluster=\"$cluster\"}", 135 "format": "time_series", 136 "intervalFactor": 2, 137 "legendFormat": "", 138 "refId": "A" 139 } 140 ], 141 "thresholds": "", 142 "title": "Availability (30d) > 99.000%", 143 "tooltip": { 144 "shared": false 145 }, 146 "type": "singlestat", 147 "valueFontSize": "80%", 148 "valueMaps": [ 149 { 150 "op": "=", 151 "text": "N/A", 152 "value": "null" 153 } 154 ], 155 "valueName": "avg" 156 }, 157 { 158 "aliasColors": { 159 160 }, 161 "bars": false, 162 "dashLength": 10, 163 "dashes": false, 164 "datasource": "$datasource", 165 "decimals": 3, 166 "description": "How much error budget is left looking at our 0.990% availability guarantees?", 167 "fill": 10, 168 "fillGradient": 0, 169 "gridPos": { 170 171 }, 172 "id": 4, 173 "interval": "1m", 174 "legend": { 175 "alignAsTable": true, 176 "avg": false, 177 "current": false, 178 "max": false, 179 "min": false, 180 "rightSide": true, 181 "show": true, 182 "sideWidth": null, 183 "total": false, 184 "values": false 185 }, 186 "lines": true, 187 "linewidth": 1, 188 "links": [ 189 190 ], 191 "nullPointMode": "null", 192 "percentage": false, 193 "pointradius": 5, 194 "points": false, 195 "renderer": "flot", 196 "repeat": null, 197 "seriesOverrides": [ 198 199 ], 200 "spaceLength": 10, 201 "span": 8, 202 "stack": false, 203 "steppedLine": false, 204 "targets": [ 205 { 206 "expr": "100 * (apiserver_request:availability30d{verb=\"all\", cluster=\"$cluster\"} - 0.990000)", 207 "format": "time_series", 208 "intervalFactor": 2, 209 "legendFormat": "errorbudget", 210 "refId": "A" 211 } 212 ], 213 "thresholds": [ 214 215 ], 216 "timeFrom": null, 217 "timeShift": null, 218 "title": "ErrorBudget (30d) > 99.000%", 219 "tooltip": { 220 "shared": false, 221 "sort": 0, 222 "value_type": "individual" 223 }, 224 "type": "graph", 225 "xaxis": { 226 "buckets": null, 227 "mode": "time", 228 "name": null, 229 "show": true, 230 "values": [ 231 232 ] 233 }, 234 "yaxes": [ 235 { 236 "decimals": 3, 237 "format": "percentunit", 238 "label": null, 239 "logBase": 1, 240 "max": null, 241 "min": null, 242 "show": true 243 }, 244 { 245 "decimals": 3, 246 "format": "percentunit", 247 "label": null, 248 "logBase": 1, 249 "max": null, 250 "min": null, 251 "show": true 252 } 253 ] 254 } 255 ], 256 "repeat": null, 257 "repeatIteration": null, 258 "repeatRowId": null, 259 "showTitle": false, 260 "title": "Dashboard Row", 261 "titleSize": "h6", 262 "type": "row" 263 }, 264 { 265 "collapse": false, 266 "collapsed": false, 267 "panels": [ 268 { 269 "cacheTimeout": null, 270 "colorBackground": false, 271 "colorValue": false, 272 "colors": [ 273 "#299c46", 274 "rgba(237, 129, 40, 0.89)", 275 "#d44a3a" 276 ], 277 "datasource": "$datasource", 278 "decimals": 3, 279 "description": "How many percent of read requests (LIST,GET) in 30 days have been answered successfully and fast enough?", 280 "format": "percentunit", 281 "gauge": { 282 "maxValue": 100, 283 "minValue": 0, 284 "show": false, 285 "thresholdLabels": false, 286 "thresholdMarkers": true 287 }, 288 "gridPos": { 289 290 }, 291 "id": 5, 292 "interval": "1m", 293 "legend": { 294 "alignAsTable": true, 295 "rightSide": true 296 }, 297 "links": [ 298 299 ], 300 "mappingType": 1, 301 "mappingTypes": [ 302 { 303 "name": "value to text", 304 "value": 1 305 }, 306 { 307 "name": "range to text", 308 "value": 2 309 } 310 ], 311 "maxDataPoints": 100, 312 "nullPointMode": "connected", 313 "nullText": null, 314 "postfix": "", 315 "postfixFontSize": "50%", 316 "prefix": "", 317 "prefixFontSize": "50%", 318 "rangeMaps": [ 319 { 320 "from": "null", 321 "text": "N/A", 322 "to": "null" 323 } 324 ], 325 "span": 3, 326 "sparkline": { 327 "fillColor": "rgba(31, 118, 189, 0.18)", 328 "full": false, 329 "lineColor": "rgb(31, 120, 193)", 330 "show": false 331 }, 332 "tableColumn": "", 333 "targets": [ 334 { 335 "expr": "apiserver_request:availability30d{verb=\"read\", cluster=\"$cluster\"}", 336 "format": "time_series", 337 "intervalFactor": 2, 338 "legendFormat": "", 339 "refId": "A" 340 } 341 ], 342 "thresholds": "", 343 "title": "Read Availability (30d)", 344 "tooltip": { 345 "shared": false 346 }, 347 "type": "singlestat", 348 "valueFontSize": "80%", 349 "valueMaps": [ 350 { 351 "op": "=", 352 "text": "N/A", 353 "value": "null" 354 } 355 ], 356 "valueName": "avg" 357 }, 358 { 359 "aliasColors": { 360 361 }, 362 "bars": false, 363 "dashLength": 10, 364 "dashes": false, 365 "datasource": "$datasource", 366 "description": "How many read requests (LIST,GET) per second do the apiservers get by code?", 367 "fill": 10, 368 "fillGradient": 0, 369 "gridPos": { 370 371 }, 372 "id": 6, 373 "interval": "1m", 374 "legend": { 375 "alignAsTable": true, 376 "avg": false, 377 "current": false, 378 "max": false, 379 "min": false, 380 "rightSide": true, 381 "show": true, 382 "sideWidth": null, 383 "total": false, 384 "values": false 385 }, 386 "lines": true, 387 "linewidth": 1, 388 "links": [ 389 390 ], 391 "nullPointMode": "null", 392 "percentage": false, 393 "pointradius": 5, 394 "points": false, 395 "renderer": "flot", 396 "repeat": null, 397 "seriesOverrides": [ 398 { 399 "alias": "/2../i", 400 "color": "#56A64B" 401 }, 402 { 403 "alias": "/3../i", 404 "color": "#F2CC0C" 405 }, 406 { 407 "alias": "/4../i", 408 "color": "#3274D9" 409 }, 410 { 411 "alias": "/5../i", 412 "color": "#E02F44" 413 } 414 ], 415 "spaceLength": 10, 416 "span": 3, 417 "stack": true, 418 "steppedLine": false, 419 "targets": [ 420 { 421 "expr": "sum by (code) (code_resource:apiserver_request_total:rate5m{verb=\"read\", cluster=\"$cluster\"})", 422 "format": "time_series", 423 "intervalFactor": 2, 424 "legendFormat": "{{`{{`}} code {{`}}`}}", 425 "refId": "A" 426 } 427 ], 428 "thresholds": [ 429 430 ], 431 "timeFrom": null, 432 "timeShift": null, 433 "title": "Read SLI - Requests", 434 "tooltip": { 435 "shared": false, 436 "sort": 0, 437 "value_type": "individual" 438 }, 439 "type": "graph", 440 "xaxis": { 441 "buckets": null, 442 "mode": "time", 443 "name": null, 444 "show": true, 445 "values": [ 446 447 ] 448 }, 449 "yaxes": [ 450 { 451 "format": "reqps", 452 "label": null, 453 "logBase": 1, 454 "max": null, 455 "min": null, 456 "show": true 457 }, 458 { 459 "format": "reqps", 460 "label": null, 461 "logBase": 1, 462 "max": null, 463 "min": null, 464 "show": true 465 } 466 ] 467 }, 468 { 469 "aliasColors": { 470 471 }, 472 "bars": false, 473 "dashLength": 10, 474 "dashes": false, 475 "datasource": "$datasource", 476 "description": "How many percent of read requests (LIST,GET) per second are returned with errors (5xx)?", 477 "fill": 1, 478 "fillGradient": 0, 479 "gridPos": { 480 481 }, 482 "id": 7, 483 "interval": "1m", 484 "legend": { 485 "alignAsTable": true, 486 "avg": false, 487 "current": false, 488 "max": false, 489 "min": false, 490 "rightSide": true, 491 "show": true, 492 "sideWidth": null, 493 "total": false, 494 "values": false 495 }, 496 "lines": true, 497 "linewidth": 1, 498 "links": [ 499 500 ], 501 "nullPointMode": "null", 502 "percentage": false, 503 "pointradius": 5, 504 "points": false, 505 "renderer": "flot", 506 "repeat": null, 507 "seriesOverrides": [ 508 509 ], 510 "spaceLength": 10, 511 "span": 3, 512 "stack": false, 513 "steppedLine": false, 514 "targets": [ 515 { 516 "expr": "sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"read\",code=~\"5..\", cluster=\"$cluster\"}) / sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"read\", cluster=\"$cluster\"})", 517 "format": "time_series", 518 "intervalFactor": 2, 519 "legendFormat": "{{`{{`}} resource {{`}}`}}", 520 "refId": "A" 521 } 522 ], 523 "thresholds": [ 524 525 ], 526 "timeFrom": null, 527 "timeShift": null, 528 "title": "Read SLI - Errors", 529 "tooltip": { 530 "shared": false, 531 "sort": 0, 532 "value_type": "individual" 533 }, 534 "type": "graph", 535 "xaxis": { 536 "buckets": null, 537 "mode": "time", 538 "name": null, 539 "show": true, 540 "values": [ 541 542 ] 543 }, 544 "yaxes": [ 545 { 546 "format": "percentunit", 547 "label": null, 548 "logBase": 1, 549 "max": null, 550 "min": 0, 551 "show": true 552 }, 553 { 554 "format": "percentunit", 555 "label": null, 556 "logBase": 1, 557 "max": null, 558 "min": 0, 559 "show": true 560 } 561 ] 562 }, 563 { 564 "aliasColors": { 565 566 }, 567 "bars": false, 568 "dashLength": 10, 569 "dashes": false, 570 "datasource": "$datasource", 571 "description": "How many seconds is the 99th percentile for reading (LIST|GET) a given resource?", 572 "fill": 1, 573 "fillGradient": 0, 574 "gridPos": { 575 576 }, 577 "id": 8, 578 "interval": "1m", 579 "legend": { 580 "alignAsTable": true, 581 "avg": false, 582 "current": false, 583 "max": false, 584 "min": false, 585 "rightSide": true, 586 "show": true, 587 "sideWidth": null, 588 "total": false, 589 "values": false 590 }, 591 "lines": true, 592 "linewidth": 1, 593 "links": [ 594 595 ], 596 "nullPointMode": "null", 597 "percentage": false, 598 "pointradius": 5, 599 "points": false, 600 "renderer": "flot", 601 "repeat": null, 602 "seriesOverrides": [ 603 604 ], 605 "spaceLength": 10, 606 "span": 3, 607 "stack": false, 608 "steppedLine": false, 609 "targets": [ 610 { 611 "expr": "cluster_quantile:apiserver_request_slo_duration_seconds:histogram_quantile{verb=\"read\", cluster=\"$cluster\"}", 612 "format": "time_series", 613 "intervalFactor": 2, 614 "legendFormat": "{{`{{`}} resource {{`}}`}}", 615 "refId": "A" 616 } 617 ], 618 "thresholds": [ 619 620 ], 621 "timeFrom": null, 622 "timeShift": null, 623 "title": "Read SLI - Duration", 624 "tooltip": { 625 "shared": false, 626 "sort": 0, 627 "value_type": "individual" 628 }, 629 "type": "graph", 630 "xaxis": { 631 "buckets": null, 632 "mode": "time", 633 "name": null, 634 "show": true, 635 "values": [ 636 637 ] 638 }, 639 "yaxes": [ 640 { 641 "format": "s", 642 "label": null, 643 "logBase": 1, 644 "max": null, 645 "min": null, 646 "show": true 647 }, 648 { 649 "format": "s", 650 "label": null, 651 "logBase": 1, 652 "max": null, 653 "min": null, 654 "show": true 655 } 656 ] 657 } 658 ], 659 "repeat": null, 660 "repeatIteration": null, 661 "repeatRowId": null, 662 "showTitle": false, 663 "title": "Dashboard Row", 664 "titleSize": "h6", 665 "type": "row" 666 }, 667 { 668 "collapse": false, 669 "collapsed": false, 670 "panels": [ 671 { 672 "cacheTimeout": null, 673 "colorBackground": false, 674 "colorValue": false, 675 "colors": [ 676 "#299c46", 677 "rgba(237, 129, 40, 0.89)", 678 "#d44a3a" 679 ], 680 "datasource": "$datasource", 681 "decimals": 3, 682 "description": "How many percent of write requests (POST|PUT|PATCH|DELETE) in 30 days have been answered successfully and fast enough?", 683 "format": "percentunit", 684 "gauge": { 685 "maxValue": 100, 686 "minValue": 0, 687 "show": false, 688 "thresholdLabels": false, 689 "thresholdMarkers": true 690 }, 691 "gridPos": { 692 693 }, 694 "id": 9, 695 "interval": "1m", 696 "legend": { 697 "alignAsTable": true, 698 "rightSide": true 699 }, 700 "links": [ 701 702 ], 703 "mappingType": 1, 704 "mappingTypes": [ 705 { 706 "name": "value to text", 707 "value": 1 708 }, 709 { 710 "name": "range to text", 711 "value": 2 712 } 713 ], 714 "maxDataPoints": 100, 715 "nullPointMode": "connected", 716 "nullText": null, 717 "postfix": "", 718 "postfixFontSize": "50%", 719 "prefix": "", 720 "prefixFontSize": "50%", 721 "rangeMaps": [ 722 { 723 "from": "null", 724 "text": "N/A", 725 "to": "null" 726 } 727 ], 728 "span": 3, 729 "sparkline": { 730 "fillColor": "rgba(31, 118, 189, 0.18)", 731 "full": false, 732 "lineColor": "rgb(31, 120, 193)", 733 "show": false 734 }, 735 "tableColumn": "", 736 "targets": [ 737 { 738 "expr": "apiserver_request:availability30d{verb=\"write\", cluster=\"$cluster\"}", 739 "format": "time_series", 740 "intervalFactor": 2, 741 "legendFormat": "", 742 "refId": "A" 743 } 744 ], 745 "thresholds": "", 746 "title": "Write Availability (30d)", 747 "tooltip": { 748 "shared": false 749 }, 750 "type": "singlestat", 751 "valueFontSize": "80%", 752 "valueMaps": [ 753 { 754 "op": "=", 755 "text": "N/A", 756 "value": "null" 757 } 758 ], 759 "valueName": "avg" 760 }, 761 { 762 "aliasColors": { 763 764 }, 765 "bars": false, 766 "dashLength": 10, 767 "dashes": false, 768 "datasource": "$datasource", 769 "description": "How many write requests (POST|PUT|PATCH|DELETE) per second do the apiservers get by code?", 770 "fill": 10, 771 "fillGradient": 0, 772 "gridPos": { 773 774 }, 775 "id": 10, 776 "interval": "1m", 777 "legend": { 778 "alignAsTable": true, 779 "avg": false, 780 "current": false, 781 "max": false, 782 "min": false, 783 "rightSide": true, 784 "show": true, 785 "sideWidth": null, 786 "total": false, 787 "values": false 788 }, 789 "lines": true, 790 "linewidth": 1, 791 "links": [ 792 793 ], 794 "nullPointMode": "null", 795 "percentage": false, 796 "pointradius": 5, 797 "points": false, 798 "renderer": "flot", 799 "repeat": null, 800 "seriesOverrides": [ 801 { 802 "alias": "/2../i", 803 "color": "#56A64B" 804 }, 805 { 806 "alias": "/3../i", 807 "color": "#F2CC0C" 808 }, 809 { 810 "alias": "/4../i", 811 "color": "#3274D9" 812 }, 813 { 814 "alias": "/5../i", 815 "color": "#E02F44" 816 } 817 ], 818 "spaceLength": 10, 819 "span": 3, 820 "stack": true, 821 "steppedLine": false, 822 "targets": [ 823 { 824 "expr": "sum by (code) (code_resource:apiserver_request_total:rate5m{verb=\"write\", cluster=\"$cluster\"})", 825 "format": "time_series", 826 "intervalFactor": 2, 827 "legendFormat": "{{`{{`}} code {{`}}`}}", 828 "refId": "A" 829 } 830 ], 831 "thresholds": [ 832 833 ], 834 "timeFrom": null, 835 "timeShift": null, 836 "title": "Write SLI - Requests", 837 "tooltip": { 838 "shared": false, 839 "sort": 0, 840 "value_type": "individual" 841 }, 842 "type": "graph", 843 "xaxis": { 844 "buckets": null, 845 "mode": "time", 846 "name": null, 847 "show": true, 848 "values": [ 849 850 ] 851 }, 852 "yaxes": [ 853 { 854 "format": "reqps", 855 "label": null, 856 "logBase": 1, 857 "max": null, 858 "min": null, 859 "show": true 860 }, 861 { 862 "format": "reqps", 863 "label": null, 864 "logBase": 1, 865 "max": null, 866 "min": null, 867 "show": true 868 } 869 ] 870 }, 871 { 872 "aliasColors": { 873 874 }, 875 "bars": false, 876 "dashLength": 10, 877 "dashes": false, 878 "datasource": "$datasource", 879 "description": "How many percent of write requests (POST|PUT|PATCH|DELETE) per second are returned with errors (5xx)?", 880 "fill": 1, 881 "fillGradient": 0, 882 "gridPos": { 883 884 }, 885 "id": 11, 886 "interval": "1m", 887 "legend": { 888 "alignAsTable": true, 889 "avg": false, 890 "current": false, 891 "max": false, 892 "min": false, 893 "rightSide": true, 894 "show": true, 895 "sideWidth": null, 896 "total": false, 897 "values": false 898 }, 899 "lines": true, 900 "linewidth": 1, 901 "links": [ 902 903 ], 904 "nullPointMode": "null", 905 "percentage": false, 906 "pointradius": 5, 907 "points": false, 908 "renderer": "flot", 909 "repeat": null, 910 "seriesOverrides": [ 911 912 ], 913 "spaceLength": 10, 914 "span": 3, 915 "stack": false, 916 "steppedLine": false, 917 "targets": [ 918 { 919 "expr": "sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"write\",code=~\"5..\", cluster=\"$cluster\"}) / sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"write\", cluster=\"$cluster\"})", 920 "format": "time_series", 921 "intervalFactor": 2, 922 "legendFormat": "{{`{{`}} resource {{`}}`}}", 923 "refId": "A" 924 } 925 ], 926 "thresholds": [ 927 928 ], 929 "timeFrom": null, 930 "timeShift": null, 931 "title": "Write SLI - Errors", 932 "tooltip": { 933 "shared": false, 934 "sort": 0, 935 "value_type": "individual" 936 }, 937 "type": "graph", 938 "xaxis": { 939 "buckets": null, 940 "mode": "time", 941 "name": null, 942 "show": true, 943 "values": [ 944 945 ] 946 }, 947 "yaxes": [ 948 { 949 "format": "percentunit", 950 "label": null, 951 "logBase": 1, 952 "max": null, 953 "min": 0, 954 "show": true 955 }, 956 { 957 "format": "percentunit", 958 "label": null, 959 "logBase": 1, 960 "max": null, 961 "min": 0, 962 "show": true 963 } 964 ] 965 }, 966 { 967 "aliasColors": { 968 969 }, 970 "bars": false, 971 "dashLength": 10, 972 "dashes": false, 973 "datasource": "$datasource", 974 "description": "How many seconds is the 99th percentile for writing (POST|PUT|PATCH|DELETE) a given resource?", 975 "fill": 1, 976 "fillGradient": 0, 977 "gridPos": { 978 979 }, 980 "id": 12, 981 "interval": "1m", 982 "legend": { 983 "alignAsTable": true, 984 "avg": false, 985 "current": false, 986 "max": false, 987 "min": false, 988 "rightSide": true, 989 "show": true, 990 "sideWidth": null, 991 "total": false, 992 "values": false 993 }, 994 "lines": true, 995 "linewidth": 1, 996 "links": [ 997 998 ], 999 "nullPointMode": "null", 1000 "percentage": false, 1001 "pointradius": 5, 1002 "points": false, 1003 "renderer": "flot", 1004 "repeat": null, 1005 "seriesOverrides": [ 1006 1007 ], 1008 "spaceLength": 10, 1009 "span": 3, 1010 "stack": false, 1011 "steppedLine": false, 1012 "targets": [ 1013 { 1014 "expr": "cluster_quantile:apiserver_request_slo_duration_seconds:histogram_quantile{verb=\"write\", cluster=\"$cluster\"}", 1015 "format": "time_series", 1016 "intervalFactor": 2, 1017 "legendFormat": "{{`{{`}} resource {{`}}`}}", 1018 "refId": "A" 1019 } 1020 ], 1021 "thresholds": [ 1022 1023 ], 1024 "timeFrom": null, 1025 "timeShift": null, 1026 "title": "Write SLI - Duration", 1027 "tooltip": { 1028 "shared": false, 1029 "sort": 0, 1030 "value_type": "individual" 1031 }, 1032 "type": "graph", 1033 "xaxis": { 1034 "buckets": null, 1035 "mode": "time", 1036 "name": null, 1037 "show": true, 1038 "values": [ 1039 1040 ] 1041 }, 1042 "yaxes": [ 1043 { 1044 "format": "s", 1045 "label": null, 1046 "logBase": 1, 1047 "max": null, 1048 "min": null, 1049 "show": true 1050 }, 1051 { 1052 "format": "s", 1053 "label": null, 1054 "logBase": 1, 1055 "max": null, 1056 "min": null, 1057 "show": true 1058 } 1059 ] 1060 } 1061 ], 1062 "repeat": null, 1063 "repeatIteration": null, 1064 "repeatRowId": null, 1065 "showTitle": false, 1066 "title": "Dashboard Row", 1067 "titleSize": "h6", 1068 "type": "row" 1069 }, 1070 { 1071 "collapse": false, 1072 "collapsed": false, 1073 "panels": [ 1074 { 1075 "aliasColors": { 1076 1077 }, 1078 "bars": false, 1079 "dashLength": 10, 1080 "dashes": false, 1081 "datasource": "$datasource", 1082 "fill": 1, 1083 "fillGradient": 0, 1084 "gridPos": { 1085 1086 }, 1087 "id": 13, 1088 "interval": "1m", 1089 "legend": { 1090 "alignAsTable": true, 1091 "avg": false, 1092 "current": false, 1093 "max": false, 1094 "min": false, 1095 "rightSide": true, 1096 "show": false, 1097 "sideWidth": null, 1098 "total": false, 1099 "values": false 1100 }, 1101 "lines": true, 1102 "linewidth": 1, 1103 "links": [ 1104 1105 ], 1106 "nullPointMode": "null", 1107 "percentage": false, 1108 "pointradius": 5, 1109 "points": false, 1110 "renderer": "flot", 1111 "repeat": null, 1112 "seriesOverrides": [ 1113 1114 ], 1115 "spaceLength": 10, 1116 "span": 6, 1117 "stack": false, 1118 "steppedLine": false, 1119 "targets": [ 1120 { 1121 "expr": "sum(rate(workqueue_adds_total{job=\"apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name)", 1122 "format": "time_series", 1123 "intervalFactor": 2, 1124 "legendFormat": "{{`{{`}}instance{{`}}`}} {{`{{`}}name{{`}}`}}", 1125 "refId": "A" 1126 } 1127 ], 1128 "thresholds": [ 1129 1130 ], 1131 "timeFrom": null, 1132 "timeShift": null, 1133 "title": "Work Queue Add Rate", 1134 "tooltip": { 1135 "shared": false, 1136 "sort": 0, 1137 "value_type": "individual" 1138 }, 1139 "type": "graph", 1140 "xaxis": { 1141 "buckets": null, 1142 "mode": "time", 1143 "name": null, 1144 "show": true, 1145 "values": [ 1146 1147 ] 1148 }, 1149 "yaxes": [ 1150 { 1151 "format": "ops", 1152 "label": null, 1153 "logBase": 1, 1154 "max": null, 1155 "min": 0, 1156 "show": true 1157 }, 1158 { 1159 "format": "ops", 1160 "label": null, 1161 "logBase": 1, 1162 "max": null, 1163 "min": 0, 1164 "show": true 1165 } 1166 ] 1167 }, 1168 { 1169 "aliasColors": { 1170 1171 }, 1172 "bars": false, 1173 "dashLength": 10, 1174 "dashes": false, 1175 "datasource": "$datasource", 1176 "fill": 1, 1177 "fillGradient": 0, 1178 "gridPos": { 1179 1180 }, 1181 "id": 14, 1182 "interval": "1m", 1183 "legend": { 1184 "alignAsTable": true, 1185 "avg": false, 1186 "current": false, 1187 "max": false, 1188 "min": false, 1189 "rightSide": true, 1190 "show": false, 1191 "sideWidth": null, 1192 "total": false, 1193 "values": false 1194 }, 1195 "lines": true, 1196 "linewidth": 1, 1197 "links": [ 1198 1199 ], 1200 "nullPointMode": "null", 1201 "percentage": false, 1202 "pointradius": 5, 1203 "points": false, 1204 "renderer": "flot", 1205 "repeat": null, 1206 "seriesOverrides": [ 1207 1208 ], 1209 "spaceLength": 10, 1210 "span": 6, 1211 "stack": false, 1212 "steppedLine": false, 1213 "targets": [ 1214 { 1215 "expr": "sum(rate(workqueue_depth{job=\"apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name)", 1216 "format": "time_series", 1217 "intervalFactor": 2, 1218 "legendFormat": "{{`{{`}}instance{{`}}`}} {{`{{`}}name{{`}}`}}", 1219 "refId": "A" 1220 } 1221 ], 1222 "thresholds": [ 1223 1224 ], 1225 "timeFrom": null, 1226 "timeShift": null, 1227 "title": "Work Queue Depth", 1228 "tooltip": { 1229 "shared": false, 1230 "sort": 0, 1231 "value_type": "individual" 1232 }, 1233 "type": "graph", 1234 "xaxis": { 1235 "buckets": null, 1236 "mode": "time", 1237 "name": null, 1238 "show": true, 1239 "values": [ 1240 1241 ] 1242 }, 1243 "yaxes": [ 1244 { 1245 "format": "short", 1246 "label": null, 1247 "logBase": 1, 1248 "max": null, 1249 "min": 0, 1250 "show": true 1251 }, 1252 { 1253 "format": "short", 1254 "label": null, 1255 "logBase": 1, 1256 "max": null, 1257 "min": 0, 1258 "show": true 1259 } 1260 ] 1261 }, 1262 { 1263 "aliasColors": { 1264 1265 }, 1266 "bars": false, 1267 "dashLength": 10, 1268 "dashes": false, 1269 "datasource": "$datasource", 1270 "fill": 1, 1271 "fillGradient": 0, 1272 "gridPos": { 1273 1274 }, 1275 "id": 15, 1276 "interval": "1m", 1277 "legend": { 1278 "alignAsTable": true, 1279 "avg": false, 1280 "current": true, 1281 "max": false, 1282 "min": false, 1283 "rightSide": true, 1284 "show": true, 1285 "sideWidth": null, 1286 "total": false, 1287 "values": true 1288 }, 1289 "lines": true, 1290 "linewidth": 1, 1291 "links": [ 1292 1293 ], 1294 "nullPointMode": "null", 1295 "percentage": false, 1296 "pointradius": 5, 1297 "points": false, 1298 "renderer": "flot", 1299 "repeat": null, 1300 "seriesOverrides": [ 1301 1302 ], 1303 "spaceLength": 10, 1304 "span": 12, 1305 "stack": false, 1306 "steppedLine": false, 1307 "targets": [ 1308 { 1309 "expr": "histogram_quantile(0.99, sum(rate(workqueue_queue_duration_seconds_bucket{job=\"apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name, le))", 1310 "format": "time_series", 1311 "intervalFactor": 2, 1312 "legendFormat": "{{`{{`}}instance{{`}}`}} {{`{{`}}name{{`}}`}}", 1313 "refId": "A" 1314 } 1315 ], 1316 "thresholds": [ 1317 1318 ], 1319 "timeFrom": null, 1320 "timeShift": null, 1321 "title": "Work Queue Latency", 1322 "tooltip": { 1323 "shared": false, 1324 "sort": 0, 1325 "value_type": "individual" 1326 }, 1327 "type": "graph", 1328 "xaxis": { 1329 "buckets": null, 1330 "mode": "time", 1331 "name": null, 1332 "show": true, 1333 "values": [ 1334 1335 ] 1336 }, 1337 "yaxes": [ 1338 { 1339 "format": "s", 1340 "label": null, 1341 "logBase": 1, 1342 "max": null, 1343 "min": null, 1344 "show": true 1345 }, 1346 { 1347 "format": "s", 1348 "label": null, 1349 "logBase": 1, 1350 "max": null, 1351 "min": null, 1352 "show": true 1353 } 1354 ] 1355 } 1356 ], 1357 "repeat": null, 1358 "repeatIteration": null, 1359 "repeatRowId": null, 1360 "showTitle": false, 1361 "title": "Dashboard Row", 1362 "titleSize": "h6", 1363 "type": "row" 1364 }, 1365 { 1366 "collapse": false, 1367 "collapsed": false, 1368 "panels": [ 1369 { 1370 "aliasColors": { 1371 1372 }, 1373 "bars": false, 1374 "dashLength": 10, 1375 "dashes": false, 1376 "datasource": "$datasource", 1377 "fill": 1, 1378 "fillGradient": 0, 1379 "gridPos": { 1380 1381 }, 1382 "id": 16, 1383 "interval": "1m", 1384 "legend": { 1385 "alignAsTable": true, 1386 "avg": false, 1387 "current": false, 1388 "max": false, 1389 "min": false, 1390 "rightSide": true, 1391 "show": true, 1392 "sideWidth": null, 1393 "total": false, 1394 "values": false 1395 }, 1396 "lines": true, 1397 "linewidth": 1, 1398 "links": [ 1399 1400 ], 1401 "nullPointMode": "null", 1402 "percentage": false, 1403 "pointradius": 5, 1404 "points": false, 1405 "renderer": "flot", 1406 "repeat": null, 1407 "seriesOverrides": [ 1408 1409 ], 1410 "spaceLength": 10, 1411 "span": 4, 1412 "stack": false, 1413 "steppedLine": false, 1414 "targets": [ 1415 { 1416 "expr": "process_resident_memory_bytes{job=\"apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}", 1417 "format": "time_series", 1418 "intervalFactor": 2, 1419 "legendFormat": "{{`{{`}}instance{{`}}`}}", 1420 "refId": "A" 1421 } 1422 ], 1423 "thresholds": [ 1424 1425 ], 1426 "timeFrom": null, 1427 "timeShift": null, 1428 "title": "Memory", 1429 "tooltip": { 1430 "shared": false, 1431 "sort": 0, 1432 "value_type": "individual" 1433 }, 1434 "type": "graph", 1435 "xaxis": { 1436 "buckets": null, 1437 "mode": "time", 1438 "name": null, 1439 "show": true, 1440 "values": [ 1441 1442 ] 1443 }, 1444 "yaxes": [ 1445 { 1446 "format": "bytes", 1447 "label": null, 1448 "logBase": 1, 1449 "max": null, 1450 "min": null, 1451 "show": true 1452 }, 1453 { 1454 "format": "bytes", 1455 "label": null, 1456 "logBase": 1, 1457 "max": null, 1458 "min": null, 1459 "show": true 1460 } 1461 ] 1462 }, 1463 { 1464 "aliasColors": { 1465 1466 }, 1467 "bars": false, 1468 "dashLength": 10, 1469 "dashes": false, 1470 "datasource": "$datasource", 1471 "fill": 1, 1472 "fillGradient": 0, 1473 "gridPos": { 1474 1475 }, 1476 "id": 17, 1477 "interval": "1m", 1478 "legend": { 1479 "alignAsTable": true, 1480 "avg": false, 1481 "current": false, 1482 "max": false, 1483 "min": false, 1484 "rightSide": true, 1485 "show": true, 1486 "sideWidth": null, 1487 "total": false, 1488 "values": false 1489 }, 1490 "lines": true, 1491 "linewidth": 1, 1492 "links": [ 1493 1494 ], 1495 "nullPointMode": "null", 1496 "percentage": false, 1497 "pointradius": 5, 1498 "points": false, 1499 "renderer": "flot", 1500 "repeat": null, 1501 "seriesOverrides": [ 1502 1503 ], 1504 "spaceLength": 10, 1505 "span": 4, 1506 "stack": false, 1507 "steppedLine": false, 1508 "targets": [ 1509 { 1510 "expr": "rate(process_cpu_seconds_total{job=\"apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])", 1511 "format": "time_series", 1512 "intervalFactor": 2, 1513 "legendFormat": "{{`{{`}}instance{{`}}`}}", 1514 "refId": "A" 1515 } 1516 ], 1517 "thresholds": [ 1518 1519 ], 1520 "timeFrom": null, 1521 "timeShift": null, 1522 "title": "CPU usage", 1523 "tooltip": { 1524 "shared": false, 1525 "sort": 0, 1526 "value_type": "individual" 1527 }, 1528 "type": "graph", 1529 "xaxis": { 1530 "buckets": null, 1531 "mode": "time", 1532 "name": null, 1533 "show": true, 1534 "values": [ 1535 1536 ] 1537 }, 1538 "yaxes": [ 1539 { 1540 "format": "short", 1541 "label": null, 1542 "logBase": 1, 1543 "max": null, 1544 "min": 0, 1545 "show": true 1546 }, 1547 { 1548 "format": "short", 1549 "label": null, 1550 "logBase": 1, 1551 "max": null, 1552 "min": 0, 1553 "show": true 1554 } 1555 ] 1556 }, 1557 { 1558 "aliasColors": { 1559 1560 }, 1561 "bars": false, 1562 "dashLength": 10, 1563 "dashes": false, 1564 "datasource": "$datasource", 1565 "fill": 1, 1566 "fillGradient": 0, 1567 "gridPos": { 1568 1569 }, 1570 "id": 18, 1571 "interval": "1m", 1572 "legend": { 1573 "alignAsTable": true, 1574 "avg": false, 1575 "current": false, 1576 "max": false, 1577 "min": false, 1578 "rightSide": true, 1579 "show": true, 1580 "sideWidth": null, 1581 "total": false, 1582 "values": false 1583 }, 1584 "lines": true, 1585 "linewidth": 1, 1586 "links": [ 1587 1588 ], 1589 "nullPointMode": "null", 1590 "percentage": false, 1591 "pointradius": 5, 1592 "points": false, 1593 "renderer": "flot", 1594 "repeat": null, 1595 "seriesOverrides": [ 1596 1597 ], 1598 "spaceLength": 10, 1599 "span": 4, 1600 "stack": false, 1601 "steppedLine": false, 1602 "targets": [ 1603 { 1604 "expr": "go_goroutines{job=\"apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}", 1605 "format": "time_series", 1606 "intervalFactor": 2, 1607 "legendFormat": "{{`{{`}}instance{{`}}`}}", 1608 "refId": "A" 1609 } 1610 ], 1611 "thresholds": [ 1612 1613 ], 1614 "timeFrom": null, 1615 "timeShift": null, 1616 "title": "Goroutines", 1617 "tooltip": { 1618 "shared": false, 1619 "sort": 0, 1620 "value_type": "individual" 1621 }, 1622 "type": "graph", 1623 "xaxis": { 1624 "buckets": null, 1625 "mode": "time", 1626 "name": null, 1627 "show": true, 1628 "values": [ 1629 1630 ] 1631 }, 1632 "yaxes": [ 1633 { 1634 "format": "short", 1635 "label": null, 1636 "logBase": 1, 1637 "max": null, 1638 "min": null, 1639 "show": true 1640 }, 1641 { 1642 "format": "short", 1643 "label": null, 1644 "logBase": 1, 1645 "max": null, 1646 "min": null, 1647 "show": true 1648 } 1649 ] 1650 } 1651 ], 1652 "repeat": null, 1653 "repeatIteration": null, 1654 "repeatRowId": null, 1655 "showTitle": false, 1656 "title": "Dashboard Row", 1657 "titleSize": "h6", 1658 "type": "row" 1659 } 1660 ], 1661 "schemaVersion": 14, 1662 "style": "dark", 1663 "tags": [ 1664 "kubernetes-mixin" 1665 ], 1666 "templating": { 1667 "list": [ 1668 { 1669 "current": { 1670 "text": "default", 1671 "value": "default" 1672 }, 1673 "hide": 0, 1674 "label": "Data Source", 1675 "name": "datasource", 1676 "options": [ 1677 1678 ], 1679 "query": "prometheus", 1680 "refresh": 1, 1681 "regex": "", 1682 "type": "datasource" 1683 }, 1684 { 1685 "allValue": null, 1686 "current": { 1687 1688 }, 1689 "datasource": "$datasource", 1690 "hide": {{ if .Values.grafana.sidecar.dashboards.multicluster.global.enabled }}0{{ else }}2{{ end }}, 1691 "includeAll": false, 1692 "label": "cluster", 1693 "multi": false, 1694 "name": "cluster", 1695 "options": [ 1696 1697 ], 1698 "query": "label_values(up{job=\"apiserver\"}, cluster)", 1699 "refresh": 2, 1700 "regex": "", 1701 "sort": 1, 1702 "tagValuesQuery": "", 1703 "tags": [ 1704 1705 ], 1706 "tagsQuery": "", 1707 "type": "query", 1708 "useTags": false 1709 }, 1710 { 1711 "allValue": null, 1712 "current": { 1713 1714 }, 1715 "datasource": "$datasource", 1716 "hide": 0, 1717 "includeAll": true, 1718 "label": null, 1719 "multi": false, 1720 "name": "instance", 1721 "options": [ 1722 1723 ], 1724 "query": "label_values(up{job=\"apiserver\", cluster=\"$cluster\"}, instance)", 1725 "refresh": 2, 1726 "regex": "", 1727 "sort": 1, 1728 "tagValuesQuery": "", 1729 "tags": [ 1730 1731 ], 1732 "tagsQuery": "", 1733 "type": "query", 1734 "useTags": false 1735 } 1736 ] 1737 }, 1738 "time": { 1739 "from": "now-1h", 1740 "to": "now" 1741 }, 1742 "timepicker": { 1743 "refresh_intervals": [ 1744 "5s", 1745 "10s", 1746 "30s", 1747 "1m", 1748 "5m", 1749 "15m", 1750 "30m", 1751 "1h", 1752 "2h", 1753 "1d" 1754 ], 1755 "time_options": [ 1756 "5m", 1757 "15m", 1758 "1h", 1759 "6h", 1760 "12h", 1761 "24h", 1762 "2d", 1763 "7d", 1764 "30d" 1765 ] 1766 }, 1767 "timezone": "{{ .Values.grafana.defaultDashboardsTimezone }}", 1768 "title": "Kubernetes / API server", 1769 "uid": "09ec8aa1e996d6ffcd6817bbaff4db1b", 1770 "version": 0 1771 } 1772 {{- end }}