...

Text file src/github.com/linkerd/linkerd2/grafana/dashboards/route.json

Documentation: github.com/linkerd/linkerd2/grafana/dashboards

     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;\"/>&nbsp;\n  <span style=\"font-size: 32px\">route/$rt_route</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(route_response_total{classification=\"success\", namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) / sum(irate(route_response_total{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__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(route_request_total{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__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(route_response_latency_ms_bucket{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (le, rt_route))",
   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(route_response_total{classification=\"success\", namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (rt_route) / sum(irate(route_response_total{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (rt_route)",
   415            "format": "time_series",
   416            "intervalFactor": 1,
   417            "legendFormat": "route/{{rt_route}}",
   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(route_request_total{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\", tls=\"true\"}[$__rate_interval])) by (rt_route)",
   505            "format": "time_series",
   506            "intervalFactor": 1,
   507            "legendFormat": "🔒route/{{rt_route}}",
   508            "refId": "A"
   509          },
   510          {
   511            "expr": "sum(irate(route_request_total{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\", tls!=\"true\"}[$__rate_interval])) by (rt_route)",
   512            "format": "time_series",
   513            "intervalFactor": 1,
   514            "legendFormat": "route/{{rt_route}}",
   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(route_response_latency_ms_bucket{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (le, rt_route))",
   602            "format": "time_series",
   603            "intervalFactor": 1,
   604            "legendFormat": "p50 route/{{rt_route}}",
   605            "refId": "A"
   606          },
   607          {
   608            "expr": "histogram_quantile(0.95, sum(irate(route_response_latency_ms_bucket{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (le, rt_route))",
   609            "format": "time_series",
   610            "hide": false,
   611            "intervalFactor": 1,
   612            "legendFormat": "p95 route/{{rt_route}}",
   613            "refId": "B"
   614          },
   615          {
   616            "expr": "histogram_quantile(0.99, sum(irate(route_response_latency_ms_bucket{namespace=\"$namespace\", direction=\"inbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (le, rt_route))",
   617            "format": "time_series",
   618            "intervalFactor": 1,
   619            "legendFormat": "p99 route/{{rt_route}}",
   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(route_response_total{classification=\"success\", namespace=\"$namespace\", direction=\"outbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (deployment, rt_route) / sum(irate(route_response_total{namespace=\"$namespace\", direction=\"outbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (deployment, rt_route)",
   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(route_request_total{namespace=\"$namespace\", direction=\"outbound\", tls=\"true\", rt_route=\"$rt_route\"}[$__rate_interval])) by (deployment, rt_route)",
   813            "format": "time_series",
   814            "intervalFactor": 1,
   815            "legendFormat": "🔒deploy/{{deployment}}",
   816            "refId": "A"
   817          },
   818          {
   819            "expr": "sum(irate(route_request_total{namespace=\"$namespace\", direction=\"outbound\", tls!=\"true\", rt_route=\"$rt_route\"}[$__rate_interval])) by (deployment, rt_route)",
   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(route_response_latency_ms_bucket{namespace=\"$namespace\", direction=\"outbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (le, deployment, rt_route))",
   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(route_response_total{classification=\"success\", namespace=\"$namespace\", direction=\"outbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (pod, rt_route) / sum(irate(route_response_total{namespace=\"$namespace\", direction=\"outbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (pod, rt_route)",
  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(route_request_total{namespace=\"$namespace\", direction=\"outbound\", tls=\"true\", rt_route=\"$rt_route\"}[$__rate_interval])) by (pod, rt_route)",
  1104            "format": "time_series",
  1105            "intervalFactor": 1,
  1106            "legendFormat": "🔒po/{{pod}}",
  1107            "refId": "A"
  1108          },
  1109          {
  1110            "expr": "sum(irate(route_request_total{namespace=\"$namespace\", direction=\"outbound\", tls!=\"true\", rt_route=\"$rt_route\"}[$__rate_interval])) by (pod, rt_route)",
  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(route_response_latency_ms_bucket{namespace=\"$namespace\", direction=\"outbound\", rt_route=\"$rt_route\"}[$__rate_interval])) by (le, pod))",
  1200            "format": "time_series",
  1201            "intervalFactor": 1,
  1202            "legendFormat": "P95 po/{{pod, rt_route}}",
  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": null,
  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(route_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": null,
  1314            "current": {},
  1315            "datasource": {
  1316              "type": "prometheus",
  1317              "uid": "${datasource}"
  1318            },
  1319            "definition": "",
  1320            "hide": 0,
  1321            "includeAll": false,
  1322            "label": "Route",
  1323            "multi": false,
  1324            "name": "rt_route",
  1325            "options": [],
  1326            "query": "label_values(route_request_total{namespace=\"$namespace\"}, rt_route)",
  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 Route",
  1370    "uid": "route",
  1371    "version": 1
  1372  }
  1373  

View as plain text