Advertisement
KSlacker

Untitled

Dec 7th, 2024
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 20.64 KB | None | 0 0
  1. {
  2.   "annotations": {
  3.     "list": [
  4.       {
  5.         "builtIn": 1,
  6.         "datasource": {
  7.           "type": "grafana",
  8.           "uid": "-- Grafana --"
  9.         },
  10.         "enable": true,
  11.         "hide": true,
  12.         "iconColor": "rgba(0, 211, 255, 1)",
  13.         "name": "Annotations & Alerts",
  14.         "target": {
  15.           "limit": 100,
  16.           "matchAny": false,
  17.           "tags": [],
  18.           "type": "dashboard"
  19.         },
  20.         "type": "dashboard"
  21.       }
  22.     ]
  23.   },
  24.   "description": "Microservices(gRPC) dashboard with Prometheus data source. It supports the metrics defined in https://github.com/grpc/proposal/blob/master/A66-otel-stats.md",
  25.   "editable": true,
  26.   "fiscalYearStartMonth": 0,
  27.   "graphTooltip": 0,
  28.   "id": 2,
  29.   "links": [],
  30.   "panels": [
  31.     {
  32.       "collapsed": false,
  33.       "gridPos": {
  34.         "h": 1,
  35.         "w": 24,
  36.         "x": 0,
  37.         "y": 0
  38.       },
  39.       "id": 16,
  40.       "panels": [],
  41.       "title": "Server Side Metrics",
  42.       "type": "row"
  43.     },
  44.     {
  45.       "datasource": {
  46.         "type": "prometheus",
  47.         "uid": "prometheus_1"
  48.       },
  49.       "description": "The total number of RPC calls started on the server side per second, including those that have not completed.",
  50.       "fieldConfig": {
  51.         "defaults": {
  52.           "color": {
  53.             "mode": "palette-classic"
  54.           },
  55.           "custom": {
  56.             "axisBorderShow": false,
  57.             "axisCenteredZero": false,
  58.             "axisColorMode": "text",
  59.             "axisLabel": "",
  60.             "axisPlacement": "auto",
  61.             "barAlignment": 0,
  62.             "barWidthFactor": 0.6,
  63.             "drawStyle": "line",
  64.             "fillOpacity": 0,
  65.             "gradientMode": "none",
  66.             "hideFrom": {
  67.               "legend": false,
  68.               "tooltip": false,
  69.               "viz": false
  70.             },
  71.             "insertNulls": false,
  72.             "lineInterpolation": "linear",
  73.             "lineWidth": 1,
  74.             "pointSize": 5,
  75.             "scaleDistribution": {
  76.               "type": "linear"
  77.             },
  78.             "showPoints": "auto",
  79.             "spanNulls": false,
  80.             "stacking": {
  81.               "group": "A",
  82.               "mode": "none"
  83.             },
  84.             "thresholdsStyle": {
  85.               "mode": "off"
  86.             }
  87.           },
  88.           "mappings": [],
  89.           "thresholds": {
  90.             "mode": "absolute",
  91.             "steps": [
  92.               {
  93.                 "color": "green",
  94.                 "value": null
  95.               },
  96.               {
  97.                 "color": "red",
  98.                 "value": 80
  99.               }
  100.             ]
  101.           },
  102.           "unit": "short"
  103.         },
  104.         "overrides": []
  105.       },
  106.       "gridPos": {
  107.         "h": 8,
  108.         "w": 12,
  109.         "x": 0,
  110.         "y": 1
  111.       },
  112.       "id": 18,
  113.       "options": {
  114.         "legend": {
  115.           "calcs": [],
  116.           "displayMode": "list",
  117.           "placement": "bottom",
  118.           "showLegend": true
  119.         },
  120.         "tooltip": {
  121.           "mode": "single",
  122.           "sort": "none"
  123.         }
  124.       },
  125.       "pluginVersion": "11.4.0",
  126.       "targets": [
  127.         {
  128.           "datasource": {
  129.             "type": "prometheus",
  130.             "uid": "prometheus_1"
  131.           },
  132.           "editorMode": "code",
  133.           "expr": "sum(rate(grpc_server_call_started_total[$__rate_interval]))",
  134.           "legendFormat": "__auto",
  135.           "range": true,
  136.           "refId": "A"
  137.         }
  138.       ],
  139.       "title": "Server Call Started",
  140.       "type": "timeseries"
  141.     },
  142.     {
  143.       "datasource": {
  144.         "type": "prometheus",
  145.         "uid": "prometheus_1"
  146.       },
  147.       "description": "This metric aims to measure the end2end time an RPC takes from the server transport’s (HTTP2/ inproc) perspective.\nStart timestamp - After the transport knows that it's got a new stream. For HTTP2, this would be after the first header frame for the stream has been received and decoded. Whether the timestamp is recorded before or after HPACK is left to the implementation.\nEnd timestamp - Ends at the first point where the transport considers the stream done. For HTTP2, this would be when scheduling a trailing header with END_STREAM to be written, or RST_STREAM, or a connection abort. Note that this wouldn’t necessarily mean that the bytes have also been immediately scheduled to be written by TCP.",
  148.       "fieldConfig": {
  149.         "defaults": {
  150.           "color": {
  151.             "mode": "palette-classic"
  152.           },
  153.           "custom": {
  154.             "axisBorderShow": false,
  155.             "axisCenteredZero": false,
  156.             "axisColorMode": "text",
  157.             "axisLabel": "",
  158.             "axisPlacement": "auto",
  159.             "barAlignment": 0,
  160.             "barWidthFactor": 0.6,
  161.             "drawStyle": "line",
  162.             "fillOpacity": 0,
  163.             "gradientMode": "none",
  164.             "hideFrom": {
  165.               "legend": false,
  166.               "tooltip": false,
  167.               "viz": false
  168.             },
  169.             "insertNulls": false,
  170.             "lineInterpolation": "linear",
  171.             "lineWidth": 1,
  172.             "pointSize": 5,
  173.             "scaleDistribution": {
  174.               "type": "linear"
  175.             },
  176.             "showPoints": "auto",
  177.             "spanNulls": false,
  178.             "stacking": {
  179.               "group": "A",
  180.               "mode": "none"
  181.             },
  182.             "thresholdsStyle": {
  183.               "mode": "off"
  184.             }
  185.           },
  186.           "mappings": [],
  187.           "thresholds": {
  188.             "mode": "absolute",
  189.             "steps": [
  190.               {
  191.                 "color": "green",
  192.                 "value": null
  193.               },
  194.               {
  195.                 "color": "red",
  196.                 "value": 80
  197.               }
  198.             ]
  199.           },
  200.           "unit": "short"
  201.         },
  202.         "overrides": []
  203.       },
  204.       "gridPos": {
  205.         "h": 8,
  206.         "w": 12,
  207.         "x": 12,
  208.         "y": 1
  209.       },
  210.       "id": 20,
  211.       "options": {
  212.         "legend": {
  213.           "calcs": [],
  214.           "displayMode": "list",
  215.           "placement": "bottom",
  216.           "showLegend": true
  217.         },
  218.         "tooltip": {
  219.           "mode": "single",
  220.           "sort": "none"
  221.         }
  222.       },
  223.       "pluginVersion": "11.4.0",
  224.       "targets": [
  225.         {
  226.           "datasource": {
  227.             "type": "prometheus",
  228.             "uid": "prometheus_1"
  229.           },
  230.           "editorMode": "code",
  231.           "expr": "histogram_quantile(0.5, sum(rate(grpc_server_call_duration_seconds_bucket[$__rate_interval])) by (le))",
  232.           "legendFormat": "50 percentile",
  233.           "range": true,
  234.           "refId": "A"
  235.         },
  236.         {
  237.           "datasource": {
  238.             "type": "prometheus",
  239.             "uid": "prometheus_1"
  240.           },
  241.           "editorMode": "code",
  242.           "expr": "histogram_quantile(0.95, sum(rate(grpc_server_call_duration_seconds_bucket[$__rate_interval])) by (le))",
  243.           "hide": false,
  244.           "legendFormat": "95 percentile",
  245.           "range": true,
  246.           "refId": "B"
  247.         },
  248.         {
  249.           "datasource": {
  250.             "type": "prometheus",
  251.             "uid": "prometheus_1"
  252.           },
  253.           "editorMode": "code",
  254.           "expr": "histogram_quantile(0.99, sum(rate(grpc_server_call_duration_seconds_bucket[$__rate_interval])) by (le))",
  255.           "hide": false,
  256.           "legendFormat": "99 percentile",
  257.           "range": true,
  258.           "refId": "C"
  259.         },
  260.         {
  261.           "datasource": {
  262.             "type": "prometheus",
  263.             "uid": "prometheus_1"
  264.           },
  265.           "editorMode": "code",
  266.           "expr": "sum(rate(grpc_server_call_duration_seconds_sum[$__rate_interval]))/sum(rate(grpc_server_call_duration_seconds_count[$__rate_interval]))",
  267.           "hide": false,
  268.           "legendFormat": "mean",
  269.           "range": true,
  270.           "refId": "D"
  271.         }
  272.       ],
  273.       "title": "Server RPC Duration (second)",
  274.       "type": "timeseries"
  275.     },
  276.     {
  277.       "datasource": {
  278.         "type": "prometheus",
  279.         "uid": "prometheus_1"
  280.       },
  281.       "description": "Total bytes (compressed but not encrypted) sent across all response messages (metadata excluded) per second; does not include grpc or transport framing bytes.",
  282.       "fieldConfig": {
  283.         "defaults": {
  284.           "color": {
  285.             "mode": "palette-classic"
  286.           },
  287.           "custom": {
  288.             "axisBorderShow": false,
  289.             "axisCenteredZero": false,
  290.             "axisColorMode": "text",
  291.             "axisLabel": "",
  292.             "axisPlacement": "auto",
  293.             "barAlignment": 0,
  294.             "barWidthFactor": 0.6,
  295.             "drawStyle": "line",
  296.             "fillOpacity": 0,
  297.             "gradientMode": "none",
  298.             "hideFrom": {
  299.               "legend": false,
  300.               "tooltip": false,
  301.               "viz": false
  302.             },
  303.             "insertNulls": false,
  304.             "lineInterpolation": "linear",
  305.             "lineWidth": 1,
  306.             "pointSize": 5,
  307.             "scaleDistribution": {
  308.               "type": "linear"
  309.             },
  310.             "showPoints": "auto",
  311.             "spanNulls": false,
  312.             "stacking": {
  313.               "group": "A",
  314.               "mode": "none"
  315.             },
  316.             "thresholdsStyle": {
  317.               "mode": "off"
  318.             }
  319.           },
  320.           "mappings": [],
  321.           "thresholds": {
  322.             "mode": "absolute",
  323.             "steps": [
  324.               {
  325.                 "color": "green",
  326.                 "value": null
  327.               },
  328.               {
  329.                 "color": "red",
  330.                 "value": 80
  331.               }
  332.             ]
  333.           },
  334.           "unit": "short"
  335.         },
  336.         "overrides": []
  337.       },
  338.       "gridPos": {
  339.         "h": 8,
  340.         "w": 12,
  341.         "x": 0,
  342.         "y": 9
  343.       },
  344.       "id": 22,
  345.       "options": {
  346.         "legend": {
  347.           "calcs": [],
  348.           "displayMode": "list",
  349.           "placement": "bottom",
  350.           "showLegend": true
  351.         },
  352.         "tooltip": {
  353.           "mode": "single",
  354.           "sort": "none"
  355.         }
  356.       },
  357.       "pluginVersion": "11.4.0",
  358.       "targets": [
  359.         {
  360.           "datasource": {
  361.             "type": "prometheus",
  362.             "uid": "prometheus_1"
  363.           },
  364.           "editorMode": "code",
  365.           "expr": "histogram_quantile(0.5, sum(rate(grpc_server_call_sent_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le))",
  366.           "legendFormat": "50 percentile",
  367.           "range": true,
  368.           "refId": "A"
  369.         },
  370.         {
  371.           "datasource": {
  372.             "type": "prometheus",
  373.             "uid": "prometheus_1"
  374.           },
  375.           "editorMode": "code",
  376.           "expr": "histogram_quantile(0.95, sum(rate(grpc_server_call_sent_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le))",
  377.           "hide": false,
  378.           "legendFormat": "95 percentile",
  379.           "range": true,
  380.           "refId": "B"
  381.         },
  382.         {
  383.           "datasource": {
  384.             "type": "prometheus",
  385.             "uid": "prometheus_1"
  386.           },
  387.           "editorMode": "code",
  388.           "expr": "histogram_quantile(0.99, sum(rate(grpc_server_call_sent_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le))",
  389.           "hide": false,
  390.           "legendFormat": "99 percentile",
  391.           "range": true,
  392.           "refId": "C"
  393.         },
  394.         {
  395.           "datasource": {
  396.             "type": "prometheus",
  397.             "uid": "prometheus_1"
  398.           },
  399.           "editorMode": "code",
  400.           "expr": "sum(rate(grpc_server_call_sent_total_compressed_message_size_bytes_sum[$__rate_interval]))/sum(rate(grpc_server_call_sent_total_compressed_message_size_bytes_count[$__rate_interval]))",
  401.           "hide": false,
  402.           "legendFormat": "mean",
  403.           "range": true,
  404.           "refId": "D"
  405.         }
  406.       ],
  407.       "title": "Server Sent Compressed Message Bytes per second",
  408.       "type": "timeseries"
  409.     },
  410.     {
  411.       "datasource": {
  412.         "type": "prometheus",
  413.         "uid": "prometheus_1"
  414.       },
  415.       "description": "Total bytes (compressed but not encrypted) sent across all response messages (metadata excluded) per RPC; does not include grpc or transport framing bytes.",
  416.       "fieldConfig": {
  417.         "defaults": {
  418.           "custom": {
  419.             "hideFrom": {
  420.               "legend": false,
  421.               "tooltip": false,
  422.               "viz": false
  423.             },
  424.             "scaleDistribution": {
  425.               "type": "linear"
  426.             }
  427.           }
  428.         },
  429.         "overrides": []
  430.       },
  431.       "gridPos": {
  432.         "h": 8,
  433.         "w": 12,
  434.         "x": 12,
  435.         "y": 9
  436.       },
  437.       "id": 24,
  438.       "options": {
  439.         "calculate": false,
  440.         "cellGap": 1,
  441.         "color": {
  442.           "exponent": 0.5,
  443.           "fill": "dark-orange",
  444.           "mode": "scheme",
  445.           "reverse": false,
  446.           "scale": "exponential",
  447.           "scheme": "Oranges",
  448.           "steps": 64
  449.         },
  450.         "exemplars": {
  451.           "color": "rgba(255,0,255,0.7)"
  452.         },
  453.         "filterValues": {
  454.           "le": 1e-9
  455.         },
  456.         "legend": {
  457.           "show": true
  458.         },
  459.         "rowsFrame": {
  460.           "layout": "auto"
  461.         },
  462.         "tooltip": {
  463.           "mode": "single",
  464.           "showColorScale": false,
  465.           "yHistogram": false
  466.         },
  467.         "yAxis": {
  468.           "axisPlacement": "left",
  469.           "reverse": false,
  470.           "unit": "short"
  471.         }
  472.       },
  473.       "pluginVersion": "11.4.0",
  474.       "targets": [
  475.         {
  476.           "datasource": {
  477.             "type": "prometheus",
  478.             "uid": "prometheus_1"
  479.           },
  480.           "editorMode": "code",
  481.           "expr": "sum(rate(grpc_server_call_sent_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le)",
  482.           "format": "heatmap",
  483.           "legendFormat": "__auto",
  484.           "range": true,
  485.           "refId": "A"
  486.         }
  487.       ],
  488.       "title": "Server Sent Compressed Message Bytes per RPC",
  489.       "type": "heatmap"
  490.     },
  491.     {
  492.       "datasource": {
  493.         "type": "prometheus",
  494.         "uid": "prometheus_1"
  495.       },
  496.       "description": "Total bytes (compressed but not encrypted) received across all request messages (metadata excluded) per second; does not include grpc or transport framing bytes.",
  497.       "fieldConfig": {
  498.         "defaults": {
  499.           "color": {
  500.             "mode": "palette-classic"
  501.           },
  502.           "custom": {
  503.             "axisBorderShow": false,
  504.             "axisCenteredZero": false,
  505.             "axisColorMode": "text",
  506.             "axisLabel": "",
  507.             "axisPlacement": "auto",
  508.             "barAlignment": 0,
  509.             "barWidthFactor": 0.6,
  510.             "drawStyle": "line",
  511.             "fillOpacity": 0,
  512.             "gradientMode": "none",
  513.             "hideFrom": {
  514.               "legend": false,
  515.               "tooltip": false,
  516.               "viz": false
  517.             },
  518.             "insertNulls": false,
  519.             "lineInterpolation": "linear",
  520.             "lineWidth": 1,
  521.             "pointSize": 5,
  522.             "scaleDistribution": {
  523.               "type": "linear"
  524.             },
  525.             "showPoints": "auto",
  526.             "spanNulls": false,
  527.             "stacking": {
  528.               "group": "A",
  529.               "mode": "none"
  530.             },
  531.             "thresholdsStyle": {
  532.               "mode": "off"
  533.             }
  534.           },
  535.           "mappings": [],
  536.           "thresholds": {
  537.             "mode": "absolute",
  538.             "steps": [
  539.               {
  540.                 "color": "green",
  541.                 "value": null
  542.               },
  543.               {
  544.                 "color": "red",
  545.                 "value": 80
  546.               }
  547.             ]
  548.           },
  549.           "unit": "short"
  550.         },
  551.         "overrides": []
  552.       },
  553.       "gridPos": {
  554.         "h": 8,
  555.         "w": 12,
  556.         "x": 0,
  557.         "y": 17
  558.       },
  559.       "id": 26,
  560.       "options": {
  561.         "legend": {
  562.           "calcs": [],
  563.           "displayMode": "list",
  564.           "placement": "bottom",
  565.           "showLegend": true
  566.         },
  567.         "tooltip": {
  568.           "mode": "single",
  569.           "sort": "none"
  570.         }
  571.       },
  572.       "pluginVersion": "11.4.0",
  573.       "targets": [
  574.         {
  575.           "datasource": {
  576.             "type": "prometheus",
  577.             "uid": "prometheus_1"
  578.           },
  579.           "editorMode": "code",
  580.           "expr": "histogram_quantile(0.5, sum(rate(grpc_server_call_rcvd_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le))",
  581.           "legendFormat": "50 percentile",
  582.           "range": true,
  583.           "refId": "A"
  584.         },
  585.         {
  586.           "datasource": {
  587.             "type": "prometheus",
  588.             "uid": "prometheus_1"
  589.           },
  590.           "editorMode": "code",
  591.           "expr": "histogram_quantile(0.95,sum(rate(grpc_server_call_rcvd_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le))",
  592.           "hide": false,
  593.           "legendFormat": "95 percentile",
  594.           "range": true,
  595.           "refId": "B"
  596.         },
  597.         {
  598.           "datasource": {
  599.             "type": "prometheus",
  600.             "uid": "prometheus_1"
  601.           },
  602.           "editorMode": "code",
  603.           "expr": "histogram_quantile(0.99,sum(rate(grpc_server_call_rcvd_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le))",
  604.           "hide": false,
  605.           "legendFormat": "99 percentile",
  606.           "range": true,
  607.           "refId": "C"
  608.         },
  609.         {
  610.           "datasource": {
  611.             "type": "prometheus",
  612.             "uid": "prometheus_1"
  613.           },
  614.           "editorMode": "code",
  615.           "expr": "sum(rate(grpc_server_call_rcvd_total_compressed_message_size_bytes_sum[$__rate_interval]))/sum(rate(grpc_server_call_rcvd_total_compressed_message_size_bytes_count[$__rate_interval]))",
  616.           "hide": false,
  617.           "legendFormat": "mean",
  618.           "range": true,
  619.           "refId": "D"
  620.         }
  621.       ],
  622.       "title": "Server Received Compressed Message Bytes per second",
  623.       "type": "timeseries"
  624.     },
  625.     {
  626.       "datasource": {
  627.         "type": "prometheus",
  628.         "uid": "prometheus_1"
  629.       },
  630.       "description": "Total bytes (compressed but not encrypted) received across all request messages (metadata excluded) per RPC; does not include grpc or transport framing bytes.",
  631.       "fieldConfig": {
  632.         "defaults": {
  633.           "custom": {
  634.             "hideFrom": {
  635.               "legend": false,
  636.               "tooltip": false,
  637.               "viz": false
  638.             },
  639.             "scaleDistribution": {
  640.               "type": "linear"
  641.             }
  642.           }
  643.         },
  644.         "overrides": []
  645.       },
  646.       "gridPos": {
  647.         "h": 8,
  648.         "w": 12,
  649.         "x": 12,
  650.         "y": 17
  651.       },
  652.       "id": 28,
  653.       "options": {
  654.         "calculate": false,
  655.         "cellGap": 1,
  656.         "color": {
  657.           "exponent": 0.5,
  658.           "fill": "dark-orange",
  659.           "mode": "scheme",
  660.           "reverse": false,
  661.           "scale": "exponential",
  662.           "scheme": "Oranges",
  663.           "steps": 64
  664.         },
  665.         "exemplars": {
  666.           "color": "rgba(255,0,255,0.7)"
  667.         },
  668.         "filterValues": {
  669.           "le": 1e-9
  670.         },
  671.         "legend": {
  672.           "show": true
  673.         },
  674.         "rowsFrame": {
  675.           "layout": "auto"
  676.         },
  677.         "tooltip": {
  678.           "mode": "single",
  679.           "showColorScale": false,
  680.           "yHistogram": false
  681.         },
  682.         "yAxis": {
  683.           "axisPlacement": "left",
  684.           "reverse": false,
  685.           "unit": "short"
  686.         }
  687.       },
  688.       "pluginVersion": "11.4.0",
  689.       "targets": [
  690.         {
  691.           "datasource": {
  692.             "type": "prometheus",
  693.             "uid": "prometheus_1"
  694.           },
  695.           "editorMode": "code",
  696.           "expr": "sum(rate(grpc_server_call_rcvd_total_compressed_message_size_bytes_bucket[$__rate_interval])) by (le)",
  697.           "format": "heatmap",
  698.           "legendFormat": "__auto",
  699.           "range": true,
  700.           "refId": "A"
  701.         }
  702.       ],
  703.       "title": "Server Received Compressed Message Bytes per RPC",
  704.       "type": "heatmap"
  705.     }
  706.   ],
  707.   "preload": false,
  708.   "refresh": "",
  709.   "schemaVersion": 40,
  710.   "tags": [],
  711.   "templating": {
  712.     "list": []
  713.   },
  714.   "time": {
  715.     "from": "now-30m",
  716.     "to": "now"
  717.   },
  718.   "timepicker": {},
  719.   "timezone": "",
  720.   "title": "Microservices (gRPC) Monitoring",
  721.   "uid": "-ABC1NOTy",
  722.   "version": 2,
  723.   "weekStart": ""
  724. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement