github.com/avenga/couper@v1.12.2/grafana.json (about) 1 { 2 "annotations": { 3 "list": [ 4 { 5 "builtIn": 1, 6 "datasource": "-- Grafana --", 7 "enable": true, 8 "hide": true, 9 "iconColor": "rgba(0, 211, 255, 1)", 10 "name": "Annotations & Alerts", 11 "target": { 12 "limit": 100, 13 "matchAny": false, 14 "tags": [], 15 "type": "dashboard" 16 }, 17 "type": "dashboard" 18 } 19 ] 20 }, 21 "editable": true, 22 "fiscalYearStartMonth": 0, 23 "graphTooltip": 1, 24 "id": null, 25 "links": [], 26 "liveNow": false, 27 "panels": [ 28 { 29 "collapsed": false, 30 "datasource": null, 31 "gridPos": { 32 "h": 1, 33 "w": 24, 34 "x": 0, 35 "y": 0 36 }, 37 "id": 9, 38 "panels": [], 39 "repeat": "host", 40 "title": "Server: ${host:doublequote}", 41 "type": "row" 42 }, 43 { 44 "datasource": null, 45 "fieldConfig": { 46 "defaults": { 47 "color": { 48 "mode": "palette-classic" 49 }, 50 "custom": { 51 "axisLabel": "", 52 "axisPlacement": "auto", 53 "barAlignment": 0, 54 "drawStyle": "points", 55 "fillOpacity": 50, 56 "gradientMode": "none", 57 "hideFrom": { 58 "legend": false, 59 "tooltip": false, 60 "viz": false 61 }, 62 "lineInterpolation": "smooth", 63 "lineStyle": { 64 "fill": "solid" 65 }, 66 "lineWidth": 2, 67 "pointSize": 5, 68 "scaleDistribution": { 69 "type": "linear" 70 }, 71 "showPoints": "never", 72 "spanNulls": true, 73 "stacking": { 74 "group": "A", 75 "mode": "none" 76 }, 77 "thresholdsStyle": { 78 "mode": "off" 79 } 80 }, 81 "mappings": [], 82 "thresholds": { 83 "mode": "absolute", 84 "steps": [ 85 { 86 "color": "green", 87 "value": null 88 } 89 ] 90 }, 91 "unit": "reqps" 92 }, 93 "overrides": [] 94 }, 95 "gridPos": { 96 "h": 6, 97 "w": 8, 98 "x": 0, 99 "y": 1 100 }, 101 "id": 7, 102 "options": { 103 "legend": { 104 "calcs": [], 105 "displayMode": "list", 106 "placement": "bottom" 107 }, 108 "tooltip": { 109 "mode": "single", 110 "sort": "none" 111 } 112 }, 113 "pluginVersion": "8.1.3", 114 "targets": [ 115 { 116 "datasource": null, 117 "exemplar": true, 118 "expr": "sum(rate(couper_client_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host=~\"$host\"} [2m])) by (code) > 0", 119 "interval": "", 120 "intervalFactor": 1, 121 "legendFormat": "{{code}}", 122 "refId": "A" 123 } 124 ], 125 "title": "Requests", 126 "type": "timeseries" 127 }, 128 { 129 "datasource": null, 130 "fieldConfig": { 131 "defaults": { 132 "color": { 133 "mode": "continuous-GrYlRd" 134 }, 135 "custom": { 136 "axisLabel": "", 137 "axisPlacement": "auto", 138 "barAlignment": 0, 139 "drawStyle": "line", 140 "fillOpacity": 50, 141 "gradientMode": "scheme", 142 "hideFrom": { 143 "legend": false, 144 "tooltip": false, 145 "viz": false 146 }, 147 "lineInterpolation": "linear", 148 "lineWidth": 2, 149 "pointSize": 5, 150 "scaleDistribution": { 151 "type": "linear" 152 }, 153 "showPoints": "auto", 154 "spanNulls": false, 155 "stacking": { 156 "group": "A", 157 "mode": "none" 158 }, 159 "thresholdsStyle": { 160 "mode": "off" 161 } 162 }, 163 "mappings": [], 164 "thresholds": { 165 "mode": "absolute", 166 "steps": [ 167 { 168 "color": "semi-dark-green", 169 "value": null 170 }, 171 { 172 "color": "#EAB839", 173 "value": 2 174 }, 175 { 176 "color": "red", 177 "value": 5 178 } 179 ] 180 }, 181 "unit": "s" 182 }, 183 "overrides": [] 184 }, 185 "gridPos": { 186 "h": 6, 187 "w": 4, 188 "x": 8, 189 "y": 1 190 }, 191 "id": 6, 192 "options": { 193 "legend": { 194 "calcs": [], 195 "displayMode": "hidden", 196 "placement": "bottom" 197 }, 198 "tooltip": { 199 "mode": "single", 200 "sort": "none" 201 } 202 }, 203 "pluginVersion": "8.3.1", 204 "targets": [ 205 { 206 "datasource": null, 207 "exemplar": true, 208 "expr": "quantile_over_time(0.95,couper_client_request_duration_seconds{code=\"200\", job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host=~\"$host\"} [2m]) or histogram_quantile(0.95,sum(rate(couper_client_request_duration_seconds_bucket{code=\"200\", job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host=~\"$host\"} [2m])) by(le))", 209 "interval": "", 210 "legendFormat": "", 211 "refId": "A" 212 } 213 ], 214 "title": "95th Percentile of request time", 215 "transparent": true, 216 "type": "timeseries" 217 }, 218 { 219 "datasource": null, 220 "fieldConfig": { 221 "defaults": { 222 "color": { 223 "fixedColor": "semi-dark-yellow", 224 "mode": "fixed" 225 }, 226 "decimals": 0, 227 "mappings": [], 228 "noValue": "0", 229 "thresholds": { 230 "mode": "absolute", 231 "steps": [ 232 { 233 "color": "green", 234 "value": null 235 } 236 ] 237 }, 238 "unit": "none" 239 }, 240 "overrides": [] 241 }, 242 "gridPos": { 243 "h": 6, 244 "w": 4, 245 "x": 12, 246 "y": 1 247 }, 248 "id": 29, 249 "options": { 250 "colorMode": "value", 251 "graphMode": "area", 252 "justifyMode": "center", 253 "orientation": "auto", 254 "reduceOptions": { 255 "calcs": [ 256 "lastNotNull" 257 ], 258 "fields": "", 259 "values": false 260 }, 261 "text": {}, 262 "textMode": "auto" 263 }, 264 "pluginVersion": "8.4.5", 265 "targets": [ 266 { 267 "datasource": null, 268 "exemplar": true, 269 "expr": "sum(couper_client_connections_count{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host=~\"$host\"}) ", 270 "hide": false, 271 "interval": "", 272 "legendFormat": "", 273 "refId": "A" 274 } 275 ], 276 "title": "Current client connections", 277 "type": "stat" 278 }, 279 { 280 "datasource": null, 281 "fieldConfig": { 282 "defaults": { 283 "color": { 284 "mode": "palette-classic" 285 }, 286 "custom": { 287 "hideFrom": { 288 "legend": false, 289 "tooltip": false, 290 "viz": false 291 } 292 }, 293 "mappings": [], 294 "min": 0, 295 "noValue": "0", 296 "unit": "none" 297 }, 298 "overrides": [] 299 }, 300 "gridPos": { 301 "h": 7, 302 "w": 4, 303 "x": 16, 304 "y": 1 305 }, 306 "id": 25, 307 "options": { 308 "displayLabels": [ 309 "name" 310 ], 311 "legend": { 312 "displayMode": "hidden", 313 "placement": "bottom" 314 }, 315 "pieType": "donut", 316 "reduceOptions": { 317 "calcs": [ 318 "lastNotNull" 319 ], 320 "fields": "", 321 "values": false 322 }, 323 "tooltip": { 324 "mode": "single", 325 "sort": "none" 326 } 327 }, 328 "pluginVersion": "8.3.1", 329 "targets": [ 330 { 331 "datasource": null, 332 "exemplar": true, 333 "expr": "topk(5, sum(increase(couper_client_request_error_types_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host=~\"$host\"} [2m])) by (error) > 0)", 334 "hide": false, 335 "interval": "", 336 "legendFormat": "{{error}}", 337 "refId": "A" 338 }, 339 { 340 "datasource": null, 341 "exemplar": true, 342 "expr": "sum(increase(couper_client_request_error_types_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host=~\"$host\"} [2m])) by (error) > 0", 343 "hide": true, 344 "interval": "", 345 "legendFormat": "", 346 "refId": "B" 347 } 348 ], 349 "title": "Top5 - Errors by type", 350 "transparent": true, 351 "type": "piechart" 352 }, 353 { 354 "datasource": null, 355 "fieldConfig": { 356 "defaults": { 357 "color": { 358 "mode": "thresholds" 359 }, 360 "decimals": 3, 361 "mappings": [], 362 "min": 0, 363 "noValue": "0.0 %", 364 "thresholds": { 365 "mode": "absolute", 366 "steps": [ 367 { 368 "color": "green", 369 "value": null 370 }, 371 { 372 "color": "#EAB839", 373 "value": 10 374 }, 375 { 376 "color": "red", 377 "value": 30 378 } 379 ] 380 }, 381 "unit": "percent" 382 }, 383 "overrides": [] 384 }, 385 "gridPos": { 386 "h": 3, 387 "w": 4, 388 "x": 20, 389 "y": 1 390 }, 391 "id": 4, 392 "options": { 393 "colorMode": "value", 394 "graphMode": "none", 395 "justifyMode": "auto", 396 "orientation": "auto", 397 "reduceOptions": { 398 "calcs": [ 399 "lastNotNull" 400 ], 401 "fields": "", 402 "values": false 403 }, 404 "text": {}, 405 "textMode": "auto" 406 }, 407 "pluginVersion": "8.4.5", 408 "targets": [ 409 { 410 "datasource": null, 411 "exemplar": true, 412 "expr": "(sum(increase(couper_client_request_total{job=\"$job\", service_name=\"$service\", code=~\"5.*\", namespace=\"$namespace\", host=~\"$host\"} [$__range])) > 0) * 100 / ignoring(code) group_left sum(increase(couper_client_request_total{job=\"$job\", service_name=\"$service\", code!~\"5.*|0\", namespace=\"$namespace\", host=~\"$host\"} [$__range])) > 0", 413 "hide": false, 414 "interval": "", 415 "legendFormat": "", 416 "refId": "A" 417 }, 418 { 419 "datasource": null, 420 "exemplar": true, 421 "expr": "sum(increase(couper_client_request_total{job=\"$job\", service_name=\"$service\", code=~\"5.*\", namespace=\"$namespace\", host=~\"$host\"} [2m])) by (code) > 0", 422 "hide": true, 423 "interval": "", 424 "legendFormat": "", 425 "refId": "B" 426 }, 427 { 428 "datasource": null, 429 "exemplar": true, 430 "expr": "sum(increase(couper_client_request_total{job=\"$job\", service_name=\"$service\", code!~\"5.*|0\", namespace=\"$namespace\"} [2m])) by (code) > 0", 431 "hide": true, 432 "interval": "", 433 "legendFormat": "", 434 "refId": "C" 435 } 436 ], 437 "title": "5xx requests", 438 "type": "stat" 439 }, 440 { 441 "datasource": null, 442 "gridPos": { 443 "h": 3, 444 "w": 4, 445 "x": 20, 446 "y": 4 447 }, 448 "id": 26, 449 "links": [ 450 { 451 "targetBlank": true, 452 "title": "Release notes", 453 "url": "https://github.com/avenga/couper/releases/tag/v${version}" 454 } 455 ], 456 "options": { 457 "content": "<center>${version}</center>", 458 "mode": "html" 459 }, 460 "pluginVersion": "8.4.5", 461 "targets": [ 462 { 463 "exemplar": true, 464 "expr": "sum(couper_client_request_total{}) by (service_version)", 465 "hide": false, 466 "interval": "", 467 "legendFormat": "{{service_version}}", 468 "refId": "B" 469 } 470 ], 471 "title": "Couper version", 472 "type": "text" 473 }, 474 { 475 "collapsed": false, 476 "datasource": null, 477 "gridPos": { 478 "h": 1, 479 "w": 24, 480 "x": 0, 481 "y": 32 482 }, 483 "id": 11, 484 "panels": [], 485 "repeat": "origin", 486 "title": "Backend: ${origin:doublequote}", 487 "type": "row" 488 }, 489 { 490 "datasource": null, 491 "fieldConfig": { 492 "defaults": { 493 "color": { 494 "fixedColor": "yellow", 495 "mode": "palette-classic" 496 }, 497 "custom": { 498 "axisLabel": "", 499 "axisPlacement": "auto", 500 "barAlignment": 0, 501 "drawStyle": "points", 502 "fillOpacity": 0, 503 "gradientMode": "none", 504 "hideFrom": { 505 "legend": false, 506 "tooltip": false, 507 "viz": false 508 }, 509 "lineInterpolation": "linear", 510 "lineStyle": { 511 "dash": [ 512 0, 513 10 514 ], 515 "fill": "dot" 516 }, 517 "lineWidth": 2, 518 "pointSize": 5, 519 "scaleDistribution": { 520 "type": "linear" 521 }, 522 "showPoints": "never", 523 "spanNulls": true, 524 "stacking": { 525 "group": "A", 526 "mode": "none" 527 }, 528 "thresholdsStyle": { 529 "mode": "off" 530 } 531 }, 532 "mappings": [], 533 "min": 0, 534 "thresholds": { 535 "mode": "absolute", 536 "steps": [ 537 { 538 "color": "green", 539 "value": null 540 } 541 ] 542 }, 543 "unit": "reqps" 544 }, 545 "overrides": [] 546 }, 547 "gridPos": { 548 "h": 6, 549 "w": 8, 550 "x": 0, 551 "y": 33 552 }, 553 "id": 14, 554 "options": { 555 "legend": { 556 "calcs": [], 557 "displayMode": "list", 558 "placement": "bottom" 559 }, 560 "tooltip": { 561 "mode": "single", 562 "sort": "none" 563 } 564 }, 565 "pluginVersion": "8.1.3", 566 "targets": [ 567 { 568 "datasource": null, 569 "exemplar": true, 570 "expr": "sum(rate(couper_backend_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", origin=~\"$origin\"} [2m])) by (code) > 0", 571 "interval": "1", 572 "legendFormat": "{{code}}", 573 "refId": "A" 574 } 575 ], 576 "title": "Total Requests", 577 "type": "timeseries" 578 }, 579 { 580 "datasource": null, 581 "fieldConfig": { 582 "defaults": { 583 "color": { 584 "mode": "continuous-GrYlRd" 585 }, 586 "custom": { 587 "axisLabel": "", 588 "axisPlacement": "auto", 589 "barAlignment": 0, 590 "drawStyle": "line", 591 "fillOpacity": 50, 592 "gradientMode": "scheme", 593 "hideFrom": { 594 "legend": false, 595 "tooltip": false, 596 "viz": false 597 }, 598 "lineInterpolation": "smooth", 599 "lineWidth": 2, 600 "pointSize": 5, 601 "scaleDistribution": { 602 "type": "linear" 603 }, 604 "showPoints": "auto", 605 "spanNulls": true, 606 "stacking": { 607 "group": "A", 608 "mode": "none" 609 }, 610 "thresholdsStyle": { 611 "mode": "off" 612 } 613 }, 614 "decimals": 2, 615 "mappings": [], 616 "thresholds": { 617 "mode": "absolute", 618 "steps": [ 619 { 620 "color": "green", 621 "value": null 622 } 623 ] 624 }, 625 "unit": "s" 626 }, 627 "overrides": [] 628 }, 629 "gridPos": { 630 "h": 6, 631 "w": 4, 632 "x": 8, 633 "y": 33 634 }, 635 "id": 16, 636 "options": { 637 "legend": { 638 "calcs": [], 639 "displayMode": "hidden", 640 "placement": "bottom" 641 }, 642 "tooltip": { 643 "mode": "single", 644 "sort": "none" 645 } 646 }, 647 "pluginVersion": "8.1.3", 648 "targets": [ 649 { 650 "datasource": null, 651 "exemplar": true, 652 "expr": "sum by (origin) (quantile_over_time(0.95,couper_backend_request_duration_seconds{code!~\"^5.*|0\", job=\"$job\", service_name=\"$service\", namespace=\"$namespace\",origin=~\"$origin\"} [2m])) or histogram_quantile(0.95,sum(increase(couper_backend_request_duration_seconds_bucket{code!~\"^5.*|0\", job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", origin=~\"$origin\"} [2m])) by (le, hostname))", 653 "interval": "", 654 "legendFormat": " ", 655 "refId": "A" 656 } 657 ], 658 "title": "95th Percentile of request time", 659 "transparent": true, 660 "type": "timeseries" 661 }, 662 { 663 "datasource": null, 664 "fieldConfig": { 665 "defaults": { 666 "color": { 667 "mode": "thresholds" 668 }, 669 "decimals": 0, 670 "mappings": [], 671 "min": 0, 672 "thresholds": { 673 "mode": "absolute", 674 "steps": [ 675 { 676 "color": "super-light-green", 677 "value": null 678 }, 679 { 680 "color": "#EAB839", 681 "value": 32 682 }, 683 { 684 "color": "red", 685 "value": 64 686 } 687 ] 688 }, 689 "unit": "none" 690 }, 691 "overrides": [] 692 }, 693 "gridPos": { 694 "h": 6, 695 "w": 3, 696 "x": 12, 697 "y": 33 698 }, 699 "id": 15, 700 "options": { 701 "colorMode": "value", 702 "graphMode": "area", 703 "justifyMode": "auto", 704 "orientation": "vertical", 705 "reduceOptions": { 706 "calcs": [ 707 "lastNotNull" 708 ], 709 "fields": "", 710 "values": false 711 }, 712 "textMode": "auto" 713 }, 714 "pluginVersion": "8.4.5", 715 "targets": [ 716 { 717 "datasource": null, 718 "exemplar": true, 719 "expr": "sum(couper_backend_connections_count{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", origin=~\"$origin\"}) by (origin)", 720 "interval": "1", 721 "legendFormat": " ", 722 "refId": "A" 723 } 724 ], 725 "title": "Current connections", 726 "type": "stat" 727 }, 728 { 729 "datasource": null, 730 "description": "", 731 "fieldConfig": { 732 "defaults": { 733 "color": { 734 "mode": "thresholds" 735 }, 736 "decimals": 0, 737 "mappings": [ 738 { 739 "options": { 740 "0": { 741 "index": 0, 742 "text": "💔" 743 }, 744 "1": { 745 "index": 1, 746 "text": "💚" 747 } 748 }, 749 "type": "value" 750 } 751 ], 752 "min": 0, 753 "thresholds": { 754 "mode": "absolute", 755 "steps": [ 756 { 757 "color": "semi-dark-red", 758 "value": null 759 }, 760 { 761 "color": "semi-dark-green", 762 "value": 1 763 } 764 ] 765 }, 766 "unit": "none" 767 }, 768 "overrides": [] 769 }, 770 "gridPos": { 771 "h": 6, 772 "w": 2, 773 "x": 15, 774 "y": 33 775 }, 776 "id": 56, 777 "options": { 778 "colorMode": "value", 779 "graphMode": "area", 780 "justifyMode": "auto", 781 "orientation": "vertical", 782 "reduceOptions": { 783 "calcs": [ 784 "lastNotNull" 785 ], 786 "fields": "", 787 "values": false 788 }, 789 "textMode": "value" 790 }, 791 "pluginVersion": "8.4.5", 792 "targets": [ 793 { 794 "datasource": null, 795 "exemplar": true, 796 "expr": "group(last_over_time(couper_backend_up{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", origin=~\"$origin\"}[1h])) by (origin)", 797 "instant": false, 798 "interval": "1", 799 "legendFormat": " ", 800 "refId": "A" 801 } 802 ], 803 "title": "Health", 804 "transparent": true, 805 "type": "stat" 806 }, 807 { 808 "datasource": null, 809 "fieldConfig": { 810 "defaults": { 811 "color": { 812 "fixedColor": "semi-dark-purple", 813 "mode": "fixed" 814 }, 815 "custom": { 816 "axisLabel": "", 817 "axisPlacement": "auto", 818 "barAlignment": 0, 819 "drawStyle": "line", 820 "fillOpacity": 0, 821 "gradientMode": "scheme", 822 "hideFrom": { 823 "legend": false, 824 "tooltip": false, 825 "viz": false 826 }, 827 "lineInterpolation": "smooth", 828 "lineStyle": { 829 "fill": "solid" 830 }, 831 "lineWidth": 2, 832 "pointSize": 5, 833 "scaleDistribution": { 834 "type": "linear" 835 }, 836 "showPoints": "never", 837 "spanNulls": true, 838 "stacking": { 839 "group": "A", 840 "mode": "none" 841 }, 842 "thresholdsStyle": { 843 "mode": "off" 844 } 845 }, 846 "decimals": 0, 847 "mappings": [], 848 "min": 0, 849 "thresholds": { 850 "mode": "absolute", 851 "steps": [ 852 { 853 "color": "green", 854 "value": null 855 } 856 ] 857 }, 858 "unit": "none" 859 }, 860 "overrides": [] 861 }, 862 "gridPos": { 863 "h": 6, 864 "w": 3, 865 "x": 17, 866 "y": 33 867 }, 868 "id": 17, 869 "options": { 870 "legend": { 871 "calcs": [], 872 "displayMode": "hidden", 873 "placement": "bottom" 874 }, 875 "tooltip": { 876 "mode": "single", 877 "sort": "none" 878 } 879 }, 880 "pluginVersion": "8.1.3", 881 "targets": [ 882 { 883 "datasource": null, 884 "exemplar": true, 885 "expr": "sum(increase(couper_backend_connections_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", origin=~\"$origin\"} [2m])) by (origin)", 886 "interval": "1", 887 "legendFormat": " ", 888 "refId": "A" 889 } 890 ], 891 "title": "Connections over time", 892 "transparent": true, 893 "type": "timeseries" 894 }, 895 { 896 "datasource": null, 897 "fieldConfig": { 898 "defaults": { 899 "color": { 900 "mode": "fixed" 901 }, 902 "custom": { 903 "align": "auto", 904 "displayMode": "auto" 905 }, 906 "mappings": [], 907 "thresholds": { 908 "mode": "absolute", 909 "steps": [ 910 { 911 "color": "green", 912 "value": null 913 }, 914 { 915 "color": "red", 916 "value": 80 917 } 918 ] 919 } 920 }, 921 "overrides": [] 922 }, 923 "gridPos": { 924 "h": 6, 925 "w": 4, 926 "x": 20, 927 "y": 33 928 }, 929 "id": 18, 930 "options": { 931 "footer": { 932 "fields": "", 933 "reducer": [ 934 "sum" 935 ], 936 "show": false 937 }, 938 "showHeader": true, 939 "sortBy": [ 940 { 941 "desc": true, 942 "displayName": "Time" 943 } 944 ] 945 }, 946 "pluginVersion": "8.4.5", 947 "targets": [ 948 { 949 "datasource": null, 950 "exemplar": false, 951 "expr": "sum by (backend_name,hostname) (couper_backend_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", origin=~\"$origin\"})", 952 "format": "table", 953 "instant": true, 954 "interval": "1", 955 "legendFormat": "", 956 "refId": "A" 957 } 958 ], 959 "title": "Info", 960 "transformations": [ 961 { 962 "id": "organize", 963 "options": { 964 "excludeByName": { 965 "Time": true, 966 "Value": true, 967 "Value #A": true, 968 "__name__": true, 969 "code": true, 970 "criticality": true, 971 "instance": true, 972 "job": true, 973 "kubernetes_cluster_name": true, 974 "method": true, 975 "namespace": true, 976 "origin": true, 977 "pod": true, 978 "service_name": true, 979 "service_version": true 980 }, 981 "indexByName": {}, 982 "renameByName": {} 983 } 984 } 985 ], 986 "type": "table" 987 }, 988 { 989 "collapsed": false, 990 "datasource": null, 991 "gridPos": { 992 "h": 1, 993 "w": 24, 994 "x": 0, 995 "y": 39 996 }, 997 "id": 20, 998 "panels": [ 999 { 1000 "datasource": null, 1001 "fieldConfig": { 1002 "defaults": { 1003 "color": { 1004 "mode": "palette-classic" 1005 }, 1006 "custom": { 1007 "axisLabel": "", 1008 "axisPlacement": "auto", 1009 "barAlignment": 0, 1010 "drawStyle": "line", 1011 "fillOpacity": 0, 1012 "gradientMode": "none", 1013 "hideFrom": { 1014 "legend": false, 1015 "tooltip": false, 1016 "viz": false 1017 }, 1018 "lineInterpolation": "smooth", 1019 "lineWidth": 2, 1020 "pointSize": 5, 1021 "scaleDistribution": { 1022 "type": "linear" 1023 }, 1024 "showPoints": "auto", 1025 "spanNulls": false, 1026 "stacking": { 1027 "group": "A", 1028 "mode": "none" 1029 }, 1030 "thresholdsStyle": { 1031 "mode": "off" 1032 } 1033 }, 1034 "mappings": [], 1035 "thresholds": { 1036 "mode": "absolute", 1037 "steps": [ 1038 { 1039 "color": "green" 1040 }, 1041 { 1042 "color": "red", 1043 "value": 80 1044 } 1045 ] 1046 }, 1047 "unit": "none" 1048 }, 1049 "overrides": [] 1050 }, 1051 "gridPos": { 1052 "h": 8, 1053 "w": 8, 1054 "x": 0, 1055 "y": 23 1056 }, 1057 "id": 22, 1058 "options": { 1059 "legend": { 1060 "calcs": [], 1061 "displayMode": "hidden", 1062 "placement": "bottom" 1063 }, 1064 "tooltip": { 1065 "mode": "single" 1066 } 1067 }, 1068 "targets": [ 1069 { 1070 "exemplar": true, 1071 "expr": "sum(go_goroutines{job=\"$job\", namespace=\"$namespace\"}) / count (go_goroutines{job=\"$job\", namespace=\"$namespace\"})", 1072 "interval": "", 1073 "legendFormat": " ", 1074 "refId": "A" 1075 } 1076 ], 1077 "title": "Goroutines", 1078 "type": "timeseries" 1079 }, 1080 { 1081 "datasource": null, 1082 "fieldConfig": { 1083 "defaults": { 1084 "color": { 1085 "mode": "palette-classic" 1086 }, 1087 "custom": { 1088 "axisLabel": "", 1089 "axisPlacement": "auto", 1090 "barAlignment": 0, 1091 "drawStyle": "line", 1092 "fillOpacity": 0, 1093 "gradientMode": "none", 1094 "hideFrom": { 1095 "legend": false, 1096 "tooltip": false, 1097 "viz": false 1098 }, 1099 "lineInterpolation": "smooth", 1100 "lineWidth": 2, 1101 "pointSize": 5, 1102 "scaleDistribution": { 1103 "type": "linear" 1104 }, 1105 "showPoints": "auto", 1106 "spanNulls": true, 1107 "stacking": { 1108 "group": "A", 1109 "mode": "none" 1110 }, 1111 "thresholdsStyle": { 1112 "mode": "off" 1113 } 1114 }, 1115 "mappings": [], 1116 "min": 0, 1117 "thresholds": { 1118 "mode": "absolute", 1119 "steps": [ 1120 { 1121 "color": "green" 1122 } 1123 ] 1124 }, 1125 "unit": "decbytes" 1126 }, 1127 "overrides": [] 1128 }, 1129 "gridPos": { 1130 "h": 8, 1131 "w": 5, 1132 "x": 8, 1133 "y": 23 1134 }, 1135 "id": 23, 1136 "options": { 1137 "legend": { 1138 "calcs": [], 1139 "displayMode": "list", 1140 "placement": "bottom" 1141 }, 1142 "tooltip": { 1143 "mode": "single" 1144 } 1145 }, 1146 "targets": [ 1147 { 1148 "exemplar": true, 1149 "expr": "sum(go_memstats_heap_alloc_bytes{job=\"$job\", namespace=\"$namespace\"}) / count (go_memstats_heap_alloc_bytes{job=\"$job\", namespace=\"$namespace\"})", 1150 "interval": "", 1151 "legendFormat": "alloc", 1152 "refId": "A" 1153 }, 1154 { 1155 "exemplar": true, 1156 "expr": "sum(go_memstats_heap_sys_bytes{job=\"$job\", namespace=\"$namespace\"}) / count (go_memstats_heap_alloc_bytes{job=\"$job\", namespace=\"$namespace\"})", 1157 "hide": false, 1158 "interval": "", 1159 "legendFormat": "sys", 1160 "refId": "B" 1161 }, 1162 { 1163 "exemplar": true, 1164 "expr": "sum(go_memstats_heap_idle_bytes{job=\"$job\", namespace=\"$namespace\"}) / count (go_memstats_heap_alloc_bytes{job=\"$job\", namespace=\"$namespace\"})", 1165 "hide": false, 1166 "interval": "", 1167 "legendFormat": "idle", 1168 "refId": "C" 1169 } 1170 ], 1171 "title": "Heap Memory", 1172 "type": "timeseries" 1173 }, 1174 { 1175 "datasource": null, 1176 "fieldConfig": { 1177 "defaults": { 1178 "color": { 1179 "mode": "palette-classic" 1180 }, 1181 "custom": { 1182 "axisLabel": "", 1183 "axisPlacement": "auto", 1184 "barAlignment": 0, 1185 "drawStyle": "line", 1186 "fillOpacity": 0, 1187 "gradientMode": "none", 1188 "hideFrom": { 1189 "legend": false, 1190 "tooltip": false, 1191 "viz": false 1192 }, 1193 "lineInterpolation": "smooth", 1194 "lineWidth": 2, 1195 "pointSize": 5, 1196 "scaleDistribution": { 1197 "type": "linear" 1198 }, 1199 "showPoints": "auto", 1200 "spanNulls": true, 1201 "stacking": { 1202 "group": "A", 1203 "mode": "none" 1204 }, 1205 "thresholdsStyle": { 1206 "mode": "off" 1207 } 1208 }, 1209 "mappings": [], 1210 "min": 0, 1211 "thresholds": { 1212 "mode": "absolute", 1213 "steps": [ 1214 { 1215 "color": "green" 1216 } 1217 ] 1218 }, 1219 "unit": "s" 1220 }, 1221 "overrides": [] 1222 }, 1223 "gridPos": { 1224 "h": 8, 1225 "w": 5, 1226 "x": 13, 1227 "y": 23 1228 }, 1229 "id": 28, 1230 "options": { 1231 "legend": { 1232 "calcs": [], 1233 "displayMode": "hidden", 1234 "placement": "bottom" 1235 }, 1236 "tooltip": { 1237 "mode": "single" 1238 } 1239 }, 1240 "targets": [ 1241 { 1242 "exemplar": true, 1243 "expr": "rate(couper_process_cpu_seconds_total{job=\"$job\", namespace=\"$namespace\"} [2m])", 1244 "interval": "", 1245 "legendFormat": "{pod={{pod}}}", 1246 "refId": "A" 1247 } 1248 ], 1249 "title": "CPU seconds", 1250 "type": "timeseries" 1251 }, 1252 { 1253 "datasource": null, 1254 "fieldConfig": { 1255 "defaults": { 1256 "color": { 1257 "mode": "thresholds" 1258 }, 1259 "mappings": [], 1260 "min": 0, 1261 "thresholds": { 1262 "mode": "absolute", 1263 "steps": [ 1264 { 1265 "color": "green" 1266 } 1267 ] 1268 }, 1269 "unit": "none" 1270 }, 1271 "overrides": [] 1272 }, 1273 "gridPos": { 1274 "h": 8, 1275 "w": 3, 1276 "x": 18, 1277 "y": 23 1278 }, 1279 "id": 24, 1280 "options": { 1281 "colorMode": "value", 1282 "graphMode": "area", 1283 "justifyMode": "auto", 1284 "orientation": "auto", 1285 "reduceOptions": { 1286 "calcs": [ 1287 "lastNotNull" 1288 ], 1289 "fields": "", 1290 "values": false 1291 }, 1292 "text": {}, 1293 "textMode": "auto" 1294 }, 1295 "pluginVersion": "8.3.1", 1296 "targets": [ 1297 { 1298 "exemplar": true, 1299 "expr": "go_threads{job=\"$job\", namespace=\"$namespace\"}", 1300 "interval": "", 1301 "legendFormat": "alloc", 1302 "refId": "A" 1303 } 1304 ], 1305 "title": "Threads", 1306 "type": "stat" 1307 }, 1308 { 1309 "datasource": null, 1310 "fieldConfig": { 1311 "defaults": { 1312 "color": { 1313 "mode": "thresholds" 1314 }, 1315 "mappings": [], 1316 "min": 0, 1317 "thresholds": { 1318 "mode": "absolute", 1319 "steps": [ 1320 { 1321 "color": "green" 1322 } 1323 ] 1324 }, 1325 "unit": "none" 1326 }, 1327 "overrides": [] 1328 }, 1329 "gridPos": { 1330 "h": 8, 1331 "w": 3, 1332 "x": 21, 1333 "y": 23 1334 }, 1335 "id": 27, 1336 "options": { 1337 "colorMode": "value", 1338 "graphMode": "area", 1339 "justifyMode": "auto", 1340 "orientation": "auto", 1341 "reduceOptions": { 1342 "calcs": [ 1343 "lastNotNull" 1344 ], 1345 "fields": "", 1346 "values": false 1347 }, 1348 "text": {}, 1349 "textMode": "auto" 1350 }, 1351 "pluginVersion": "8.3.1", 1352 "targets": [ 1353 { 1354 "exemplar": true, 1355 "expr": "couper_process_open_fds{job=\"$job\", namespace=\"$namespace\"}", 1356 "interval": "", 1357 "legendFormat": "alloc", 1358 "refId": "A" 1359 } 1360 ], 1361 "title": "Open FDs", 1362 "type": "stat" 1363 } 1364 ], 1365 "title": "Process", 1366 "type": "row" 1367 }, 1368 { 1369 "collapsed": false, 1370 "gridPos": { 1371 "h": 1, 1372 "w": 24, 1373 "x": 0, 1374 "y": 40 1375 }, 1376 "id": 31, 1377 "panels": [], 1378 "title": "Beta", 1379 "type": "row" 1380 }, 1381 { 1382 "cards": {}, 1383 "color": { 1384 "cardColor": "#b4ff00", 1385 "colorScale": "sqrt", 1386 "colorScheme": "interpolateOranges", 1387 "exponent": 0.5, 1388 "mode": "opacity" 1389 }, 1390 "dataFormat": "timeseries", 1391 "datasource": null, 1392 "gridPos": { 1393 "h": 8, 1394 "w": 12, 1395 "x": 0, 1396 "y": 41 1397 }, 1398 "heatmap": {}, 1399 "hideZeroBuckets": true, 1400 "highlightCards": true, 1401 "id": 33, 1402 "legend": { 1403 "show": false 1404 }, 1405 "reverseYBuckets": false, 1406 "targets": [ 1407 { 1408 "exemplar": true, 1409 "expr": "sum(rate(couper_client_request_duration_seconds_bucket{job=\"$job\", namespace=\"$namespace\", service_name=\"$service\"} [$__rate_interval:10s])) by (le)", 1410 "interval": "", 1411 "legendFormat": "", 1412 "queryType": "randomWalk", 1413 "refId": "A" 1414 } 1415 ], 1416 "title": "Client request duration", 1417 "tooltip": { 1418 "show": true, 1419 "showHistogram": false 1420 }, 1421 "type": "heatmap", 1422 "xAxis": { 1423 "show": true 1424 }, 1425 "yAxis": { 1426 "format": "s", 1427 "logBase": 1, 1428 "min": "0", 1429 "show": true 1430 }, 1431 "yBucketBound": "auto" 1432 }, 1433 { 1434 "cards": {}, 1435 "color": { 1436 "cardColor": "#b4ff00", 1437 "colorScale": "sqrt", 1438 "colorScheme": "interpolateOranges", 1439 "exponent": 0.5, 1440 "mode": "opacity" 1441 }, 1442 "dataFormat": "timeseries", 1443 "datasource": null, 1444 "gridPos": { 1445 "h": 8, 1446 "w": 12, 1447 "x": 12, 1448 "y": 41 1449 }, 1450 "heatmap": {}, 1451 "hideZeroBuckets": true, 1452 "highlightCards": true, 1453 "id": 34, 1454 "legend": { 1455 "show": false 1456 }, 1457 "reverseYBuckets": false, 1458 "targets": [ 1459 { 1460 "exemplar": true, 1461 "expr": "sum(rate(couper_backend_request_duration_seconds_bucket{job=\"$job\", namespace=\"$namespace\", service_name=\"$service\"} [$__rate_interval:10s])) by (le)", 1462 "interval": "", 1463 "legendFormat": "", 1464 "queryType": "randomWalk", 1465 "refId": "A" 1466 } 1467 ], 1468 "title": "upstream request duration", 1469 "tooltip": { 1470 "show": true, 1471 "showHistogram": false 1472 }, 1473 "type": "heatmap", 1474 "xAxis": { 1475 "show": true 1476 }, 1477 "yAxis": { 1478 "format": "s", 1479 "logBase": 1, 1480 "min": "0", 1481 "show": true 1482 }, 1483 "yBucketBound": "auto" 1484 } 1485 ], 1486 "refresh": "30s", 1487 "schemaVersion": 35, 1488 "style": "white", 1489 "tags": [ 1490 "couper" 1491 ], 1492 "templating": { 1493 "list": [ 1494 { 1495 "current": null, 1496 "datasource": null, 1497 "definition": "label_values(couper_client_request_total, namespace)", 1498 "description": "filter metrics by kubernetes namespace", 1499 "hide": 0, 1500 "includeAll": false, 1501 "label": "K8s namespace", 1502 "multi": false, 1503 "name": "namespace", 1504 "options": [], 1505 "query": { 1506 "query": "label_values(couper_client_request_total, namespace)", 1507 "refId": "StandardVariableQuery" 1508 }, 1509 "refresh": 1, 1510 "regex": "", 1511 "skipUrlSync": false, 1512 "sort": 0, 1513 "type": "query" 1514 }, 1515 { 1516 "current": { 1517 "selected": false, 1518 "text": "kubernetes-pods", 1519 "value": "kubernetes-pods" 1520 }, 1521 "datasource": null, 1522 "definition": "label_values(couper_client_request_total, job)", 1523 "description": "filter metrics by scrape job", 1524 "hide": 2, 1525 "includeAll": false, 1526 "label": "Scrape Job", 1527 "multi": false, 1528 "name": "job", 1529 "options": [], 1530 "query": { 1531 "query": "label_values(couper_client_request_total, job)", 1532 "refId": "StandardVariableQuery" 1533 }, 1534 "refresh": 1, 1535 "regex": "", 1536 "skipUrlSync": false, 1537 "sort": 0, 1538 "type": "query" 1539 }, 1540 { 1541 "current": { 1542 "selected": false, 1543 "text": "couper", 1544 "value": "couper" 1545 }, 1546 "datasource": null, 1547 "definition": "label_values(couper_client_request_total, service_name)", 1548 "description": "filter metrics by service name", 1549 "hide": 0, 1550 "includeAll": false, 1551 "label": "Service", 1552 "multi": false, 1553 "name": "service", 1554 "options": [], 1555 "query": { 1556 "query": "label_values(couper_client_request_total, service_name)", 1557 "refId": "StandardVariableQuery" 1558 }, 1559 "refresh": 1, 1560 "regex": "", 1561 "skipUrlSync": false, 1562 "sort": 0, 1563 "type": "query" 1564 }, 1565 { 1566 "current": { 1567 "selected": false, 1568 "text": "1.9.1", 1569 "value": "1.9.1" 1570 }, 1571 "datasource": null, 1572 "definition": "label_values(couper_client_request_total{namespace=\"$namespace\"},service_version)", 1573 "hide": 2, 1574 "includeAll": false, 1575 "multi": false, 1576 "name": "version", 1577 "options": [], 1578 "query": { 1579 "query": "label_values(couper_client_request_total{namespace=\"$namespace\"},service_version)", 1580 "refId": "StandardVariableQuery" 1581 }, 1582 "refresh": 2, 1583 "regex": "", 1584 "skipUrlSync": false, 1585 "sort": 0, 1586 "type": "query" 1587 }, 1588 { 1589 "allValue": "", 1590 "current": { 1591 "selected": false, 1592 "text": [ 1593 "All" 1594 ], 1595 "value": [ 1596 "$__all" 1597 ] 1598 }, 1599 "datasource": null, 1600 "definition": "label_values(couper_backend_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\"},origin)", 1601 "description": "show selected upstream metrics", 1602 "hide": 2, 1603 "includeAll": true, 1604 "label": "Backends", 1605 "multi": true, 1606 "name": "origin", 1607 "options": [], 1608 "query": { 1609 "query": "label_values(couper_backend_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\"},origin)", 1610 "refId": "StandardVariableQuery" 1611 }, 1612 "refresh": 1, 1613 "regex": "", 1614 "skipUrlSync": false, 1615 "sort": 1, 1616 "type": "query" 1617 }, 1618 { 1619 "allValue": "", 1620 "current": { 1621 "selected": false, 1622 "text": [ 1623 "All" 1624 ], 1625 "value": [ 1626 "$__all" 1627 ] 1628 }, 1629 "datasource": null, 1630 "definition": "label_values(couper_client_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host!~\"^\\\\d+.*:\\\\d+$\"},host)", 1631 "description": "show selected upstream metrics", 1632 "hide": 2, 1633 "includeAll": true, 1634 "label": "Backends", 1635 "multi": true, 1636 "name": "host", 1637 "options": [], 1638 "query": { 1639 "query": "label_values(couper_client_request_total{job=\"$job\", service_name=\"$service\", namespace=\"$namespace\", host!~\"^\\\\d+.*:\\\\d+$\"},host)", 1640 "refId": "StandardVariableQuery" 1641 }, 1642 "refresh": 1, 1643 "regex": "", 1644 "skipUrlSync": false, 1645 "sort": 1, 1646 "type": "query" 1647 } 1648 ] 1649 }, 1650 "time": { 1651 "from": "now-2d", 1652 "to": "now" 1653 }, 1654 "timepicker": {}, 1655 "timezone": "", 1656 "title": "Couper", 1657 "uid": "CouperDash", 1658 "version": 1, 1659 "weekStart": "" 1660 }