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": null,
74 "iteration": 1539806914987,
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\">au/$authority</span>\n</div>",
79 "gridPos": {
80 "h": 2,
81 "w": 24,
82 "x": 0,
83 "y": 0
84 },
85 "id": 2,
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": 4,
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\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) / sum(irate(response_total{namespace=\"$namespace\", authority=\"$authority\", 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": 6,
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\", authority=\"$authority\", 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": 8,
294 "x": 16,
295 "y": 2
296 },
297 "id": 8,
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": " ms",
316 "postfixFontSize": "100%",
317 "prefix": "",
318 "prefixFontSize": "50%",
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": true,
329 "lineColor": "rgb(31, 120, 193)",
330 "show": true
331 },
332 "tableColumn": "",
333 "targets": [
334 {
335 "expr": "histogram_quantile(0.95, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) by (le, authority))",
336 "format": "time_series",
337 "instant": false,
338 "intervalFactor": 1,
339 "legendFormat": "",
340 "refId": "A"
341 }
342 ],
343 "thresholds": "",
344 "title": "P95 LATENCY",
345 "transparent": true,
346 "type": "singlestat",
347 "valueFontSize": "100%",
348 "valueMaps": [
349 {
350 "op": "=",
351 "text": "N/A",
352 "value": "null"
353 }
354 ],
355 "valueName": "current"
356 },
357 {
358 "content": "<div class=\"text-center dashboard-header\">\n <span>TOP-LINE TRAFFIC</span>\n</div>",
359 "gridPos": {
360 "h": 2,
361 "w": 24,
362 "x": 0,
363 "y": 6
364 },
365 "id": 10,
366 "links": [],
367 "mode": "html",
368 "options": {},
369 "title": "",
370 "transparent": true,
371 "type": "text"
372 },
373 {
374 "aliasColors": {},
375 "bars": false,
376 "dashLength": 10,
377 "dashes": false,
378 "datasource": {
379 "type": "prometheus",
380 "uid": "${datasource}"
381 },
382 "fill": 1,
383 "gridPos": {
384 "h": 7,
385 "w": 8,
386 "x": 0,
387 "y": 8
388 },
389 "id": 12,
390 "legend": {
391 "avg": false,
392 "current": false,
393 "max": false,
394 "min": false,
395 "show": false,
396 "total": false,
397 "values": false
398 },
399 "lines": true,
400 "linewidth": 2,
401 "links": [],
402 "nullPointMode": "null",
403 "options": {},
404 "percentage": false,
405 "pointradius": 5,
406 "points": false,
407 "renderer": "flot",
408 "seriesOverrides": [],
409 "spaceLength": 10,
410 "stack": false,
411 "steppedLine": false,
412 "targets": [
413 {
414 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) by (authority) / sum(irate(response_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) by (authority)",
415 "format": "time_series",
416 "intervalFactor": 1,
417 "legendFormat": "au/{{authority}}",
418 "refId": "A"
419 }
420 ],
421 "thresholds": [],
422 "timeFrom": null,
423 "timeRegions": [],
424 "timeShift": null,
425 "title": "SUCCESS RATE",
426 "tooltip": {
427 "shared": true,
428 "sort": 2,
429 "value_type": "individual"
430 },
431 "type": "graph",
432 "xaxis": {
433 "buckets": null,
434 "mode": "time",
435 "name": null,
436 "show": true,
437 "values": []
438 },
439 "yaxes": [
440 {
441 "decimals": null,
442 "format": "percentunit",
443 "label": "",
444 "logBase": 1,
445 "max": "1",
446 "min": null,
447 "show": true
448 },
449 {
450 "format": "short",
451 "label": null,
452 "logBase": 1,
453 "max": null,
454 "min": null,
455 "show": true
456 }
457 ],
458 "yaxis": {
459 "align": false,
460 "alignLevel": null
461 }
462 },
463 {
464 "aliasColors": {},
465 "bars": false,
466 "dashLength": 10,
467 "dashes": false,
468 "datasource": {
469 "type": "prometheus",
470 "uid": "${datasource}"
471 },
472 "fill": 0,
473 "gridPos": {
474 "h": 7,
475 "w": 8,
476 "x": 8,
477 "y": 8
478 },
479 "id": 14,
480 "legend": {
481 "avg": false,
482 "current": false,
483 "max": false,
484 "min": false,
485 "show": false,
486 "total": false,
487 "values": false
488 },
489 "lines": true,
490 "linewidth": 2,
491 "links": [],
492 "nullPointMode": "null",
493 "options": {},
494 "percentage": false,
495 "pointradius": 5,
496 "points": false,
497 "renderer": "flot",
498 "seriesOverrides": [],
499 "spaceLength": 10,
500 "stack": false,
501 "steppedLine": false,
502 "targets": [
503 {
504 "expr": "sum(irate(request_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\", tls=\"true\"}[$__rate_interval])) by (authority)",
505 "format": "time_series",
506 "intervalFactor": 1,
507 "legendFormat": "🔒au/{{authority}}",
508 "refId": "A"
509 },
510 {
511 "expr": "sum(irate(request_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\", tls!=\"true\"}[$__rate_interval])) by (authority)",
512 "format": "time_series",
513 "intervalFactor": 1,
514 "legendFormat": "au/{{authority}}",
515 "refId": "B"
516 }
517 ],
518 "thresholds": [],
519 "timeFrom": null,
520 "timeRegions": [],
521 "timeShift": null,
522 "title": "REQUEST RATE",
523 "tooltip": {
524 "shared": true,
525 "sort": 2,
526 "value_type": "individual"
527 },
528 "type": "graph",
529 "xaxis": {
530 "buckets": null,
531 "mode": "time",
532 "name": null,
533 "show": true,
534 "values": []
535 },
536 "yaxes": [
537 {
538 "decimals": null,
539 "format": "rps",
540 "label": "",
541 "logBase": 1,
542 "max": null,
543 "min": "0",
544 "show": true
545 },
546 {
547 "format": "short",
548 "label": null,
549 "logBase": 1,
550 "max": null,
551 "min": null,
552 "show": true
553 }
554 ],
555 "yaxis": {
556 "align": false,
557 "alignLevel": null
558 }
559 },
560 {
561 "aliasColors": {},
562 "bars": false,
563 "dashLength": 10,
564 "dashes": false,
565 "datasource": {
566 "type": "prometheus",
567 "uid": "${datasource}"
568 },
569 "fill": 1,
570 "gridPos": {
571 "h": 7,
572 "w": 8,
573 "x": 16,
574 "y": 8
575 },
576 "id": 16,
577 "legend": {
578 "avg": false,
579 "current": false,
580 "max": false,
581 "min": false,
582 "show": false,
583 "total": false,
584 "values": false
585 },
586 "lines": true,
587 "linewidth": 2,
588 "links": [],
589 "nullPointMode": "null",
590 "options": {},
591 "percentage": false,
592 "pointradius": 5,
593 "points": false,
594 "renderer": "flot",
595 "seriesOverrides": [],
596 "spaceLength": 10,
597 "stack": false,
598 "steppedLine": false,
599 "targets": [
600 {
601 "expr": "histogram_quantile(0.5, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) by (le, authority))",
602 "format": "time_series",
603 "intervalFactor": 1,
604 "legendFormat": "p50 au/{{authority}}",
605 "refId": "A"
606 },
607 {
608 "expr": "histogram_quantile(0.95, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) by (le, authority))",
609 "format": "time_series",
610 "hide": false,
611 "intervalFactor": 1,
612 "legendFormat": "p95 au/{{authority}}",
613 "refId": "B"
614 },
615 {
616 "expr": "histogram_quantile(0.99, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", authority=\"$authority\", direction=\"inbound\"}[$__rate_interval])) by (le, authority))",
617 "format": "time_series",
618 "intervalFactor": 1,
619 "legendFormat": "p99 au/{{authority}}",
620 "refId": "C"
621 }
622 ],
623 "thresholds": [],
624 "timeFrom": null,
625 "timeRegions": [],
626 "timeShift": null,
627 "title": "LATENCY",
628 "tooltip": {
629 "shared": true,
630 "sort": 2,
631 "value_type": "individual"
632 },
633 "type": "graph",
634 "xaxis": {
635 "buckets": null,
636 "mode": "time",
637 "name": null,
638 "show": true,
639 "values": []
640 },
641 "yaxes": [
642 {
643 "decimals": null,
644 "format": "ms",
645 "label": "",
646 "logBase": 1,
647 "max": null,
648 "min": null,
649 "show": true
650 },
651 {
652 "format": "short",
653 "label": null,
654 "logBase": 1,
655 "max": null,
656 "min": null,
657 "show": true
658 }
659 ],
660 "yaxis": {
661 "align": false,
662 "alignLevel": null
663 }
664 },
665 {
666 "content": "<div class=\"text-center dashboard-header\">\n <span>INBOUND TRAFFIC BY DEPLOYMENT</span>\n</div>",
667 "gridPos": {
668 "h": 2,
669 "w": 24,
670 "x": 0,
671 "y": 15
672 },
673 "id": 18,
674 "links": [],
675 "mode": "html",
676 "options": {},
677 "title": "",
678 "transparent": true,
679 "type": "text"
680 },
681 {
682 "aliasColors": {},
683 "bars": false,
684 "dashLength": 10,
685 "dashes": false,
686 "datasource": {
687 "type": "prometheus",
688 "uid": "${datasource}"
689 },
690 "fill": 1,
691 "gridPos": {
692 "h": 7,
693 "w": 8,
694 "x": 0,
695 "y": 17
696 },
697 "id": 20,
698 "legend": {
699 "avg": false,
700 "current": false,
701 "max": false,
702 "min": false,
703 "show": false,
704 "total": false,
705 "values": false
706 },
707 "lines": true,
708 "linewidth": 2,
709 "links": [],
710 "nullPointMode": "null",
711 "options": {},
712 "percentage": false,
713 "pointradius": 5,
714 "points": false,
715 "renderer": "flot",
716 "seriesOverrides": [],
717 "spaceLength": 10,
718 "stack": false,
719 "steppedLine": false,
720 "targets": [
721 {
722 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\"}[$__rate_interval])) by (deployment) / sum(irate(response_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\"}[$__rate_interval])) by (deployment)",
723 "format": "time_series",
724 "intervalFactor": 1,
725 "legendFormat": "deploy/{{deployment}}",
726 "refId": "A"
727 }
728 ],
729 "thresholds": [],
730 "timeFrom": null,
731 "timeRegions": [],
732 "timeShift": null,
733 "title": "SUCCESS RATE",
734 "tooltip": {
735 "shared": true,
736 "sort": 2,
737 "value_type": "individual"
738 },
739 "type": "graph",
740 "xaxis": {
741 "buckets": null,
742 "mode": "time",
743 "name": null,
744 "show": true,
745 "values": []
746 },
747 "yaxes": [
748 {
749 "decimals": null,
750 "format": "percentunit",
751 "label": "",
752 "logBase": 1,
753 "max": "1",
754 "min": null,
755 "show": true
756 },
757 {
758 "format": "short",
759 "label": null,
760 "logBase": 1,
761 "max": null,
762 "min": null,
763 "show": true
764 }
765 ],
766 "yaxis": {
767 "align": false,
768 "alignLevel": null
769 }
770 },
771 {
772 "aliasColors": {},
773 "bars": false,
774 "dashLength": 10,
775 "dashes": false,
776 "datasource": {
777 "type": "prometheus",
778 "uid": "${datasource}"
779 },
780 "fill": 0,
781 "gridPos": {
782 "h": 7,
783 "w": 8,
784 "x": 8,
785 "y": 17
786 },
787 "id": 22,
788 "legend": {
789 "avg": false,
790 "current": false,
791 "max": false,
792 "min": false,
793 "show": false,
794 "total": false,
795 "values": false
796 },
797 "lines": true,
798 "linewidth": 2,
799 "links": [],
800 "nullPointMode": "null",
801 "options": {},
802 "percentage": false,
803 "pointradius": 5,
804 "points": false,
805 "renderer": "flot",
806 "seriesOverrides": [],
807 "spaceLength": 10,
808 "stack": false,
809 "steppedLine": false,
810 "targets": [
811 {
812 "expr": "sum(irate(request_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\", tls=\"true\"}[$__rate_interval])) by (deployment)",
813 "format": "time_series",
814 "intervalFactor": 1,
815 "legendFormat": "🔒deploy/{{deployment}}",
816 "refId": "A"
817 },
818 {
819 "expr": "sum(irate(request_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\", tls!=\"true\"}[$__rate_interval])) by (deployment)",
820 "format": "time_series",
821 "intervalFactor": 1,
822 "legendFormat": "deploy/{{deployment}}",
823 "refId": "B"
824 }
825 ],
826 "thresholds": [],
827 "timeFrom": null,
828 "timeRegions": [],
829 "timeShift": null,
830 "title": "REQUEST RATE",
831 "tooltip": {
832 "shared": true,
833 "sort": 2,
834 "value_type": "individual"
835 },
836 "type": "graph",
837 "xaxis": {
838 "buckets": null,
839 "mode": "time",
840 "name": null,
841 "show": true,
842 "values": []
843 },
844 "yaxes": [
845 {
846 "format": "rps",
847 "label": "",
848 "logBase": 1,
849 "max": null,
850 "min": "0",
851 "show": true
852 },
853 {
854 "format": "short",
855 "label": null,
856 "logBase": 1,
857 "max": null,
858 "min": null,
859 "show": true
860 }
861 ],
862 "yaxis": {
863 "align": false,
864 "alignLevel": null
865 }
866 },
867 {
868 "aliasColors": {},
869 "bars": false,
870 "dashLength": 10,
871 "dashes": false,
872 "datasource": {
873 "type": "prometheus",
874 "uid": "${datasource}"
875 },
876 "fill": 1,
877 "gridPos": {
878 "h": 7,
879 "w": 8,
880 "x": 16,
881 "y": 17
882 },
883 "id": 24,
884 "legend": {
885 "avg": false,
886 "current": false,
887 "max": false,
888 "min": false,
889 "show": false,
890 "total": false,
891 "values": false
892 },
893 "lines": true,
894 "linewidth": 2,
895 "links": [],
896 "nullPointMode": "null",
897 "options": {},
898 "percentage": false,
899 "pointradius": 5,
900 "points": false,
901 "renderer": "flot",
902 "seriesOverrides": [],
903 "spaceLength": 10,
904 "stack": false,
905 "steppedLine": false,
906 "targets": [
907 {
908 "expr": "histogram_quantile(0.95, sum(rate(response_latency_ms_bucket{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\"}[$__rate_interval])) by (le, deployment))",
909 "format": "time_series",
910 "intervalFactor": 1,
911 "legendFormat": "P95 deploy/{{deployment}}",
912 "refId": "A"
913 }
914 ],
915 "thresholds": [],
916 "timeFrom": null,
917 "timeRegions": [],
918 "timeShift": null,
919 "title": "P95 LATENCY",
920 "tooltip": {
921 "shared": true,
922 "sort": 2,
923 "value_type": "individual"
924 },
925 "type": "graph",
926 "xaxis": {
927 "buckets": null,
928 "mode": "time",
929 "name": null,
930 "show": true,
931 "values": []
932 },
933 "yaxes": [
934 {
935 "format": "ms",
936 "label": null,
937 "logBase": 1,
938 "max": null,
939 "min": null,
940 "show": true
941 },
942 {
943 "format": "short",
944 "label": null,
945 "logBase": 1,
946 "max": null,
947 "min": null,
948 "show": true
949 }
950 ],
951 "yaxis": {
952 "align": false,
953 "alignLevel": null
954 }
955 },
956 {
957 "content": "<div class=\"text-center dashboard-header\">\n <span>INBOUND TRAFFIC BY POD</span>\n</div>",
958 "gridPos": {
959 "h": 2,
960 "w": 24,
961 "x": 0,
962 "y": 24
963 },
964 "id": 26,
965 "links": [],
966 "mode": "html",
967 "options": {},
968 "title": "",
969 "transparent": true,
970 "type": "text"
971 },
972 {
973 "aliasColors": {},
974 "bars": false,
975 "dashLength": 10,
976 "dashes": false,
977 "datasource": {
978 "type": "prometheus",
979 "uid": "${datasource}"
980 },
981 "fill": 1,
982 "gridPos": {
983 "h": 7,
984 "w": 8,
985 "x": 0,
986 "y": 26
987 },
988 "id": 28,
989 "legend": {
990 "avg": false,
991 "current": false,
992 "max": false,
993 "min": false,
994 "show": false,
995 "total": false,
996 "values": false
997 },
998 "lines": true,
999 "linewidth": 2,
1000 "links": [],
1001 "nullPointMode": "null",
1002 "options": {},
1003 "percentage": false,
1004 "pointradius": 5,
1005 "points": false,
1006 "renderer": "flot",
1007 "seriesOverrides": [],
1008 "spaceLength": 10,
1009 "stack": false,
1010 "steppedLine": false,
1011 "targets": [
1012 {
1013 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\"}[$__rate_interval])) by (pod) / sum(irate(response_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\"}[$__rate_interval])) by (pod)",
1014 "format": "time_series",
1015 "intervalFactor": 1,
1016 "legendFormat": "po/{{pod}}",
1017 "refId": "A"
1018 }
1019 ],
1020 "thresholds": [],
1021 "timeFrom": null,
1022 "timeRegions": [],
1023 "timeShift": null,
1024 "title": "SUCCESS RATE",
1025 "tooltip": {
1026 "shared": true,
1027 "sort": 2,
1028 "value_type": "individual"
1029 },
1030 "type": "graph",
1031 "xaxis": {
1032 "buckets": null,
1033 "mode": "time",
1034 "name": null,
1035 "show": true,
1036 "values": []
1037 },
1038 "yaxes": [
1039 {
1040 "decimals": null,
1041 "format": "percentunit",
1042 "label": "",
1043 "logBase": 1,
1044 "max": "1",
1045 "min": null,
1046 "show": true
1047 },
1048 {
1049 "format": "short",
1050 "label": null,
1051 "logBase": 1,
1052 "max": null,
1053 "min": null,
1054 "show": true
1055 }
1056 ],
1057 "yaxis": {
1058 "align": false,
1059 "alignLevel": null
1060 }
1061 },
1062 {
1063 "aliasColors": {},
1064 "bars": false,
1065 "dashLength": 10,
1066 "dashes": false,
1067 "datasource": {
1068 "type": "prometheus",
1069 "uid": "${datasource}"
1070 },
1071 "fill": 0,
1072 "gridPos": {
1073 "h": 7,
1074 "w": 8,
1075 "x": 8,
1076 "y": 26
1077 },
1078 "id": 30,
1079 "legend": {
1080 "avg": false,
1081 "current": false,
1082 "max": false,
1083 "min": false,
1084 "show": false,
1085 "total": false,
1086 "values": false
1087 },
1088 "lines": true,
1089 "linewidth": 2,
1090 "links": [],
1091 "nullPointMode": "null",
1092 "options": {},
1093 "percentage": false,
1094 "pointradius": 5,
1095 "points": false,
1096 "renderer": "flot",
1097 "seriesOverrides": [],
1098 "spaceLength": 10,
1099 "stack": false,
1100 "steppedLine": false,
1101 "targets": [
1102 {
1103 "expr": "sum(irate(request_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\", tls=\"true\"}[$__rate_interval])) by (pod)",
1104 "format": "time_series",
1105 "intervalFactor": 1,
1106 "legendFormat": "🔒po/{{pod}}",
1107 "refId": "A"
1108 },
1109 {
1110 "expr": "sum(irate(request_total{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\", tls!=\"true\"}[$__rate_interval])) by (pod)",
1111 "format": "time_series",
1112 "intervalFactor": 1,
1113 "legendFormat": "po/{{pod}}",
1114 "refId": "B"
1115 }
1116 ],
1117 "thresholds": [],
1118 "timeFrom": null,
1119 "timeRegions": [],
1120 "timeShift": null,
1121 "title": "REQUEST RATE",
1122 "tooltip": {
1123 "shared": true,
1124 "sort": 2,
1125 "value_type": "individual"
1126 },
1127 "type": "graph",
1128 "xaxis": {
1129 "buckets": null,
1130 "mode": "time",
1131 "name": null,
1132 "show": true,
1133 "values": []
1134 },
1135 "yaxes": [
1136 {
1137 "format": "rps",
1138 "label": "",
1139 "logBase": 1,
1140 "max": null,
1141 "min": "0",
1142 "show": true
1143 },
1144 {
1145 "format": "short",
1146 "label": null,
1147 "logBase": 1,
1148 "max": null,
1149 "min": null,
1150 "show": true
1151 }
1152 ],
1153 "yaxis": {
1154 "align": false,
1155 "alignLevel": null
1156 }
1157 },
1158 {
1159 "aliasColors": {},
1160 "bars": false,
1161 "dashLength": 10,
1162 "dashes": false,
1163 "datasource": {
1164 "type": "prometheus",
1165 "uid": "${datasource}"
1166 },
1167 "fill": 1,
1168 "gridPos": {
1169 "h": 7,
1170 "w": 8,
1171 "x": 16,
1172 "y": 26
1173 },
1174 "id": 32,
1175 "legend": {
1176 "avg": false,
1177 "current": false,
1178 "max": false,
1179 "min": false,
1180 "show": false,
1181 "total": false,
1182 "values": false
1183 },
1184 "lines": true,
1185 "linewidth": 2,
1186 "links": [],
1187 "nullPointMode": "null",
1188 "options": {},
1189 "percentage": false,
1190 "pointradius": 5,
1191 "points": false,
1192 "renderer": "flot",
1193 "seriesOverrides": [],
1194 "spaceLength": 10,
1195 "stack": false,
1196 "steppedLine": false,
1197 "targets": [
1198 {
1199 "expr": "histogram_quantile(0.95, sum(rate(response_latency_ms_bucket{namespace=\"$namespace\", authority=\"$authority\", direction=\"outbound\"}[$__rate_interval])) by (le, pod))",
1200 "format": "time_series",
1201 "intervalFactor": 1,
1202 "legendFormat": "P95 po/{{pod}}",
1203 "refId": "A"
1204 }
1205 ],
1206 "thresholds": [],
1207 "timeFrom": null,
1208 "timeRegions": [],
1209 "timeShift": null,
1210 "title": "P95 LATENCY",
1211 "tooltip": {
1212 "shared": true,
1213 "sort": 2,
1214 "value_type": "individual"
1215 },
1216 "type": "graph",
1217 "xaxis": {
1218 "buckets": null,
1219 "mode": "time",
1220 "name": null,
1221 "show": true,
1222 "values": []
1223 },
1224 "yaxes": [
1225 {
1226 "format": "ms",
1227 "label": null,
1228 "logBase": 1,
1229 "max": null,
1230 "min": null,
1231 "show": true
1232 },
1233 {
1234 "format": "short",
1235 "label": null,
1236 "logBase": 1,
1237 "max": null,
1238 "min": null,
1239 "show": true
1240 }
1241 ],
1242 "yaxis": {
1243 "align": false,
1244 "alignLevel": null
1245 }
1246 },
1247 {
1248 "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>",
1249 "gridPos": {
1250 "h": 3,
1251 "w": 24,
1252 "x": 0,
1253 "y": 33
1254 },
1255 "height": "1px",
1256 "id": 34,
1257 "links": [],
1258 "mode": "html",
1259 "options": {},
1260 "title": "",
1261 "transparent": true,
1262 "type": "text"
1263 }
1264 ],
1265 "refresh": "1m",
1266 "schemaVersion": 18,
1267 "style": "dark",
1268 "tags": [
1269 "linkerd"
1270 ],
1271 "templating": {
1272 "list": [
1273 {
1274 "current": {
1275 "text": "default",
1276 "value": "default"
1277 },
1278 "hide": 0,
1279 "label": "Data Source",
1280 "name": "datasource",
1281 "options": [],
1282 "query": "prometheus",
1283 "refresh": 1,
1284 "regex": "",
1285 "type": "datasource"
1286 },
1287 {
1288 "allValue": ".*",
1289 "current": {},
1290 "datasource": {
1291 "type": "prometheus",
1292 "uid": "${datasource}"
1293 },
1294 "definition": "",
1295 "hide": 0,
1296 "includeAll": false,
1297 "label": "Namespace",
1298 "multi": false,
1299 "name": "namespace",
1300 "options": [],
1301 "query": "label_values(request_total, namespace)",
1302 "refresh": 2,
1303 "regex": "",
1304 "skipUrlSync": false,
1305 "sort": 1,
1306 "tagValuesQuery": "",
1307 "tags": [],
1308 "tagsQuery": "",
1309 "type": "query",
1310 "useTags": false
1311 },
1312 {
1313 "allValue": ".*",
1314 "current": {},
1315 "datasource": {
1316 "type": "prometheus",
1317 "uid": "${datasource}"
1318 },
1319 "definition": "",
1320 "hide": 0,
1321 "includeAll": false,
1322 "label": "Authority",
1323 "multi": false,
1324 "name": "authority",
1325 "options": [],
1326 "query": "label_values(request_total{namespace=\"$namespace\"}, authority)",
1327 "refresh": 2,
1328 "regex": "",
1329 "skipUrlSync": false,
1330 "sort": 1,
1331 "tagValuesQuery": "",
1332 "tags": [],
1333 "tagsQuery": "",
1334 "type": "query",
1335 "useTags": false
1336 }
1337 ]
1338 },
1339 "time": {
1340 "from": "now-5m",
1341 "to": "now"
1342 },
1343 "timepicker": {
1344 "refresh_intervals": [
1345 "5s",
1346 "10s",
1347 "30s",
1348 "1m",
1349 "5m",
1350 "15m",
1351 "30m",
1352 "1h",
1353 "2h",
1354 "1d"
1355 ],
1356 "time_options": [
1357 "5m",
1358 "15m",
1359 "1h",
1360 "6h",
1361 "12h",
1362 "24h",
1363 "2d",
1364 "7d",
1365 "30d"
1366 ]
1367 },
1368 "timezone": "",
1369 "title": "Linkerd Authority",
1370 "uid": "linkerd-authority",
1371 "version": 1
1372}
View as plain text