1{
2 "__inputs": [
3 {
4 "name": "datasource",
5 "label": "prometheus",
6 "description": "",
7 "type": "datasource",
8 "pluginId": "prometheus",
9 "pluginName": "Prometheus"
10 }
11 ],
12 "__elements": [],
13 "__requires": [
14 {
15 "type": "panel",
16 "id": "gauge",
17 "name": "Gauge",
18 "version": ""
19 },
20 {
21 "type": "grafana",
22 "id": "grafana",
23 "name": "Grafana",
24 "version": "8.3.3"
25 },
26 {
27 "type": "panel",
28 "id": "graph",
29 "name": "Graph (old)",
30 "version": ""
31 },
32 {
33 "type": "panel",
34 "id": "heatmap",
35 "name": "Heatmap",
36 "version": ""
37 },
38 {
39 "type": "datasource",
40 "id": "prometheus",
41 "name": "Prometheus",
42 "version": "1.0.0"
43 },
44 {
45 "type": "panel",
46 "id": "stat",
47 "name": "Stat",
48 "version": ""
49 },
50 {
51 "type": "panel",
52 "id": "text",
53 "name": "Text",
54 "version": ""
55 }
56 ],
57 "annotations": {
58 "list": [
59 {
60 "builtIn": 1,
61 "datasource": "-- Grafana --",
62 "enable": true,
63 "hide": true,
64 "iconColor": "rgba(0, 211, 255, 1)",
65 "name": "Annotations & Alerts",
66 "type": "dashboard"
67 }
68 ]
69 },
70 "editable": true,
71 "gnetId": null,
72 "graphTooltip": 1,
73 "id": 16,
74 "iteration": 1573121539385,
75 "links": [],
76 "panels": [
77 {
78 "content": "<div style=\"display: flex; align-items: center\">\n <img src=\"https://linkerd.io/images/identity/favicon/linkerd-favicon.png\" style=\"height:32px;\"/> \n <span style=\"font-size: 32px\">replicaset/$replicaset</span>\n</div>",
79 "gridPos": {
80 "h": 2,
81 "w": 24,
82 "x": 0,
83 "y": 0
84 },
85 "id": 20,
86 "links": [],
87 "mode": "html",
88 "options": {},
89 "title": "",
90 "transparent": true,
91 "type": "text"
92 },
93 {
94 "cacheTimeout": null,
95 "colorBackground": false,
96 "colorValue": false,
97 "colors": [
98 "#d44a3a",
99 "rgba(237, 129, 40, 0.89)",
100 "#299c46"
101 ],
102 "datasource": {
103 "type": "prometheus",
104 "uid": "${datasource}"
105 },
106 "decimals": null,
107 "format": "percentunit",
108 "gauge": {
109 "maxValue": 1,
110 "minValue": 0,
111 "show": true,
112 "thresholdLabels": false,
113 "thresholdMarkers": true
114 },
115 "gridPos": {
116 "h": 4,
117 "w": 8,
118 "x": 0,
119 "y": 2
120 },
121 "id": 5,
122 "interval": null,
123 "links": [],
124 "mappingType": 1,
125 "mappingTypes": [
126 {
127 "name": "value to text",
128 "value": 1
129 },
130 {
131 "name": "range to text",
132 "value": 2
133 }
134 ],
135 "maxDataPoints": 100,
136 "nullPointMode": "connected",
137 "nullText": null,
138 "options": {},
139 "postfix": "",
140 "postfixFontSize": "50%",
141 "prefix": "",
142 "prefixFontSize": "50%",
143 "rangeMaps": [
144 {
145 "from": "null",
146 "text": "N/A",
147 "to": "null"
148 }
149 ],
150 "sparkline": {
151 "fillColor": "rgba(31, 118, 189, 0.18)",
152 "full": true,
153 "lineColor": "rgb(31, 120, 193)",
154 "show": true
155 },
156 "tableColumn": "",
157 "targets": [
158 {
159 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval])) / sum(irate(response_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval]))",
160 "format": "time_series",
161 "instant": false,
162 "intervalFactor": 1,
163 "legendFormat": "",
164 "refId": "A"
165 }
166 ],
167 "thresholds": "0.9,.99",
168 "title": "SUCCESS RATE",
169 "transparent": true,
170 "type": "singlestat",
171 "valueFontSize": "80%",
172 "valueMaps": [
173 {
174 "op": "=",
175 "text": "N/A",
176 "value": "null"
177 }
178 ],
179 "valueName": "current"
180 },
181 {
182 "cacheTimeout": null,
183 "colorBackground": false,
184 "colorValue": false,
185 "colors": [
186 "#299c46",
187 "rgba(237, 129, 40, 0.89)",
188 "#d44a3a"
189 ],
190 "datasource": {
191 "type": "prometheus",
192 "uid": "${datasource}"
193 },
194 "decimals": null,
195 "format": "none",
196 "gauge": {
197 "maxValue": 100,
198 "minValue": 0,
199 "show": false,
200 "thresholdLabels": false,
201 "thresholdMarkers": true
202 },
203 "gridPos": {
204 "h": 4,
205 "w": 8,
206 "x": 8,
207 "y": 2
208 },
209 "id": 4,
210 "interval": null,
211 "links": [],
212 "mappingType": 1,
213 "mappingTypes": [
214 {
215 "name": "value to text",
216 "value": 1
217 },
218 {
219 "name": "range to text",
220 "value": 2
221 }
222 ],
223 "maxDataPoints": 100,
224 "nullPointMode": "connected",
225 "nullText": null,
226 "options": {},
227 "postfix": " RPS",
228 "postfixFontSize": "100%",
229 "prefix": "",
230 "prefixFontSize": "50%",
231 "rangeMaps": [
232 {
233 "from": "null",
234 "text": "N/A",
235 "to": "null"
236 }
237 ],
238 "sparkline": {
239 "fillColor": "rgba(31, 118, 189, 0.18)",
240 "full": true,
241 "lineColor": "rgb(31, 120, 193)",
242 "show": true
243 },
244 "tableColumn": "",
245 "targets": [
246 {
247 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval]))",
248 "format": "time_series",
249 "instant": false,
250 "intervalFactor": 1,
251 "legendFormat": "",
252 "refId": "A"
253 }
254 ],
255 "thresholds": "",
256 "title": "REQUEST RATE",
257 "transparent": true,
258 "type": "singlestat",
259 "valueFontSize": "100%",
260 "valueMaps": [
261 {
262 "op": "=",
263 "text": "N/A",
264 "value": "null"
265 }
266 ],
267 "valueName": "current"
268 },
269 {
270 "cacheTimeout": null,
271 "colorBackground": false,
272 "colorValue": false,
273 "colors": [
274 "#299c46",
275 "rgba(237, 129, 40, 0.89)",
276 "#d44a3a"
277 ],
278 "datasource": {
279 "type": "prometheus",
280 "uid": "${datasource}"
281 },
282 "decimals": null,
283 "format": "none",
284 "gauge": {
285 "maxValue": 100,
286 "minValue": 0,
287 "show": false,
288 "thresholdLabels": false,
289 "thresholdMarkers": true
290 },
291 "gridPos": {
292 "h": 4,
293 "w": 4,
294 "x": 16,
295 "y": 2
296 },
297 "id": 11,
298 "interval": null,
299 "links": [],
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 "options": {},
315 "postfix": "",
316 "postfixFontSize": "100%",
317 "prefix": "",
318 "prefixFontSize": "100%",
319 "rangeMaps": [
320 {
321 "from": "null",
322 "text": "N/A",
323 "to": "null"
324 }
325 ],
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": "count(count(request_total{dst_namespace=\"$namespace\", replicaset!=\"\", dst_replicaset!=\"\", dst_replicaset=\"$replicaset\", direction=\"outbound\"}) by (namespace, replicaset))",
336 "format": "time_series",
337 "intervalFactor": 1,
338 "legendFormat": "",
339 "refId": "A"
340 }
341 ],
342 "thresholds": "",
343 "title": "INBOUND REPLICASETS",
344 "transparent": true,
345 "type": "singlestat",
346 "valueFontSize": "100%",
347 "valueMaps": [
348 {
349 "op": "=",
350 "text": "N/A",
351 "value": "null"
352 }
353 ],
354 "valueName": "current"
355 },
356 {
357 "cacheTimeout": null,
358 "colorBackground": false,
359 "colorValue": false,
360 "colors": [
361 "#299c46",
362 "rgba(237, 129, 40, 0.89)",
363 "#d44a3a"
364 ],
365 "datasource": {
366 "type": "prometheus",
367 "uid": "${datasource}"
368 },
369 "format": "none",
370 "gauge": {
371 "maxValue": 100,
372 "minValue": 0,
373 "show": false,
374 "thresholdLabels": false,
375 "thresholdMarkers": true
376 },
377 "gridPos": {
378 "h": 4,
379 "w": 4,
380 "x": 20,
381 "y": 2
382 },
383 "id": 15,
384 "interval": null,
385 "links": [],
386 "mappingType": 1,
387 "mappingTypes": [
388 {
389 "name": "value to text",
390 "value": 1
391 },
392 {
393 "name": "range to text",
394 "value": 2
395 }
396 ],
397 "maxDataPoints": 100,
398 "nullPointMode": "connected",
399 "nullText": null,
400 "options": {},
401 "postfix": "",
402 "postfixFontSize": "100%",
403 "prefix": "",
404 "prefixFontSize": "50%",
405 "rangeMaps": [
406 {
407 "from": "null",
408 "text": "N/A",
409 "to": "null"
410 }
411 ],
412 "sparkline": {
413 "fillColor": "rgba(31, 118, 189, 0.18)",
414 "full": false,
415 "lineColor": "rgb(31, 120, 193)",
416 "show": false
417 },
418 "tableColumn": "",
419 "targets": [
420 {
421 "expr": "count(count(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\"}) by (namespace, dst_replicaset))",
422 "format": "time_series",
423 "intervalFactor": 1,
424 "legendFormat": "",
425 "refId": "A"
426 }
427 ],
428 "thresholds": "",
429 "title": "OUTBOUND REPLICASETS",
430 "transparent": true,
431 "type": "singlestat",
432 "valueFontSize": "100%",
433 "valueMaps": [
434 {
435 "op": "=",
436 "text": "N/A",
437 "value": "null"
438 }
439 ],
440 "valueName": "current"
441 },
442 {
443 "content": "<div class=\"text-center dashboard-header\">\n <span>INBOUND TRAFFIC</span>\n</div>",
444 "gridPos": {
445 "h": 2,
446 "w": 24,
447 "x": 0,
448 "y": 6
449 },
450 "id": 17,
451 "links": [],
452 "mode": "html",
453 "options": {},
454 "title": "",
455 "transparent": true,
456 "type": "text"
457 },
458 {
459 "aliasColors": {},
460 "bars": false,
461 "dashLength": 10,
462 "dashes": false,
463 "datasource": {
464 "type": "prometheus",
465 "uid": "${datasource}"
466 },
467 "fill": 1,
468 "gridPos": {
469 "h": 7,
470 "w": 8,
471 "x": 0,
472 "y": 8
473 },
474 "id": 67,
475 "legend": {
476 "avg": false,
477 "current": false,
478 "max": false,
479 "min": false,
480 "show": false,
481 "total": false,
482 "values": false
483 },
484 "lines": true,
485 "linewidth": 2,
486 "links": [],
487 "nullPointMode": "null",
488 "options": {},
489 "percentage": false,
490 "pointradius": 5,
491 "points": false,
492 "renderer": "flot",
493 "seriesOverrides": [],
494 "spaceLength": 10,
495 "stack": false,
496 "steppedLine": false,
497 "targets": [
498 {
499 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval])) by (replicaset) / sum(irate(response_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval])) by (replicaset)",
500 "format": "time_series",
501 "intervalFactor": 1,
502 "legendFormat": "rs/{{replicaset}}",
503 "refId": "A"
504 }
505 ],
506 "thresholds": [],
507 "timeFrom": null,
508 "timeRegions": [],
509 "timeShift": null,
510 "title": "SUCCESS RATE",
511 "tooltip": {
512 "shared": true,
513 "sort": 2,
514 "value_type": "individual"
515 },
516 "type": "graph",
517 "xaxis": {
518 "buckets": null,
519 "mode": "time",
520 "name": null,
521 "show": true,
522 "values": []
523 },
524 "yaxes": [
525 {
526 "decimals": null,
527 "format": "percentunit",
528 "label": "",
529 "logBase": 1,
530 "max": "1",
531 "min": null,
532 "show": true
533 },
534 {
535 "format": "short",
536 "label": null,
537 "logBase": 1,
538 "max": null,
539 "min": null,
540 "show": true
541 }
542 ],
543 "yaxis": {
544 "align": false,
545 "alignLevel": null
546 }
547 },
548 {
549 "aliasColors": {},
550 "bars": false,
551 "dashLength": 10,
552 "dashes": false,
553 "datasource": {
554 "type": "prometheus",
555 "uid": "${datasource}"
556 },
557 "fill": 0,
558 "gridPos": {
559 "h": 7,
560 "w": 8,
561 "x": 8,
562 "y": 8
563 },
564 "id": 2,
565 "legend": {
566 "avg": false,
567 "current": false,
568 "max": false,
569 "min": false,
570 "show": false,
571 "total": false,
572 "values": false
573 },
574 "lines": true,
575 "linewidth": 2,
576 "links": [],
577 "nullPointMode": "null",
578 "options": {},
579 "percentage": false,
580 "pointradius": 5,
581 "points": false,
582 "renderer": "flot",
583 "seriesOverrides": [],
584 "spaceLength": 10,
585 "stack": false,
586 "steppedLine": false,
587 "targets": [
588 {
589 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\", tls=\"true\"}[$__rate_interval])) by (replicaset)",
590 "format": "time_series",
591 "intervalFactor": 1,
592 "legendFormat": "🔒rs/{{replicaset}}",
593 "refId": "A"
594 },
595 {
596 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\", tls!=\"true\"}[$__rate_interval])) by (replicaset)",
597 "format": "time_series",
598 "intervalFactor": 1,
599 "legendFormat": "rs/{{replicaset}}",
600 "refId": "B"
601 }
602 ],
603 "thresholds": [],
604 "timeFrom": null,
605 "timeRegions": [],
606 "timeShift": null,
607 "title": "REQUEST RATE",
608 "tooltip": {
609 "shared": true,
610 "sort": 2,
611 "value_type": "individual"
612 },
613 "type": "graph",
614 "xaxis": {
615 "buckets": null,
616 "mode": "time",
617 "name": null,
618 "show": true,
619 "values": []
620 },
621 "yaxes": [
622 {
623 "decimals": null,
624 "format": "rps",
625 "label": "",
626 "logBase": 1,
627 "max": null,
628 "min": "0",
629 "show": true
630 },
631 {
632 "format": "short",
633 "label": null,
634 "logBase": 1,
635 "max": null,
636 "min": null,
637 "show": true
638 }
639 ],
640 "yaxis": {
641 "align": false,
642 "alignLevel": null
643 }
644 },
645 {
646 "aliasColors": {},
647 "bars": false,
648 "dashLength": 10,
649 "dashes": false,
650 "datasource": {
651 "type": "prometheus",
652 "uid": "${datasource}"
653 },
654 "fill": 1,
655 "gridPos": {
656 "h": 7,
657 "w": 8,
658 "x": 16,
659 "y": 8
660 },
661 "id": 68,
662 "legend": {
663 "avg": false,
664 "current": false,
665 "max": false,
666 "min": false,
667 "show": false,
668 "total": false,
669 "values": false
670 },
671 "lines": true,
672 "linewidth": 2,
673 "links": [],
674 "nullPointMode": "null",
675 "options": {},
676 "percentage": false,
677 "pointradius": 5,
678 "points": false,
679 "renderer": "flot",
680 "seriesOverrides": [],
681 "spaceLength": 10,
682 "stack": false,
683 "steppedLine": false,
684 "targets": [
685 {
686 "expr": "histogram_quantile(0.5, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval])) by (le, replicaset))",
687 "format": "time_series",
688 "intervalFactor": 1,
689 "legendFormat": "p50 rs/{{replicaset}}",
690 "refId": "A"
691 },
692 {
693 "expr": "histogram_quantile(0.95, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval])) by (le, replicaset))",
694 "format": "time_series",
695 "hide": false,
696 "intervalFactor": 1,
697 "legendFormat": "p95 rs/{{replicaset}}",
698 "refId": "B"
699 },
700 {
701 "expr": "histogram_quantile(0.99, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}[$__rate_interval])) by (le, replicaset))",
702 "format": "time_series",
703 "intervalFactor": 1,
704 "legendFormat": "p99 rs/{{replicaset}}",
705 "refId": "C"
706 }
707 ],
708 "thresholds": [],
709 "timeFrom": null,
710 "timeRegions": [],
711 "timeShift": null,
712 "title": "LATENCY",
713 "tooltip": {
714 "shared": true,
715 "sort": 2,
716 "value_type": "individual"
717 },
718 "type": "graph",
719 "xaxis": {
720 "buckets": null,
721 "mode": "time",
722 "name": null,
723 "show": true,
724 "values": []
725 },
726 "yaxes": [
727 {
728 "decimals": null,
729 "format": "ms",
730 "label": "",
731 "logBase": 1,
732 "max": null,
733 "min": null,
734 "show": true
735 },
736 {
737 "format": "short",
738 "label": null,
739 "logBase": 1,
740 "max": null,
741 "min": null,
742 "show": true
743 }
744 ],
745 "yaxis": {
746 "align": false,
747 "alignLevel": null
748 }
749 },
750 {
751 "collapsed": true,
752 "gridPos": {
753 "h": 1,
754 "w": 24,
755 "x": 0,
756 "y": 15
757 },
758 "id": 148,
759 "panels": [
760 {
761 "aliasColors": {},
762 "bars": false,
763 "dashLength": 10,
764 "dashes": false,
765 "datasource": {
766 "type": "prometheus",
767 "uid": "${datasource}"
768 },
769 "fill": 1,
770 "gridPos": {
771 "h": 7,
772 "w": 8,
773 "x": 0,
774 "y": 16
775 },
776 "id": 167,
777 "legend": {
778 "avg": false,
779 "current": false,
780 "max": false,
781 "min": false,
782 "show": false,
783 "total": false,
784 "values": false
785 },
786 "lines": true,
787 "linewidth": 2,
788 "links": [],
789 "nullPointMode": "null",
790 "options": {},
791 "percentage": false,
792 "pointradius": 5,
793 "points": false,
794 "renderer": "flot",
795 "seriesOverrides": [],
796 "spaceLength": 10,
797 "stack": false,
798 "steppedLine": false,
799 "targets": [
800 {
801 "expr": "tcp_close_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\",errno!=\"\"}",
802 "format": "time_series",
803 "intervalFactor": 1,
804 "legendFormat": "{{peer}} {{errno}}",
805 "refId": "A"
806 }
807 ],
808 "thresholds": [],
809 "timeFrom": null,
810 "timeRegions": [],
811 "timeShift": null,
812 "title": "TCP CONNECTION FAILURES",
813 "tooltip": {
814 "shared": true,
815 "sort": 0,
816 "value_type": "individual"
817 },
818 "type": "graph",
819 "xaxis": {
820 "buckets": null,
821 "mode": "time",
822 "name": null,
823 "show": true,
824 "values": []
825 },
826 "yaxes": [
827 {
828 "decimals": null,
829 "format": "none",
830 "label": "",
831 "logBase": 1,
832 "max": null,
833 "min": "0",
834 "show": true
835 },
836 {
837 "format": "short",
838 "label": null,
839 "logBase": 1,
840 "max": null,
841 "min": null,
842 "show": true
843 }
844 ],
845 "yaxis": {
846 "align": false,
847 "alignLevel": null
848 }
849 },
850 {
851 "aliasColors": {},
852 "bars": false,
853 "dashLength": 10,
854 "dashes": false,
855 "datasource": {
856 "type": "prometheus",
857 "uid": "${datasource}"
858 },
859 "fill": 0,
860 "gridPos": {
861 "h": 7,
862 "w": 8,
863 "x": 8,
864 "y": 16
865 },
866 "id": 168,
867 "legend": {
868 "avg": false,
869 "current": false,
870 "max": false,
871 "min": false,
872 "show": false,
873 "total": false,
874 "values": false
875 },
876 "lines": true,
877 "linewidth": 2,
878 "links": [],
879 "nullPointMode": "null",
880 "options": {},
881 "percentage": false,
882 "pointradius": 5,
883 "points": false,
884 "renderer": "flot",
885 "seriesOverrides": [],
886 "spaceLength": 10,
887 "stack": false,
888 "steppedLine": false,
889 "targets": [
890 {
891 "expr": "tcp_open_connections{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}",
892 "format": "time_series",
893 "intervalFactor": 1,
894 "legendFormat": "{{peer}}",
895 "refId": "A"
896 }
897 ],
898 "thresholds": [],
899 "timeFrom": null,
900 "timeRegions": [],
901 "timeShift": null,
902 "title": "TCP CONNECTIONS OPEN",
903 "tooltip": {
904 "shared": true,
905 "sort": 0,
906 "value_type": "individual"
907 },
908 "type": "graph",
909 "xaxis": {
910 "buckets": null,
911 "mode": "time",
912 "name": null,
913 "show": true,
914 "values": []
915 },
916 "yaxes": [
917 {
918 "format": "short",
919 "label": "",
920 "logBase": 1,
921 "max": null,
922 "min": "0",
923 "show": true
924 },
925 {
926 "format": "short",
927 "label": null,
928 "logBase": 1,
929 "max": null,
930 "min": null,
931 "show": true
932 }
933 ],
934 "yaxis": {
935 "align": false,
936 "alignLevel": null
937 }
938 },
939 {
940 "cards": {
941 "cardPadding": null,
942 "cardRound": null
943 },
944 "color": {
945 "cardColor": "#b4ff00",
946 "colorScale": "sqrt",
947 "colorScheme": "interpolateOranges",
948 "exponent": 0.5,
949 "mode": "spectrum"
950 },
951 "dataFormat": "timeseries",
952 "datasource": {
953 "type": "prometheus",
954 "uid": "${datasource}"
955 },
956 "gridPos": {
957 "h": 7,
958 "w": 8,
959 "x": 16,
960 "y": 16
961 },
962 "heatmap": {},
963 "hideZeroBuckets": false,
964 "highlightCards": true,
965 "id": 169,
966 "legend": {
967 "show": false
968 },
969 "links": [],
970 "options": {},
971 "reverseYBuckets": false,
972 "targets": [
973 {
974 "expr": "tcp_connection_duration_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"inbound\"}",
975 "format": "time_series",
976 "intervalFactor": 1,
977 "refId": "A"
978 }
979 ],
980 "title": "TCP CONNECTION DURATION",
981 "tooltip": {
982 "show": true,
983 "showHistogram": true
984 },
985 "type": "heatmap",
986 "xAxis": {
987 "show": true
988 },
989 "xBucketNumber": null,
990 "xBucketSize": null,
991 "yAxis": {
992 "decimals": null,
993 "format": "dtdurationms",
994 "logBase": 1,
995 "max": null,
996 "min": "0",
997 "show": true,
998 "splitFactor": null
999 },
1000 "yBucketBound": "auto",
1001 "yBucketNumber": null,
1002 "yBucketSize": null
1003 }
1004 ],
1005 "title": "Inbound TCP Metrics",
1006 "type": "row"
1007 },
1008 {
1009 "collapsed": false,
1010 "gridPos": {
1011 "h": 1,
1012 "w": 24,
1013 "x": 0,
1014 "y": 16
1015 },
1016 "id": 152,
1017 "panels": [],
1018 "title": "",
1019 "type": "row"
1020 },
1021 {
1022 "content": "<div class=\"text-center dashboard-header\">\n <span>INBOUND REPLICASETS</span>\n</div>",
1023 "gridPos": {
1024 "h": 2,
1025 "w": 24,
1026 "x": 0,
1027 "y": 17
1028 },
1029 "id": 76,
1030 "links": [],
1031 "mode": "html",
1032 "options": {},
1033 "title": "",
1034 "transparent": true,
1035 "type": "text"
1036 },
1037 {
1038 "collapsed": false,
1039 "gridPos": {
1040 "h": 1,
1041 "w": 24,
1042 "x": 0,
1043 "y": 19
1044 },
1045 "id": 59,
1046 "panels": [],
1047 "repeat": "inbound",
1048 "scopedVars": {
1049 "inbound": {
1050 "selected": false,
1051 "text": "web",
1052 "value": "web"
1053 }
1054 },
1055 "title": "rs/$inbound",
1056 "type": "row"
1057 },
1058 {
1059 "content": "<div style=\"display: flex; align-items: center\">\n <img src=\"https://linkerd.io/images/identity/favicon/linkerd-favicon.png\" style=\"baseline; height:30px;\"/> \n <span style=\"font-size: 15px; border-image:none\">rs/$inbound</span>\n</div>",
1060 "gridPos": {
1061 "h": 2,
1062 "w": 24,
1063 "x": 0,
1064 "y": 20
1065 },
1066 "id": 39,
1067 "links": [],
1068 "mode": "html",
1069 "options": {},
1070 "scopedVars": {
1071 "inbound": {
1072 "selected": false,
1073 "text": "web",
1074 "value": "web"
1075 }
1076 },
1077 "title": "",
1078 "transparent": true,
1079 "type": "text"
1080 },
1081 {
1082 "aliasColors": {},
1083 "bars": false,
1084 "dashLength": 10,
1085 "dashes": false,
1086 "datasource": {
1087 "type": "prometheus",
1088 "uid": "${datasource}"
1089 },
1090 "fill": 1,
1091 "gridPos": {
1092 "h": 7,
1093 "w": 8,
1094 "x": 0,
1095 "y": 22
1096 },
1097 "id": 36,
1098 "legend": {
1099 "avg": false,
1100 "current": false,
1101 "max": false,
1102 "min": false,
1103 "show": false,
1104 "total": false,
1105 "values": false
1106 },
1107 "lines": true,
1108 "linewidth": 2,
1109 "links": [],
1110 "nullPointMode": "null",
1111 "options": {},
1112 "percentage": false,
1113 "pointradius": 5,
1114 "points": false,
1115 "renderer": "flot",
1116 "scopedVars": {
1117 "inbound": {
1118 "selected": false,
1119 "text": "web",
1120 "value": "web"
1121 }
1122 },
1123 "seriesOverrides": [],
1124 "spaceLength": 10,
1125 "stack": false,
1126 "steppedLine": false,
1127 "targets": [
1128 {
1129 "expr": "sum(irate(response_total{classification=\"success\", replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (replicaset, pod) / sum(irate(response_total{replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (replicaset, pod)",
1130 "format": "time_series",
1131 "instant": false,
1132 "intervalFactor": 1,
1133 "legendFormat": "po/{{pod}}",
1134 "refId": "A"
1135 }
1136 ],
1137 "thresholds": [],
1138 "timeFrom": null,
1139 "timeRegions": [],
1140 "timeShift": null,
1141 "title": "SUCCESS RATE",
1142 "tooltip": {
1143 "shared": true,
1144 "sort": 2,
1145 "value_type": "individual"
1146 },
1147 "type": "graph",
1148 "xaxis": {
1149 "buckets": null,
1150 "mode": "time",
1151 "name": null,
1152 "show": true,
1153 "values": []
1154 },
1155 "yaxes": [
1156 {
1157 "decimals": null,
1158 "format": "percentunit",
1159 "label": null,
1160 "logBase": 1,
1161 "max": "1",
1162 "min": null,
1163 "show": true
1164 },
1165 {
1166 "format": "short",
1167 "label": null,
1168 "logBase": 1,
1169 "max": null,
1170 "min": null,
1171 "show": true
1172 }
1173 ],
1174 "yaxis": {
1175 "align": false,
1176 "alignLevel": null
1177 }
1178 },
1179 {
1180 "aliasColors": {},
1181 "bars": false,
1182 "dashLength": 10,
1183 "dashes": false,
1184 "datasource": {
1185 "type": "prometheus",
1186 "uid": "${datasource}"
1187 },
1188 "fill": 0,
1189 "gridPos": {
1190 "h": 7,
1191 "w": 8,
1192 "x": 8,
1193 "y": 22
1194 },
1195 "id": 22,
1196 "legend": {
1197 "avg": false,
1198 "current": false,
1199 "max": false,
1200 "min": false,
1201 "show": false,
1202 "total": false,
1203 "values": false
1204 },
1205 "lines": true,
1206 "linewidth": 2,
1207 "links": [],
1208 "nullPointMode": "null",
1209 "options": {},
1210 "percentage": false,
1211 "pointradius": 5,
1212 "points": false,
1213 "renderer": "flot",
1214 "scopedVars": {
1215 "inbound": {
1216 "selected": false,
1217 "text": "web",
1218 "value": "web"
1219 }
1220 },
1221 "seriesOverrides": [],
1222 "spaceLength": 10,
1223 "stack": false,
1224 "steppedLine": false,
1225 "targets": [
1226 {
1227 "expr": "sum(irate(request_total{replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\", tls=\"true\"}[$__rate_interval])) by (replicaset, pod)",
1228 "format": "time_series",
1229 "intervalFactor": 1,
1230 "legendFormat": "🔒po/{{pod}}",
1231 "refId": "A"
1232 },
1233 {
1234 "expr": "sum(irate(request_total{replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\", tls!=\"true\"}[$__rate_interval])) by (replicaset, pod)",
1235 "format": "time_series",
1236 "intervalFactor": 1,
1237 "legendFormat": "po/{{pod}}",
1238 "refId": "B"
1239 }
1240 ],
1241 "thresholds": [],
1242 "timeFrom": null,
1243 "timeRegions": [],
1244 "timeShift": null,
1245 "title": "REQUEST RATE",
1246 "tooltip": {
1247 "shared": true,
1248 "sort": 2,
1249 "value_type": "individual"
1250 },
1251 "type": "graph",
1252 "xaxis": {
1253 "buckets": null,
1254 "mode": "time",
1255 "name": null,
1256 "show": true,
1257 "values": []
1258 },
1259 "yaxes": [
1260 {
1261 "decimals": null,
1262 "format": "rps",
1263 "label": null,
1264 "logBase": 1,
1265 "max": null,
1266 "min": "0",
1267 "show": true
1268 },
1269 {
1270 "format": "short",
1271 "label": null,
1272 "logBase": 1,
1273 "max": null,
1274 "min": null,
1275 "show": true
1276 }
1277 ],
1278 "yaxis": {
1279 "align": false,
1280 "alignLevel": null
1281 }
1282 },
1283 {
1284 "aliasColors": {},
1285 "bars": false,
1286 "dashLength": 10,
1287 "dashes": false,
1288 "datasource": {
1289 "type": "prometheus",
1290 "uid": "${datasource}"
1291 },
1292 "fill": 1,
1293 "gridPos": {
1294 "h": 7,
1295 "w": 8,
1296 "x": 16,
1297 "y": 22
1298 },
1299 "id": 29,
1300 "legend": {
1301 "avg": false,
1302 "current": false,
1303 "max": false,
1304 "min": false,
1305 "show": false,
1306 "total": false,
1307 "values": false
1308 },
1309 "lines": true,
1310 "linewidth": 2,
1311 "links": [],
1312 "nullPointMode": "null",
1313 "options": {},
1314 "percentage": false,
1315 "pointradius": 5,
1316 "points": false,
1317 "renderer": "flot",
1318 "scopedVars": {
1319 "inbound": {
1320 "selected": false,
1321 "text": "web",
1322 "value": "web"
1323 }
1324 },
1325 "seriesOverrides": [],
1326 "spaceLength": 10,
1327 "stack": false,
1328 "steppedLine": false,
1329 "targets": [
1330 {
1331 "expr": "histogram_quantile(0.5, sum(rate(response_latency_ms_bucket{replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (le, replicaset))",
1332 "format": "time_series",
1333 "intervalFactor": 1,
1334 "legendFormat": "P50 rs/{{replicaset}}",
1335 "refId": "A"
1336 },
1337 {
1338 "expr": "histogram_quantile(0.95, sum(rate(response_latency_ms_bucket{replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (le, replicaset))",
1339 "format": "time_series",
1340 "intervalFactor": 1,
1341 "legendFormat": "P95 rs/{{replicaset}}",
1342 "refId": "B"
1343 },
1344 {
1345 "expr": "histogram_quantile(0.99, sum(rate(response_latency_ms_bucket{replicaset!=\"\", replicaset=\"$inbound\", dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (le, replicaset))",
1346 "format": "time_series",
1347 "intervalFactor": 1,
1348 "legendFormat": "P99 rs/{{replicaset}}",
1349 "refId": "C"
1350 }
1351 ],
1352 "thresholds": [],
1353 "timeFrom": null,
1354 "timeRegions": [],
1355 "timeShift": null,
1356 "title": "LATENCY",
1357 "tooltip": {
1358 "shared": true,
1359 "sort": 2,
1360 "value_type": "individual"
1361 },
1362 "type": "graph",
1363 "xaxis": {
1364 "buckets": null,
1365 "mode": "time",
1366 "name": null,
1367 "show": true,
1368 "values": []
1369 },
1370 "yaxes": [
1371 {
1372 "format": "ms",
1373 "label": null,
1374 "logBase": 1,
1375 "max": null,
1376 "min": null,
1377 "show": true
1378 },
1379 {
1380 "format": "short",
1381 "label": null,
1382 "logBase": 1,
1383 "max": null,
1384 "min": null,
1385 "show": true
1386 }
1387 ],
1388 "yaxis": {
1389 "align": false,
1390 "alignLevel": null
1391 }
1392 },
1393 {
1394 "collapsed": false,
1395 "gridPos": {
1396 "h": 1,
1397 "w": 24,
1398 "x": 0,
1399 "y": 29
1400 },
1401 "id": 34,
1402 "panels": [],
1403 "repeat": null,
1404 "title": "",
1405 "type": "row"
1406 },
1407 {
1408 "content": "<div class=\"text-center dashboard-header\">\n <span>OUTBOUND TRAFFIC</span>\n</div>",
1409 "gridPos": {
1410 "h": 2,
1411 "w": 24,
1412 "x": 0,
1413 "y": 30
1414 },
1415 "id": 32,
1416 "links": [],
1417 "mode": "html",
1418 "options": {},
1419 "title": "",
1420 "transparent": true,
1421 "type": "text"
1422 },
1423 {
1424 "aliasColors": {},
1425 "bars": false,
1426 "dashLength": 10,
1427 "dashes": false,
1428 "datasource": {
1429 "type": "prometheus",
1430 "uid": "${datasource}"
1431 },
1432 "fill": 1,
1433 "gridPos": {
1434 "h": 7,
1435 "w": 8,
1436 "x": 0,
1437 "y": 32
1438 },
1439 "id": 77,
1440 "legend": {
1441 "avg": false,
1442 "current": false,
1443 "max": false,
1444 "min": false,
1445 "show": false,
1446 "total": false,
1447 "values": false
1448 },
1449 "lines": true,
1450 "linewidth": 2,
1451 "links": [],
1452 "nullPointMode": "null",
1453 "options": {},
1454 "percentage": false,
1455 "pointradius": 5,
1456 "points": false,
1457 "renderer": "flot",
1458 "seriesOverrides": [],
1459 "spaceLength": 10,
1460 "stack": false,
1461 "steppedLine": false,
1462 "targets": [
1463 {
1464 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (dst_replicaset) / sum(irate(response_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (dst_replicaset)",
1465 "format": "time_series",
1466 "intervalFactor": 1,
1467 "legendFormat": "rs/{{dst_replicaset}}",
1468 "refId": "A"
1469 }
1470 ],
1471 "thresholds": [],
1472 "timeFrom": null,
1473 "timeRegions": [],
1474 "timeShift": null,
1475 "title": "SUCCESS RATE",
1476 "tooltip": {
1477 "shared": true,
1478 "sort": 2,
1479 "value_type": "individual"
1480 },
1481 "type": "graph",
1482 "xaxis": {
1483 "buckets": null,
1484 "mode": "time",
1485 "name": null,
1486 "show": true,
1487 "values": []
1488 },
1489 "yaxes": [
1490 {
1491 "decimals": null,
1492 "format": "percentunit",
1493 "label": "",
1494 "logBase": 1,
1495 "max": "1",
1496 "min": null,
1497 "show": true
1498 },
1499 {
1500 "format": "short",
1501 "label": null,
1502 "logBase": 1,
1503 "max": null,
1504 "min": null,
1505 "show": true
1506 }
1507 ],
1508 "yaxis": {
1509 "align": false,
1510 "alignLevel": null
1511 }
1512 },
1513 {
1514 "aliasColors": {},
1515 "bars": false,
1516 "dashLength": 10,
1517 "dashes": false,
1518 "datasource": {
1519 "type": "prometheus",
1520 "uid": "${datasource}"
1521 },
1522 "fill": 0,
1523 "gridPos": {
1524 "h": 7,
1525 "w": 8,
1526 "x": 8,
1527 "y": 32
1528 },
1529 "id": 78,
1530 "legend": {
1531 "avg": false,
1532 "current": false,
1533 "max": false,
1534 "min": false,
1535 "show": false,
1536 "total": false,
1537 "values": false
1538 },
1539 "lines": true,
1540 "linewidth": 2,
1541 "links": [],
1542 "nullPointMode": "null",
1543 "options": {},
1544 "percentage": false,
1545 "pointradius": 5,
1546 "points": false,
1547 "renderer": "flot",
1548 "seriesOverrides": [],
1549 "spaceLength": 10,
1550 "stack": false,
1551 "steppedLine": false,
1552 "targets": [
1553 {
1554 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\", tls=\"true\"}[$__rate_interval])) by (dst_replicaset)",
1555 "format": "time_series",
1556 "intervalFactor": 1,
1557 "legendFormat": "🔒rs/{{dst_replicaset}}",
1558 "refId": "A"
1559 },
1560 {
1561 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\", tls!=\"true\"}[$__rate_interval])) by (dst_replicaset)",
1562 "format": "time_series",
1563 "intervalFactor": 1,
1564 "legendFormat": "rs/{{dst_replicaset}}",
1565 "refId": "B"
1566 }
1567 ],
1568 "thresholds": [],
1569 "timeFrom": null,
1570 "timeRegions": [],
1571 "timeShift": null,
1572 "title": "REQUEST RATE",
1573 "tooltip": {
1574 "shared": true,
1575 "sort": 2,
1576 "value_type": "individual"
1577 },
1578 "type": "graph",
1579 "xaxis": {
1580 "buckets": null,
1581 "mode": "time",
1582 "name": null,
1583 "show": true,
1584 "values": []
1585 },
1586 "yaxes": [
1587 {
1588 "format": "rps",
1589 "label": "",
1590 "logBase": 1,
1591 "max": null,
1592 "min": "0",
1593 "show": true
1594 },
1595 {
1596 "format": "short",
1597 "label": null,
1598 "logBase": 1,
1599 "max": null,
1600 "min": null,
1601 "show": true
1602 }
1603 ],
1604 "yaxis": {
1605 "align": false,
1606 "alignLevel": null
1607 }
1608 },
1609 {
1610 "aliasColors": {},
1611 "bars": false,
1612 "dashLength": 10,
1613 "dashes": false,
1614 "datasource": {
1615 "type": "prometheus",
1616 "uid": "${datasource}"
1617 },
1618 "fill": 1,
1619 "gridPos": {
1620 "h": 7,
1621 "w": 8,
1622 "x": 16,
1623 "y": 32
1624 },
1625 "id": 79,
1626 "legend": {
1627 "avg": false,
1628 "current": false,
1629 "max": false,
1630 "min": false,
1631 "show": false,
1632 "total": false,
1633 "values": false
1634 },
1635 "lines": true,
1636 "linewidth": 2,
1637 "links": [],
1638 "nullPointMode": "null",
1639 "options": {},
1640 "percentage": false,
1641 "pointradius": 5,
1642 "points": false,
1643 "renderer": "flot",
1644 "seriesOverrides": [],
1645 "spaceLength": 10,
1646 "stack": false,
1647 "steppedLine": false,
1648 "targets": [
1649 {
1650 "expr": "histogram_quantile(0.95, sum(rate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\"}[$__rate_interval])) by (le, dst_replicaset))",
1651 "format": "time_series",
1652 "intervalFactor": 1,
1653 "legendFormat": "P95 rs/{{dst_replicaset}}",
1654 "refId": "A"
1655 }
1656 ],
1657 "thresholds": [],
1658 "timeFrom": null,
1659 "timeRegions": [],
1660 "timeShift": null,
1661 "title": "P95 LATENCY",
1662 "tooltip": {
1663 "shared": true,
1664 "sort": 2,
1665 "value_type": "individual"
1666 },
1667 "type": "graph",
1668 "xaxis": {
1669 "buckets": null,
1670 "mode": "time",
1671 "name": null,
1672 "show": true,
1673 "values": []
1674 },
1675 "yaxes": [
1676 {
1677 "format": "ms",
1678 "label": null,
1679 "logBase": 1,
1680 "max": null,
1681 "min": null,
1682 "show": true
1683 },
1684 {
1685 "format": "short",
1686 "label": null,
1687 "logBase": 1,
1688 "max": null,
1689 "min": null,
1690 "show": true
1691 }
1692 ],
1693 "yaxis": {
1694 "align": false,
1695 "alignLevel": null
1696 }
1697 },
1698 {
1699 "collapsed": true,
1700 "gridPos": {
1701 "h": 1,
1702 "w": 24,
1703 "x": 0,
1704 "y": 39
1705 },
1706 "id": 154,
1707 "panels": [
1708 {
1709 "aliasColors": {},
1710 "bars": false,
1711 "dashLength": 10,
1712 "dashes": false,
1713 "datasource": {
1714 "type": "prometheus",
1715 "uid": "${datasource}"
1716 },
1717 "fill": 1,
1718 "gridPos": {
1719 "h": 7,
1720 "w": 8,
1721 "x": 0,
1722 "y": 29
1723 },
1724 "id": 157,
1725 "legend": {
1726 "avg": false,
1727 "current": false,
1728 "max": false,
1729 "min": false,
1730 "show": false,
1731 "total": false,
1732 "values": false
1733 },
1734 "lines": true,
1735 "linewidth": 2,
1736 "links": [],
1737 "nullPointMode": "null",
1738 "options": {},
1739 "percentage": false,
1740 "pointradius": 5,
1741 "points": false,
1742 "renderer": "flot",
1743 "seriesOverrides": [],
1744 "spaceLength": 10,
1745 "stack": false,
1746 "steppedLine": false,
1747 "targets": [
1748 {
1749 "expr": "tcp_close_total{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\",errno!=\"\"}",
1750 "format": "time_series",
1751 "intervalFactor": 1,
1752 "legendFormat": "{{peer}} {{errno}}",
1753 "refId": "A"
1754 }
1755 ],
1756 "thresholds": [],
1757 "timeFrom": null,
1758 "timeRegions": [],
1759 "timeShift": null,
1760 "title": "TCP CONNECTION FAILURES",
1761 "tooltip": {
1762 "shared": true,
1763 "sort": 0,
1764 "value_type": "individual"
1765 },
1766 "type": "graph",
1767 "xaxis": {
1768 "buckets": null,
1769 "mode": "time",
1770 "name": null,
1771 "show": true,
1772 "values": []
1773 },
1774 "yaxes": [
1775 {
1776 "decimals": null,
1777 "format": "none",
1778 "label": "",
1779 "logBase": 1,
1780 "max": null,
1781 "min": "0",
1782 "show": true
1783 },
1784 {
1785 "format": "short",
1786 "label": null,
1787 "logBase": 1,
1788 "max": null,
1789 "min": null,
1790 "show": true
1791 }
1792 ],
1793 "yaxis": {
1794 "align": false,
1795 "alignLevel": null
1796 }
1797 },
1798 {
1799 "aliasColors": {},
1800 "bars": false,
1801 "dashLength": 10,
1802 "dashes": false,
1803 "datasource": {
1804 "type": "prometheus",
1805 "uid": "${datasource}"
1806 },
1807 "fill": 0,
1808 "gridPos": {
1809 "h": 7,
1810 "w": 8,
1811 "x": 8,
1812 "y": 29
1813 },
1814 "id": 166,
1815 "legend": {
1816 "avg": false,
1817 "current": false,
1818 "max": false,
1819 "min": false,
1820 "show": false,
1821 "total": false,
1822 "values": false
1823 },
1824 "lines": true,
1825 "linewidth": 2,
1826 "links": [],
1827 "nullPointMode": "null",
1828 "options": {},
1829 "percentage": false,
1830 "pointradius": 5,
1831 "points": false,
1832 "renderer": "flot",
1833 "seriesOverrides": [],
1834 "spaceLength": 10,
1835 "stack": false,
1836 "steppedLine": false,
1837 "targets": [
1838 {
1839 "expr": "tcp_open_connections{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\"}",
1840 "format": "time_series",
1841 "intervalFactor": 1,
1842 "legendFormat": "{{peer}}",
1843 "refId": "A"
1844 }
1845 ],
1846 "thresholds": [],
1847 "timeFrom": null,
1848 "timeRegions": [],
1849 "timeShift": null,
1850 "title": "TCP CONNECTIONS OPEN",
1851 "tooltip": {
1852 "shared": true,
1853 "sort": 0,
1854 "value_type": "individual"
1855 },
1856 "type": "graph",
1857 "xaxis": {
1858 "buckets": null,
1859 "mode": "time",
1860 "name": null,
1861 "show": true,
1862 "values": []
1863 },
1864 "yaxes": [
1865 {
1866 "format": "short",
1867 "label": "",
1868 "logBase": 1,
1869 "max": null,
1870 "min": "0",
1871 "show": true
1872 },
1873 {
1874 "format": "short",
1875 "label": null,
1876 "logBase": 1,
1877 "max": null,
1878 "min": null,
1879 "show": true
1880 }
1881 ],
1882 "yaxis": {
1883 "align": false,
1884 "alignLevel": null
1885 }
1886 },
1887 {
1888 "cards": {
1889 "cardPadding": null,
1890 "cardRound": null
1891 },
1892 "color": {
1893 "cardColor": "#b4ff00",
1894 "colorScale": "sqrt",
1895 "colorScheme": "interpolateOranges",
1896 "exponent": 0.5,
1897 "mode": "spectrum"
1898 },
1899 "dataFormat": "timeseries",
1900 "datasource": {
1901 "type": "prometheus",
1902 "uid": "${datasource}"
1903 },
1904 "gridPos": {
1905 "h": 7,
1906 "w": 8,
1907 "x": 16,
1908 "y": 29
1909 },
1910 "heatmap": {},
1911 "hideZeroBuckets": false,
1912 "highlightCards": true,
1913 "id": 160,
1914 "legend": {
1915 "show": false
1916 },
1917 "links": [],
1918 "options": {},
1919 "reverseYBuckets": false,
1920 "targets": [
1921 {
1922 "expr": "tcp_connection_duration_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", direction=\"outbound\"}",
1923 "format": "time_series",
1924 "intervalFactor": 1,
1925 "refId": "A"
1926 }
1927 ],
1928 "title": "TCP CONNECTION DURATION",
1929 "tooltip": {
1930 "show": true,
1931 "showHistogram": true
1932 },
1933 "type": "heatmap",
1934 "xAxis": {
1935 "show": true
1936 },
1937 "xBucketNumber": null,
1938 "xBucketSize": null,
1939 "yAxis": {
1940 "decimals": null,
1941 "format": "dtdurationms",
1942 "logBase": 1,
1943 "max": null,
1944 "min": "0",
1945 "show": true,
1946 "splitFactor": null
1947 },
1948 "yBucketBound": "auto",
1949 "yBucketNumber": null,
1950 "yBucketSize": null
1951 }
1952 ],
1953 "title": "Outbound TCP Metrics",
1954 "type": "row"
1955 },
1956 {
1957 "collapsed": false,
1958 "gridPos": {
1959 "h": 1,
1960 "w": 24,
1961 "x": 0,
1962 "y": 40
1963 },
1964 "id": 156,
1965 "panels": [],
1966 "title": "",
1967 "type": "row"
1968 },
1969 {
1970 "content": "<div class=\"text-center dashboard-header\">\n <span>OUTBOUND REPLICASETS</span>\n</div>",
1971 "gridPos": {
1972 "h": 2,
1973 "w": 24,
1974 "x": 0,
1975 "y": 41
1976 },
1977 "id": 80,
1978 "links": [],
1979 "mode": "html",
1980 "options": {},
1981 "title": "",
1982 "transparent": true,
1983 "type": "text"
1984 },
1985 {
1986 "collapsed": true,
1987 "gridPos": {
1988 "h": 1,
1989 "w": 24,
1990 "x": 0,
1991 "y": 43
1992 },
1993 "id": 27,
1994 "panels": [
1995 {
1996 "content": "<div style=\"display: flex; align-items: center\">\n <img src=\"https://linkerd.io/images/identity/favicon/linkerd-favicon.png\" style=\"baseline; height:30px;\"/> \n <span style=\"font-size: 15px; border-image:none\">rs/$outbound</span>\n</div>",
1997 "gridPos": {
1998 "h": 2,
1999 "w": 24,
2000 "x": 0,
2001 "y": 36
2002 },
2003 "id": 40,
2004 "links": [],
2005 "mode": "html",
2006 "options": {},
2007 "title": "",
2008 "transparent": true,
2009 "type": "text"
2010 },
2011 {
2012 "aliasColors": {},
2013 "bars": false,
2014 "dashLength": 10,
2015 "dashes": false,
2016 "datasource": {
2017 "type": "prometheus",
2018 "uid": "${datasource}"
2019 },
2020 "fill": 1,
2021 "gridPos": {
2022 "h": 7,
2023 "w": 8,
2024 "x": 0,
2025 "y": 38
2026 },
2027 "id": 28,
2028 "legend": {
2029 "avg": false,
2030 "current": false,
2031 "max": false,
2032 "min": false,
2033 "show": false,
2034 "total": false,
2035 "values": false
2036 },
2037 "lines": true,
2038 "linewidth": 2,
2039 "links": [],
2040 "nullPointMode": "null",
2041 "options": {},
2042 "percentage": false,
2043 "pointradius": 5,
2044 "points": false,
2045 "renderer": "flot",
2046 "seriesOverrides": [],
2047 "spaceLength": 10,
2048 "stack": false,
2049 "steppedLine": false,
2050 "targets": [
2051 {
2052 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\"}[$__rate_interval])) by (dst_replicaset) / sum(irate(response_total{namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\"}[$__rate_interval])) by (dst_replicaset)",
2053 "format": "time_series",
2054 "intervalFactor": 1,
2055 "legendFormat": "rs/{{dst_replicaset}}",
2056 "refId": "A"
2057 }
2058 ],
2059 "thresholds": [],
2060 "timeFrom": null,
2061 "timeRegions": [],
2062 "timeShift": null,
2063 "title": "SUCCESS RATE",
2064 "tooltip": {
2065 "shared": true,
2066 "sort": 2,
2067 "value_type": "individual"
2068 },
2069 "type": "graph",
2070 "xaxis": {
2071 "buckets": null,
2072 "mode": "time",
2073 "name": null,
2074 "show": true,
2075 "values": []
2076 },
2077 "yaxes": [
2078 {
2079 "decimals": null,
2080 "format": "percentunit",
2081 "label": null,
2082 "logBase": 1,
2083 "max": "1",
2084 "min": null,
2085 "show": true
2086 },
2087 {
2088 "format": "short",
2089 "label": null,
2090 "logBase": 1,
2091 "max": null,
2092 "min": null,
2093 "show": true
2094 }
2095 ],
2096 "yaxis": {
2097 "align": false,
2098 "alignLevel": null
2099 }
2100 },
2101 {
2102 "aliasColors": {},
2103 "bars": false,
2104 "dashLength": 10,
2105 "dashes": false,
2106 "datasource": {
2107 "type": "prometheus",
2108 "uid": "${datasource}"
2109 },
2110 "fill": 0,
2111 "gridPos": {
2112 "h": 7,
2113 "w": 8,
2114 "x": 8,
2115 "y": 38
2116 },
2117 "id": 35,
2118 "legend": {
2119 "avg": false,
2120 "current": false,
2121 "max": false,
2122 "min": false,
2123 "show": false,
2124 "total": false,
2125 "values": false
2126 },
2127 "lines": true,
2128 "linewidth": 2,
2129 "links": [],
2130 "nullPointMode": "null",
2131 "options": {},
2132 "percentage": false,
2133 "pointradius": 5,
2134 "points": false,
2135 "renderer": "flot",
2136 "seriesOverrides": [],
2137 "spaceLength": 10,
2138 "stack": false,
2139 "steppedLine": false,
2140 "targets": [
2141 {
2142 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\", tls=\"true\"}[$__rate_interval])) by (dst_replicaset)",
2143 "format": "time_series",
2144 "intervalFactor": 1,
2145 "legendFormat": "🔒rs/{{dst_replicaset}}",
2146 "refId": "A"
2147 },
2148 {
2149 "expr": "sum(irate(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\", tls!=\"true\"}[$__rate_interval])) by (dst_replicaset)",
2150 "format": "time_series",
2151 "intervalFactor": 1,
2152 "legendFormat": "rs/{{dst_replicaset}}",
2153 "refId": "B"
2154 }
2155 ],
2156 "thresholds": [],
2157 "timeFrom": null,
2158 "timeRegions": [],
2159 "timeShift": null,
2160 "title": "REQUEST RATE",
2161 "tooltip": {
2162 "shared": true,
2163 "sort": 2,
2164 "value_type": "individual"
2165 },
2166 "type": "graph",
2167 "xaxis": {
2168 "buckets": null,
2169 "mode": "time",
2170 "name": null,
2171 "show": true,
2172 "values": []
2173 },
2174 "yaxes": [
2175 {
2176 "format": "rps",
2177 "label": "",
2178 "logBase": 1,
2179 "max": null,
2180 "min": "0",
2181 "show": true
2182 },
2183 {
2184 "format": "short",
2185 "label": null,
2186 "logBase": 1,
2187 "max": null,
2188 "min": null,
2189 "show": true
2190 }
2191 ],
2192 "yaxis": {
2193 "align": false,
2194 "alignLevel": null
2195 }
2196 },
2197 {
2198 "aliasColors": {},
2199 "bars": false,
2200 "dashLength": 10,
2201 "dashes": false,
2202 "datasource": {
2203 "type": "prometheus",
2204 "uid": "${datasource}"
2205 },
2206 "fill": 1,
2207 "gridPos": {
2208 "h": 7,
2209 "w": 8,
2210 "x": 16,
2211 "y": 38
2212 },
2213 "id": 41,
2214 "legend": {
2215 "avg": false,
2216 "current": false,
2217 "max": false,
2218 "min": false,
2219 "show": false,
2220 "total": false,
2221 "values": false
2222 },
2223 "lines": true,
2224 "linewidth": 2,
2225 "links": [],
2226 "nullPointMode": "null",
2227 "options": {},
2228 "percentage": false,
2229 "pointradius": 5,
2230 "points": false,
2231 "renderer": "flot",
2232 "seriesOverrides": [],
2233 "spaceLength": 10,
2234 "stack": false,
2235 "steppedLine": false,
2236 "targets": [
2237 {
2238 "expr": "histogram_quantile(0.5, sum(rate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\"}[$__rate_interval])) by (le, dst_replicaset))",
2239 "format": "time_series",
2240 "intervalFactor": 1,
2241 "legendFormat": "P50 rs/{{dst_replicaset}}",
2242 "refId": "A"
2243 },
2244 {
2245 "expr": "histogram_quantile(0.95, sum(rate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\"}[$__rate_interval])) by (le, dst_replicaset))",
2246 "format": "time_series",
2247 "intervalFactor": 1,
2248 "legendFormat": "P95 rs/{{dst_replicaset}}",
2249 "refId": "B"
2250 },
2251 {
2252 "expr": "histogram_quantile(0.99, sum(rate(response_latency_ms_bucket{namespace=\"$namespace\", replicaset=\"$replicaset\", dst_replicaset=\"$outbound\", direction=\"outbound\"}[$__rate_interval])) by (le, dst_replicaset))",
2253 "format": "time_series",
2254 "intervalFactor": 1,
2255 "legendFormat": "P99 rs/{{dst_replicaset}}",
2256 "refId": "C"
2257 }
2258 ],
2259 "thresholds": [],
2260 "timeFrom": null,
2261 "timeRegions": [],
2262 "timeShift": null,
2263 "title": "LATENCY",
2264 "tooltip": {
2265 "shared": true,
2266 "sort": 2,
2267 "value_type": "individual"
2268 },
2269 "type": "graph",
2270 "xaxis": {
2271 "buckets": null,
2272 "mode": "time",
2273 "name": null,
2274 "show": true,
2275 "values": []
2276 },
2277 "yaxes": [
2278 {
2279 "format": "ms",
2280 "label": null,
2281 "logBase": 1,
2282 "max": null,
2283 "min": null,
2284 "show": true
2285 },
2286 {
2287 "format": "short",
2288 "label": null,
2289 "logBase": 1,
2290 "max": null,
2291 "min": null,
2292 "show": true
2293 }
2294 ],
2295 "yaxis": {
2296 "align": false,
2297 "alignLevel": null
2298 }
2299 }
2300 ],
2301 "repeat": "outbound",
2302 "title": "rs/$outbound",
2303 "type": "row"
2304 },
2305 {
2306 "content": "<div>\n <div style=\"position: absolute; top: 0, left: 0\">\n <a href=\"https://linkerd.io\" target=\"_blank\"><img src=\"https://linkerd.io/images/identity/svg/linkerd_primary_color_white.svg\" style=\"height: 30px;\"></a>\n </div>\n <div id=\"version\" style=\"position: absolute; top: 0; right: 0; font-size: 15px\">\n </div>\n</div>\n<div style=\"display:none\">\n<script type=\"text/javascript\">\nvar localReqURL =\n window.location.href.substring(\n 0,\n window.location.href.indexOf(\n \"/grafana/\"\n )\n )+'/overview';\n\nfetch(localReqURL, {\n credentials: 'include',\n headers: {\n \"Content-Type\": \"text/html; charset=utf-8\",\n },\n})\n.then(response => response.text())\n.then(text => (new window.DOMParser()).parseFromString(text, \"text/html\"))\n.then(html => {\n var main = html.getElementById('main');\n var localVersion = main.getAttribute(\"data-release-version\");\n var versionElem = document.getElementById('version');\n\n var channel;\n var parts = localVersion.split(\"-\", 2);\n if (parts.length === 2) {\n channel = parts[0];\n versionElem.innerHTML += 'Running Linkerd ' + parts[1] + ' (' + parts[0] + ')' + '.<br>';\n } else {\n versionElem.innerHTML += 'Running Linkerd ' + localVersion + '.<br>';\n }\n var uuid = main.getAttribute(\"data-uuid\");\n\n fetch('https://versioncheck.linkerd.io/version.json?version='+localVersion+'&uuid='+uuid+'&source=grafana', {\n credentials: 'include',\n headers: {\n \"Content-Type\": \"application/json; charset=utf-8\",\n },\n })\n .then(response => response.json())\n .then(json => {\n if (!channel || !json[channel]) {\n versionElem.innerHTML += 'Version check failed.'\n } else if (json[channel] === localVersion) {\n versionElem.innerHTML += 'Linkerd is up to date.';\n } else {\n parts = json[channel].split(\"-\", 2);\n if (parts.length === 2) {\n versionElem.innerHTML += \"A new \"+parts[0]+\" version (\"+parts[1]+\") is available.\"\n } else {\n versionElem.innerHTML += \"A new version (\"+json[channel]+\") is available.\"\n }\n versionElem.innerHTML += \" <a href='https://versioncheck.linkerd.io/update' target='_blank'>Update now</a>.\";\n }\n });\n});\n</script>\n</div>",
2307 "gridPos": {
2308 "h": 3,
2309 "w": 24,
2310 "x": 0,
2311 "y": 44
2312 },
2313 "height": "1px",
2314 "id": 171,
2315 "links": [],
2316 "mode": "html",
2317 "options": {},
2318 "title": "",
2319 "transparent": true,
2320 "type": "text"
2321 }
2322 ],
2323 "refresh": "1m",
2324 "schemaVersion": 18,
2325 "style": "dark",
2326 "tags": [
2327 "linkerd"
2328 ],
2329 "templating": {
2330 "list": [
2331 {
2332 "current": {
2333 "text": "default",
2334 "value": "default"
2335 },
2336 "hide": 0,
2337 "label": "Data Source",
2338 "name": "datasource",
2339 "options": [],
2340 "query": "prometheus",
2341 "refresh": 1,
2342 "regex": "",
2343 "type": "datasource"
2344 },
2345 {
2346 "allValue": ".*",
2347 "current": {
2348 "text": "default",
2349 "value": "default"
2350 },
2351 "datasource": {
2352 "type": "prometheus",
2353 "uid": "${datasource}"
2354 },
2355 "definition": "label_values(process_start_time_seconds{replicaset!=\"\"}, namespace)",
2356 "hide": 0,
2357 "includeAll": false,
2358 "label": "Namespace",
2359 "multi": false,
2360 "name": "namespace",
2361 "options": [],
2362 "query": "label_values(process_start_time_seconds{replicaset!=\"\"}, namespace)",
2363 "refresh": 2,
2364 "regex": "",
2365 "skipUrlSync": false,
2366 "sort": 1,
2367 "tagValuesQuery": "",
2368 "tags": [],
2369 "tagsQuery": "",
2370 "type": "query",
2371 "useTags": false
2372 },
2373 {
2374 "allValue": ".*",
2375 "current": {
2376 "text": "rs1",
2377 "value": "rs1"
2378 },
2379 "datasource": {
2380 "type": "prometheus",
2381 "uid": "${datasource}"
2382 },
2383 "definition": "label_values(process_start_time_seconds{namespace=\"$namespace\"}, replicaset)",
2384 "hide": 0,
2385 "includeAll": false,
2386 "label": "ReplicaSet",
2387 "multi": false,
2388 "name": "replicaset",
2389 "options": [],
2390 "query": "label_values(process_start_time_seconds{namespace=\"$namespace\"}, replicaset)",
2391 "refresh": 2,
2392 "regex": "",
2393 "skipUrlSync": false,
2394 "sort": 1,
2395 "tagValuesQuery": "",
2396 "tags": [],
2397 "tagsQuery": "",
2398 "type": "query",
2399 "useTags": false
2400 },
2401 {
2402 "allValue": ".*",
2403 "current": {
2404 "text": "All",
2405 "value": "$__all"
2406 },
2407 "datasource": {
2408 "type": "prometheus",
2409 "uid": "${datasource}"
2410 },
2411 "definition": "label_values(request_total{dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\"}, replicaset)",
2412 "hide": 2,
2413 "includeAll": true,
2414 "label": null,
2415 "multi": false,
2416 "name": "inbound",
2417 "options": [],
2418 "query": "label_values(request_total{dst_namespace=\"$namespace\", dst_replicaset=\"$replicaset\"}, replicaset)",
2419 "refresh": 2,
2420 "regex": "",
2421 "skipUrlSync": false,
2422 "sort": 1,
2423 "tagValuesQuery": "",
2424 "tags": [],
2425 "tagsQuery": "",
2426 "type": "query",
2427 "useTags": false
2428 },
2429 {
2430 "allValue": ".*",
2431 "current": {
2432 "text": "All",
2433 "value": "$__all"
2434 },
2435 "datasource": {
2436 "type": "prometheus",
2437 "uid": "${datasource}"
2438 },
2439 "definition": "label_values(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\"}, dst_replicaset)",
2440 "hide": 2,
2441 "includeAll": true,
2442 "label": null,
2443 "multi": false,
2444 "name": "outbound",
2445 "options": [],
2446 "query": "label_values(request_total{namespace=\"$namespace\", replicaset=\"$replicaset\"}, dst_replicaset)",
2447 "refresh": 2,
2448 "regex": "",
2449 "skipUrlSync": false,
2450 "sort": 1,
2451 "tagValuesQuery": "",
2452 "tags": [],
2453 "tagsQuery": "",
2454 "type": "query",
2455 "useTags": false
2456 }
2457 ]
2458 },
2459 "time": {
2460 "from": "now-5m",
2461 "to": "now"
2462 },
2463 "timepicker": {
2464 "refresh_intervals": [
2465 "5s",
2466 "10s",
2467 "30s",
2468 "1m",
2469 "5m",
2470 "15m",
2471 "30m",
2472 "1h",
2473 "2h",
2474 "1d"
2475 ],
2476 "time_options": [
2477 "5m",
2478 "15m",
2479 "1h",
2480 "6h",
2481 "12h",
2482 "24h",
2483 "2d",
2484 "7d",
2485 "30d"
2486 ]
2487 },
2488 "timezone": "",
2489 "title": "Linkerd ReplicaSet",
2490 "uid": "linkerd-replicaset",
2491 "version": 1
2492 }
View as plain text