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": 1563896358132,
75 "links": [],
76 "panels": [
77 {
78 "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>",
79 "gridPos": {
80 "h": 3,
81 "w": 24,
82 "x": 0,
83 "y": 0
84 },
85 "height": "1px",
86 "id": 14,
87 "links": [],
88 "mode": "html",
89 "options": {},
90 "title": "",
91 "transparent": true,
92 "type": "text"
93 },
94 {
95 "cacheTimeout": null,
96 "colorBackground": false,
97 "colorValue": true,
98 "colors": [
99 "#d44a3a",
100 "rgba(237, 129, 40, 0.89)",
101 "#299c46"
102 ],
103 "datasource": {
104 "type": "prometheus",
105 "uid": "${datasource}"
106 },
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": 3
120 },
121 "height": "",
122 "id": 28,
123 "interval": null,
124 "links": [],
125 "mappingType": 1,
126 "mappingTypes": [
127 {
128 "name": "value to text",
129 "value": 1
130 },
131 {
132 "name": "range to text",
133 "value": 2
134 }
135 ],
136 "maxDataPoints": 100,
137 "nullPointMode": "connected",
138 "nullText": null,
139 "options": {},
140 "postfix": "",
141 "postfixFontSize": "50%",
142 "prefix": "",
143 "prefixFontSize": "50%",
144 "rangeMaps": [
145 {
146 "from": "null",
147 "text": "N/A",
148 "to": "null"
149 }
150 ],
151 "sparkline": {
152 "fillColor": "rgba(31, 118, 189, 0.18)",
153 "full": true,
154 "lineColor": "rgb(31, 120, 193)",
155 "show": true
156 },
157 "tableColumn": "",
158 "targets": [
159 {
160 "expr": "sum(irate(response_total{classification=\"success\", deployment=~\"$deployment\"}[$__rate_interval])) / sum(irate(response_total{deployment=~\"$deployment\"}[$__rate_interval]))",
161 "format": "time_series",
162 "intervalFactor": 1,
163 "legendFormat": "",
164 "refId": "A"
165 }
166 ],
167 "thresholds": ".9,.99",
168 "title": "GLOBAL SUCCESS RATE",
169 "type": "singlestat",
170 "valueFontSize": "80%",
171 "valueMaps": [
172 {
173 "op": "=",
174 "text": "N/A",
175 "value": "null"
176 }
177 ],
178 "valueName": "current"
179 },
180 {
181 "cacheTimeout": null,
182 "colorBackground": false,
183 "colorValue": false,
184 "colors": [
185 "#d44a3a",
186 "rgba(237, 129, 40, 0.89)",
187 "#299c46"
188 ],
189 "datasource": {
190 "type": "prometheus",
191 "uid": "${datasource}"
192 },
193 "format": "rps",
194 "gauge": {
195 "maxValue": 1,
196 "minValue": 0,
197 "show": false,
198 "thresholdLabels": false,
199 "thresholdMarkers": true
200 },
201 "gridPos": {
202 "h": 4,
203 "w": 8,
204 "x": 8,
205 "y": 3
206 },
207 "height": "",
208 "id": 29,
209 "interval": null,
210 "links": [],
211 "mappingType": 1,
212 "mappingTypes": [
213 {
214 "name": "value to text",
215 "value": 1
216 },
217 {
218 "name": "range to text",
219 "value": 2
220 }
221 ],
222 "maxDataPoints": 100,
223 "nullPointMode": "connected",
224 "nullText": null,
225 "options": {},
226 "postfix": "",
227 "postfixFontSize": "50%",
228 "prefix": "",
229 "prefixFontSize": "50%",
230 "rangeMaps": [
231 {
232 "from": "null",
233 "text": "N/A",
234 "to": "null"
235 }
236 ],
237 "sparkline": {
238 "fillColor": "rgba(31, 118, 189, 0.18)",
239 "full": true,
240 "lineColor": "rgb(31, 120, 193)",
241 "show": true
242 },
243 "tableColumn": "",
244 "targets": [
245 {
246 "expr": "sum(irate(request_total{deployment=~\"$deployment\"}[$__rate_interval]))",
247 "format": "time_series",
248 "intervalFactor": 2,
249 "legendFormat": "",
250 "refId": "A"
251 }
252 ],
253 "thresholds": "",
254 "title": "GLOBAL REQUEST VOLUME",
255 "type": "singlestat",
256 "valueFontSize": "80%",
257 "valueMaps": [
258 {
259 "op": "=",
260 "text": "N/A",
261 "value": "null"
262 }
263 ],
264 "valueName": "current"
265 },
266 {
267 "cacheTimeout": null,
268 "colorBackground": false,
269 "colorValue": false,
270 "colors": [
271 "#d44a3a",
272 "rgba(237, 129, 40, 0.89)",
273 "#299c46"
274 ],
275 "datasource": {
276 "type": "prometheus",
277 "uid": "${datasource}"
278 },
279 "format": "none",
280 "gauge": {
281 "maxValue": 1,
282 "minValue": 0,
283 "show": false,
284 "thresholdLabels": false,
285 "thresholdMarkers": true
286 },
287 "gridPos": {
288 "h": 4,
289 "w": 4,
290 "x": 16,
291 "y": 3
292 },
293 "height": "",
294 "id": 30,
295 "interval": null,
296 "links": [],
297 "mappingType": 1,
298 "mappingTypes": [
299 {
300 "name": "value to text",
301 "value": 1
302 },
303 {
304 "name": "range to text",
305 "value": 2
306 }
307 ],
308 "maxDataPoints": 100,
309 "nullPointMode": "connected",
310 "nullText": null,
311 "options": {},
312 "postfix": "",
313 "postfixFontSize": "50%",
314 "prefix": "",
315 "prefixFontSize": "50%",
316 "rangeMaps": [
317 {
318 "from": "null",
319 "text": "N/A",
320 "to": "null"
321 }
322 ],
323 "sparkline": {
324 "fillColor": "rgba(31, 118, 189, 0.18)",
325 "full": true,
326 "lineColor": "rgb(31, 120, 193)",
327 "show": false
328 },
329 "tableColumn": "",
330 "targets": [
331 {
332 "expr": "count(count(request_total{namespace=~\"$namespace\"}) by (namespace))",
333 "format": "time_series",
334 "intervalFactor": 1,
335 "legendFormat": "",
336 "refId": "A"
337 }
338 ],
339 "thresholds": "",
340 "title": "NAMESPACES MONITORED",
341 "type": "singlestat",
342 "valueFontSize": "200%",
343 "valueMaps": [
344 {
345 "op": "=",
346 "text": "N/A",
347 "value": "null"
348 }
349 ],
350 "valueName": "current"
351 },
352 {
353 "cacheTimeout": null,
354 "colorBackground": false,
355 "colorValue": false,
356 "colors": [
357 "#d44a3a",
358 "rgba(237, 129, 40, 0.89)",
359 "#299c46"
360 ],
361 "datasource": {
362 "type": "prometheus",
363 "uid": "${datasource}"
364 },
365 "format": "none",
366 "gauge": {
367 "maxValue": 1,
368 "minValue": 0,
369 "show": false,
370 "thresholdLabels": false,
371 "thresholdMarkers": true
372 },
373 "gridPos": {
374 "h": 4,
375 "w": 4,
376 "x": 20,
377 "y": 3
378 },
379 "height": "",
380 "id": 86,
381 "interval": null,
382 "links": [],
383 "mappingType": 1,
384 "mappingTypes": [
385 {
386 "name": "value to text",
387 "value": 1
388 },
389 {
390 "name": "range to text",
391 "value": 2
392 }
393 ],
394 "maxDataPoints": 100,
395 "nullPointMode": "connected",
396 "nullText": null,
397 "options": {},
398 "postfix": "",
399 "postfixFontSize": "50%",
400 "prefix": "",
401 "prefixFontSize": "50%",
402 "rangeMaps": [
403 {
404 "from": "null",
405 "text": "N/A",
406 "to": "null"
407 }
408 ],
409 "sparkline": {
410 "fillColor": "rgba(31, 118, 189, 0.18)",
411 "full": true,
412 "lineColor": "rgb(31, 120, 193)",
413 "show": false
414 },
415 "tableColumn": "",
416 "targets": [
417 {
418 "expr": "count(count(request_total{namespace=~\"$namespace\"}) by (namespace, deployment))",
419 "format": "time_series",
420 "intervalFactor": 1,
421 "legendFormat": "",
422 "refId": "A"
423 }
424 ],
425 "thresholds": "",
426 "title": "DEPLOYMENTS MONITORED",
427 "type": "singlestat",
428 "valueFontSize": "200%",
429 "valueMaps": [
430 {
431 "op": "=",
432 "text": "N/A",
433 "value": "null"
434 }
435 ],
436 "valueName": "current"
437 },
438 {
439 "content": "<div class=\"text-center dashboard-header\">\n <span>TOP LINE</span>\n</div>",
440 "gridPos": {
441 "h": 2,
442 "w": 24,
443 "x": 0,
444 "y": 7
445 },
446 "height": "1px",
447 "id": 20,
448 "links": [],
449 "mode": "html",
450 "options": {},
451 "title": "",
452 "transparent": true,
453 "type": "text"
454 },
455 {
456 "aliasColors": {},
457 "bars": false,
458 "dashLength": 10,
459 "dashes": false,
460 "datasource": {
461 "type": "prometheus",
462 "uid": "${datasource}"
463 },
464 "fill": 1,
465 "gridPos": {
466 "h": 7,
467 "w": 8,
468 "x": 0,
469 "y": 9
470 },
471 "id": 21,
472 "legend": {
473 "avg": false,
474 "current": false,
475 "max": false,
476 "min": false,
477 "show": false,
478 "total": false,
479 "values": false
480 },
481 "lines": true,
482 "linewidth": 2,
483 "links": [],
484 "nullPointMode": "null",
485 "options": {},
486 "percentage": false,
487 "pointradius": 5,
488 "points": false,
489 "renderer": "flot",
490 "seriesOverrides": [],
491 "spaceLength": 10,
492 "stack": false,
493 "steppedLine": false,
494 "targets": [
495 {
496 "expr": "sum(irate(response_total{classification=\"success\", namespace=~\"$namespace\", direction=\"inbound\"}[$__rate_interval])) by (namespace) / sum(irate(response_total{namespace=~\"$namespace\", direction=\"inbound\"}[$__rate_interval])) by (namespace)",
497 "format": "time_series",
498 "intervalFactor": 1,
499 "legendFormat": "ns/{{namespace}}",
500 "refId": "A"
501 }
502 ],
503 "thresholds": [],
504 "timeFrom": null,
505 "timeRegions": [],
506 "timeShift": null,
507 "title": "SUCCESS RATE",
508 "tooltip": {
509 "shared": true,
510 "sort": 2,
511 "value_type": "individual"
512 },
513 "type": "graph",
514 "xaxis": {
515 "buckets": null,
516 "mode": "time",
517 "name": null,
518 "show": true,
519 "values": []
520 },
521 "yaxes": [
522 {
523 "format": "percentunit",
524 "label": null,
525 "logBase": 1,
526 "max": 1,
527 "min": null,
528 "show": true
529 },
530 {
531 "format": "short",
532 "label": null,
533 "logBase": 1,
534 "max": null,
535 "min": null,
536 "show": true
537 }
538 ],
539 "yaxis": {
540 "align": false,
541 "alignLevel": null
542 }
543 },
544 {
545 "aliasColors": {},
546 "bars": false,
547 "dashLength": 10,
548 "dashes": false,
549 "datasource": {
550 "type": "prometheus",
551 "uid": "${datasource}"
552 },
553 "fill": 0,
554 "gridPos": {
555 "h": 7,
556 "w": 8,
557 "x": 8,
558 "y": 9
559 },
560 "id": 22,
561 "legend": {
562 "avg": false,
563 "current": false,
564 "max": false,
565 "min": false,
566 "show": false,
567 "total": false,
568 "values": false
569 },
570 "lines": true,
571 "linewidth": 2,
572 "links": [],
573 "nullPointMode": "null",
574 "options": {},
575 "percentage": false,
576 "pointradius": 5,
577 "points": false,
578 "renderer": "flot",
579 "seriesOverrides": [],
580 "spaceLength": 10,
581 "stack": false,
582 "steppedLine": false,
583 "targets": [
584 {
585 "expr": "sum(irate(request_total{namespace=~\"$namespace\", direction=\"inbound\", tls=\"true\"}[$__rate_interval])) by (namespace)",
586 "format": "time_series",
587 "intervalFactor": 1,
588 "legendFormat": "🔒ns/{{namespace}}",
589 "refId": "A"
590 },
591 {
592 "expr": "sum(irate(request_total{namespace=~\"$namespace\", direction=\"inbound\", tls!=\"true\"}[$__rate_interval])) by (namespace)",
593 "format": "time_series",
594 "intervalFactor": 1,
595 "legendFormat": "ns/{{namespace}}",
596 "refId": "B"
597 }
598 ],
599 "thresholds": [],
600 "timeFrom": null,
601 "timeRegions": [],
602 "timeShift": null,
603 "title": "REQUEST VOLUME",
604 "tooltip": {
605 "shared": true,
606 "sort": 2,
607 "value_type": "individual"
608 },
609 "type": "graph",
610 "xaxis": {
611 "buckets": null,
612 "mode": "time",
613 "name": null,
614 "show": true,
615 "values": []
616 },
617 "yaxes": [
618 {
619 "format": "rps",
620 "label": null,
621 "logBase": 1,
622 "max": null,
623 "min": 0,
624 "show": true
625 },
626 {
627 "format": "short",
628 "label": null,
629 "logBase": 1,
630 "max": null,
631 "min": null,
632 "show": true
633 }
634 ],
635 "yaxis": {
636 "align": false,
637 "alignLevel": null
638 }
639 },
640 {
641 "aliasColors": {},
642 "bars": false,
643 "dashLength": 10,
644 "dashes": false,
645 "datasource": {
646 "type": "prometheus",
647 "uid": "${datasource}"
648 },
649 "fill": 1,
650 "gridPos": {
651 "h": 7,
652 "w": 8,
653 "x": 16,
654 "y": 9
655 },
656 "id": 23,
657 "legend": {
658 "avg": false,
659 "current": false,
660 "max": false,
661 "min": false,
662 "show": false,
663 "total": false,
664 "values": false
665 },
666 "lines": true,
667 "linewidth": 2,
668 "links": [],
669 "nullPointMode": "null",
670 "options": {},
671 "percentage": false,
672 "pointradius": 5,
673 "points": false,
674 "renderer": "flot",
675 "seriesOverrides": [],
676 "spaceLength": 10,
677 "stack": false,
678 "steppedLine": false,
679 "targets": [
680 {
681 "expr": "histogram_quantile(0.95, sum(irate(response_latency_ms_bucket{namespace=~\"$namespace\", direction=\"inbound\"}[$__rate_interval])) by (le, namespace))",
682 "format": "time_series",
683 "intervalFactor": 1,
684 "legendFormat": "p95 ns/{{namespace}}",
685 "refId": "A"
686 }
687 ],
688 "thresholds": [],
689 "timeFrom": null,
690 "timeRegions": [],
691 "timeShift": null,
692 "title": "P95 LATENCY",
693 "tooltip": {
694 "shared": true,
695 "sort": 2,
696 "value_type": "individual"
697 },
698 "type": "graph",
699 "xaxis": {
700 "buckets": null,
701 "mode": "time",
702 "name": null,
703 "show": true,
704 "values": []
705 },
706 "yaxes": [
707 {
708 "format": "ms",
709 "label": null,
710 "logBase": 1,
711 "max": null,
712 "min": null,
713 "show": true
714 },
715 {
716 "format": "short",
717 "label": null,
718 "logBase": 1,
719 "max": null,
720 "min": null,
721 "show": true
722 }
723 ],
724 "yaxis": {
725 "align": false,
726 "alignLevel": null
727 }
728 },
729 {
730 "content": "<div class=\"text-center dashboard-header\">\n <span>NAMESPACES</span>\n</div>",
731 "gridPos": {
732 "h": 2,
733 "w": 24,
734 "x": 0,
735 "y": 16
736 },
737 "height": "1px",
738 "id": 19,
739 "links": [],
740 "mode": "html",
741 "options": {},
742 "title": "",
743 "transparent": true,
744 "type": "text"
745 },
746 {
747 "collapsed": false,
748 "gridPos": {
749 "h": 1,
750 "w": 24,
751 "x": 0,
752 "y": 18
753 },
754 "id": 40,
755 "panels": [],
756 "repeat": "namespace",
757 "scopedVars": {
758 "namespace": {
759 "selected": false
760 }
761 },
762 "title": "",
763 "type": "row"
764 },
765 {
766 "content": "<div>\n <img src=\"https://linkerd.io/images/identity/favicon/linkerd-favicon.png\" style=\"baseline; height:30px;\"/> \n <a href=\"./dashboard/db/linkerd-deployment?var-namespace=$namespace\">\n <span style=\"font-size: 15px; border-image:none\">ns/$namespace</span>\n </a>\n</div>",
767 "gridPos": {
768 "h": 2,
769 "w": 24,
770 "x": 0,
771 "y": 19
772 },
773 "height": "1px",
774 "id": 13,
775 "links": [],
776 "mode": "html",
777 "options": {},
778 "scopedVars": {
779 "namespace": {
780 "selected": false
781 }
782 },
783 "title": "",
784 "transparent": true,
785 "type": "text"
786 },
787 {
788 "aliasColors": {},
789 "bars": false,
790 "dashLength": 10,
791 "dashes": false,
792 "datasource": {
793 "type": "prometheus",
794 "uid": "${datasource}"
795 },
796 "fill": 1,
797 "gridPos": {
798 "h": 7,
799 "w": 8,
800 "x": 0,
801 "y": 21
802 },
803 "id": 6,
804 "legend": {
805 "avg": false,
806 "current": false,
807 "max": false,
808 "min": false,
809 "show": false,
810 "total": false,
811 "values": false
812 },
813 "lines": true,
814 "linewidth": 2,
815 "links": [],
816 "nullPointMode": "null",
817 "options": {},
818 "percentage": false,
819 "pointradius": 5,
820 "points": false,
821 "renderer": "flot",
822 "scopedVars": {
823 "namespace": {
824 "selected": false
825 }
826 },
827 "seriesOverrides": [],
828 "spaceLength": 10,
829 "stack": false,
830 "steppedLine": false,
831 "targets": [
832 {
833 "expr": "sum(irate(response_total{classification=\"success\", namespace=\"$namespace\", direction=\"inbound\"}[$__rate_interval])) by (deployment) / sum(irate(response_total{namespace=\"$namespace\", direction=\"inbound\"}[$__rate_interval])) by (deployment)",
834 "format": "time_series",
835 "intervalFactor": 1,
836 "legendFormat": "deploy/{{deployment}}",
837 "refId": "A"
838 }
839 ],
840 "thresholds": [],
841 "timeFrom": null,
842 "timeRegions": [],
843 "timeShift": null,
844 "title": "SUCCESS RATE",
845 "tooltip": {
846 "shared": true,
847 "sort": 2,
848 "value_type": "individual"
849 },
850 "type": "graph",
851 "xaxis": {
852 "buckets": null,
853 "mode": "time",
854 "name": null,
855 "show": true,
856 "values": []
857 },
858 "yaxes": [
859 {
860 "format": "percentunit",
861 "label": null,
862 "logBase": 1,
863 "max": 1,
864 "min": null,
865 "show": true
866 },
867 {
868 "format": "short",
869 "label": null,
870 "logBase": 1,
871 "max": null,
872 "min": null,
873 "show": true
874 }
875 ],
876 "yaxis": {
877 "align": false,
878 "alignLevel": null
879 }
880 },
881 {
882 "aliasColors": {},
883 "bars": false,
884 "dashLength": 10,
885 "dashes": false,
886 "datasource": {
887 "type": "prometheus",
888 "uid": "${datasource}"
889 },
890 "fill": 0,
891 "gridPos": {
892 "h": 7,
893 "w": 8,
894 "x": 8,
895 "y": 21
896 },
897 "id": 8,
898 "legend": {
899 "avg": false,
900 "current": false,
901 "max": false,
902 "min": false,
903 "show": false,
904 "total": false,
905 "values": false
906 },
907 "lines": true,
908 "linewidth": 2,
909 "links": [],
910 "nullPointMode": "null",
911 "options": {},
912 "percentage": false,
913 "pointradius": 5,
914 "points": false,
915 "renderer": "flot",
916 "scopedVars": {
917 "namespace": {
918 "selected": false
919 }
920 },
921 "seriesOverrides": [],
922 "spaceLength": 10,
923 "stack": false,
924 "steppedLine": false,
925 "targets": [
926 {
927 "expr": "sum(irate(request_total{namespace=\"$namespace\", direction=\"inbound\", tls=\"true\"}[$__rate_interval])) by (deployment)",
928 "format": "time_series",
929 "intervalFactor": 1,
930 "legendFormat": "🔒deploy/{{deployment}}",
931 "refId": "A"
932 },
933 {
934 "expr": "sum(irate(request_total{namespace=\"$namespace\", direction=\"inbound\", tls!=\"true\"}[$__rate_interval])) by (deployment)",
935 "format": "time_series",
936 "intervalFactor": 1,
937 "legendFormat": "deploy/{{deployment}}",
938 "refId": "B"
939 }
940 ],
941 "thresholds": [],
942 "timeFrom": null,
943 "timeRegions": [],
944 "timeShift": null,
945 "title": "REQUEST VOLUME",
946 "tooltip": {
947 "shared": true,
948 "sort": 2,
949 "value_type": "individual"
950 },
951 "type": "graph",
952 "xaxis": {
953 "buckets": null,
954 "mode": "time",
955 "name": null,
956 "show": true,
957 "values": []
958 },
959 "yaxes": [
960 {
961 "format": "rps",
962 "label": null,
963 "logBase": 1,
964 "max": null,
965 "min": 0,
966 "show": true
967 },
968 {
969 "format": "short",
970 "label": null,
971 "logBase": 1,
972 "max": null,
973 "min": null,
974 "show": true
975 }
976 ],
977 "yaxis": {
978 "align": false,
979 "alignLevel": null
980 }
981 },
982 {
983 "aliasColors": {},
984 "bars": false,
985 "dashLength": 10,
986 "dashes": false,
987 "datasource": {
988 "type": "prometheus",
989 "uid": "${datasource}"
990 },
991 "fill": 1,
992 "gridPos": {
993 "h": 7,
994 "w": 8,
995 "x": 16,
996 "y": 21
997 },
998 "id": 9,
999 "legend": {
1000 "avg": false,
1001 "current": false,
1002 "max": false,
1003 "min": false,
1004 "show": false,
1005 "total": false,
1006 "values": false
1007 },
1008 "lines": true,
1009 "linewidth": 2,
1010 "links": [],
1011 "nullPointMode": "null",
1012 "options": {},
1013 "percentage": false,
1014 "pointradius": 5,
1015 "points": false,
1016 "renderer": "flot",
1017 "scopedVars": {
1018 "namespace": {
1019 "selected": false
1020 }
1021 },
1022 "seriesOverrides": [],
1023 "spaceLength": 10,
1024 "stack": false,
1025 "steppedLine": false,
1026 "targets": [
1027 {
1028 "expr": "histogram_quantile(0.95, sum(irate(response_latency_ms_bucket{namespace=\"$namespace\", direction=\"inbound\"}[$__rate_interval])) by (le, deployment))",
1029 "format": "time_series",
1030 "hide": false,
1031 "intervalFactor": 1,
1032 "legendFormat": "p95 deploy/{{deployment}}",
1033 "refId": "A"
1034 }
1035 ],
1036 "thresholds": [],
1037 "timeFrom": null,
1038 "timeRegions": [],
1039 "timeShift": null,
1040 "title": "P95 LATENCY",
1041 "tooltip": {
1042 "shared": true,
1043 "sort": 2,
1044 "value_type": "individual"
1045 },
1046 "type": "graph",
1047 "xaxis": {
1048 "buckets": null,
1049 "mode": "time",
1050 "name": null,
1051 "show": true,
1052 "values": []
1053 },
1054 "yaxes": [
1055 {
1056 "format": "ms",
1057 "label": null,
1058 "logBase": 1,
1059 "max": null,
1060 "min": null,
1061 "show": true
1062 },
1063 {
1064 "format": "short",
1065 "label": null,
1066 "logBase": 1,
1067 "max": null,
1068 "min": null,
1069 "show": true
1070 }
1071 ],
1072 "yaxis": {
1073 "align": false,
1074 "alignLevel": null
1075 }
1076 }
1077 ],
1078 "refresh": "1m",
1079 "schemaVersion": 18,
1080 "style": "dark",
1081 "tags": [
1082 "linkerd"
1083 ],
1084 "templating": {
1085 "list": [
1086 {
1087 "current": {
1088 "text": "default",
1089 "value": "default"
1090 },
1091 "hide": 0,
1092 "label": "Data Source",
1093 "name": "datasource",
1094 "options": [],
1095 "query": "prometheus",
1096 "refresh": 1,
1097 "regex": "",
1098 "type": "datasource"
1099 },
1100 {
1101 "allValue": ".*",
1102 "current": {
1103 "text": "All",
1104 "value": "$__all"
1105 },
1106 "datasource": {
1107 "type": "prometheus",
1108 "uid": "${datasource}"
1109 },
1110 "definition": "",
1111 "hide": 2,
1112 "includeAll": true,
1113 "label": null,
1114 "multi": false,
1115 "name": "namespace",
1116 "options": [],
1117 "query": "label_values(process_start_time_seconds, namespace)",
1118 "refresh": 2,
1119 "regex": "",
1120 "skipUrlSync": false,
1121 "sort": 1,
1122 "tagValuesQuery": "",
1123 "tags": [],
1124 "tagsQuery": "",
1125 "type": "query",
1126 "useTags": false
1127 },
1128 {
1129 "allValue": ".*",
1130 "current": {
1131 "text": "All",
1132 "value": "$__all"
1133 },
1134 "datasource": {
1135 "type": "prometheus",
1136 "uid": "${datasource}"
1137 },
1138 "definition": "",
1139 "hide": 2,
1140 "includeAll": true,
1141 "label": null,
1142 "multi": false,
1143 "name": "deployment",
1144 "options": [],
1145 "query": "label_values(process_start_time_seconds{deployment!=\"\"}, deployment)",
1146 "refresh": 2,
1147 "regex": "",
1148 "skipUrlSync": false,
1149 "sort": 1,
1150 "tagValuesQuery": "",
1151 "tags": [],
1152 "tagsQuery": "",
1153 "type": "query",
1154 "useTags": false
1155 }
1156 ]
1157 },
1158 "time": {
1159 "from": "now-5m",
1160 "to": "now"
1161 },
1162 "timepicker": {
1163 "refresh_intervals": [
1164 "5s",
1165 "10s",
1166 "30s",
1167 "1m",
1168 "5m",
1169 "15m",
1170 "30m",
1171 "1h",
1172 "2h",
1173 "1d"
1174 ],
1175 "time_options": [
1176 "5m",
1177 "15m",
1178 "1h",
1179 "6h",
1180 "12h",
1181 "24h",
1182 "2d",
1183 "7d",
1184 "30d"
1185 ]
1186 },
1187 "timezone": "",
1188 "title": "Linkerd Top Line",
1189 "uid": "linkerd-top-line",
1190 "version": 1
1191}
View as plain text