global-ratelimit.json (17253B)
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 "type": "dashboard" 15 } 16 ] 17 }, 18 "description": "Envoy Gateway monitoring Dashboard with exported metrics.", 19 "editable": true, 20 "fiscalYearStartMonth": 0, 21 "graphTooltip": 0, 22 "id": 37, 23 "links": [], 24 "panels": [ 25 { 26 "collapsed": false, 27 "gridPos": { 28 "h": 1, 29 "w": 24, 30 "x": 0, 31 "y": 0 32 }, 33 "id": 273, 34 "panels": [], 35 "title": "Global Ratelimit", 36 "type": "row" 37 }, 38 { 39 "datasource": { 40 "type": "prometheus", 41 "uid": "${datasource}" 42 }, 43 "description": "Resident memory size", 44 "fieldConfig": { 45 "defaults": { 46 "color": { 47 "mode": "thresholds" 48 }, 49 "mappings": [], 50 "thresholds": { 51 "mode": "absolute", 52 "steps": [ 53 { 54 "color": "green", 55 "value": null 56 } 57 ] 58 }, 59 "unit": "decmbytes" 60 }, 61 "overrides": [] 62 }, 63 "gridPos": { 64 "h": 7, 65 "w": 7, 66 "x": 9, 67 "y": 1 68 }, 69 "id": 291, 70 "options": { 71 "minVizHeight": 75, 72 "minVizWidth": 75, 73 "orientation": "auto", 74 "reduceOptions": { 75 "calcs": [ 76 "lastNotNull" 77 ], 78 "fields": "", 79 "values": false 80 }, 81 "showThresholdLabels": false, 82 "showThresholdMarkers": false, 83 "sizing": "auto" 84 }, 85 "pluginVersion": "11.3.1", 86 "targets": [ 87 { 88 "datasource": { 89 "type": "prometheus", 90 "uid": "${datasource}" 91 }, 92 "disableTextWrap": false, 93 "editorMode": "code", 94 "exemplar": false, 95 "expr": "(process_resident_memory_bytes{app_kubernetes_io_component=\"ratelimit\"})/1000000", 96 "fullMetaSearch": false, 97 "includeNullMetadata": true, 98 "instant": false, 99 "legendFormat": "__auto", 100 "range": true, 101 "refId": "A", 102 "useBackend": false 103 } 104 ], 105 "title": "Resident Memory", 106 "transparent": true, 107 "type": "gauge" 108 }, 109 { 110 "datasource": { 111 "type": "prometheus", 112 "uid": "${datasource}" 113 }, 114 "description": "Virtual memory size", 115 "fieldConfig": { 116 "defaults": { 117 "color": { 118 "mode": "thresholds" 119 }, 120 "mappings": [], 121 "min": 0, 122 "thresholds": { 123 "mode": "percentage", 124 "steps": [ 125 { 126 "color": "green", 127 "value": null 128 } 129 ] 130 }, 131 "unit": "decmbytes" 132 }, 133 "overrides": [] 134 }, 135 "gridPos": { 136 "h": 7, 137 "w": 7, 138 "x": 16, 139 "y": 1 140 }, 141 "id": 325, 142 "options": { 143 "minVizHeight": 75, 144 "minVizWidth": 75, 145 "orientation": "auto", 146 "reduceOptions": { 147 "calcs": [ 148 "lastNotNull" 149 ], 150 "fields": "", 151 "values": false 152 }, 153 "showThresholdLabels": false, 154 "showThresholdMarkers": false, 155 "sizing": "auto" 156 }, 157 "pluginVersion": "11.3.1", 158 "targets": [ 159 { 160 "datasource": { 161 "type": "prometheus", 162 "uid": "${datasource}" 163 }, 164 "disableTextWrap": false, 165 "editorMode": "code", 166 "exemplar": false, 167 "expr": "(process_virtual_memory_bytes{app_kubernetes_io_component=\"ratelimit\"})/1000000", 168 "fullMetaSearch": false, 169 "includeNullMetadata": true, 170 "instant": false, 171 "legendFormat": "__auto", 172 "range": true, 173 "refId": "A", 174 "useBackend": false 175 } 176 ], 177 "title": "Virtual Memory", 178 "transparent": true, 179 "type": "gauge" 180 }, 181 { 182 "datasource": { 183 "type": "prometheus", 184 "uid": "${datasource}" 185 }, 186 "description": "Number of ratelimit rule hits in total", 187 "fieldConfig": { 188 "defaults": { 189 "color": { 190 "fixedColor": "light-blue", 191 "mode": "shades" 192 }, 193 "fieldMinMax": false, 194 "mappings": [], 195 "noValue": "0", 196 "thresholds": { 197 "mode": "absolute", 198 "steps": [ 199 { 200 "color": "green", 201 "value": null 202 } 203 ] 204 }, 205 "unit": "none" 206 }, 207 "overrides": [] 208 }, 209 "gridPos": { 210 "h": 7, 211 "w": 6, 212 "x": 0, 213 "y": 8 214 }, 215 "id": 308, 216 "options": { 217 "colorMode": "value", 218 "graphMode": "none", 219 "justifyMode": "center", 220 "orientation": "auto", 221 "percentChangeColorMode": "standard", 222 "reduceOptions": { 223 "calcs": [ 224 "lastNotNull" 225 ], 226 "fields": "", 227 "values": false 228 }, 229 "showPercentChange": false, 230 "textMode": "value", 231 "wideLayout": false 232 }, 233 "pluginVersion": "11.3.1", 234 "targets": [ 235 { 236 "datasource": { 237 "type": "prometheus", 238 "uid": "${datasource}" 239 }, 240 "disableTextWrap": false, 241 "editorMode": "builder", 242 "exemplar": false, 243 "expr": "ratelimit_service_rate_limit_total_hits{domain=\"$DefaultDomain\", key1=\"httproute/default/http-ratelimit/rule/0/match/0/ratelimit_example_httproute/default/http-ratelimit/rule/0/match/0/ratelimit_example\", key2=\"rule-0-match-0_rule-0-match-0\"}", 244 "fullMetaSearch": false, 245 "includeNullMetadata": true, 246 "instant": false, 247 "interval": "", 248 "legendFormat": "__auto", 249 "range": true, 250 "refId": "A", 251 "useBackend": false 252 } 253 ], 254 "title": "Total Hits", 255 "type": "stat" 256 }, 257 { 258 "datasource": { 259 "type": "prometheus", 260 "uid": "${datasource}" 261 }, 262 "description": "Number of rule hits over the NearLimit ratio threshold (currently 80%) but under the threshold rate.", 263 "fieldConfig": { 264 "defaults": { 265 "color": { 266 "fixedColor": "light-blue", 267 "mode": "shades" 268 }, 269 "fieldMinMax": false, 270 "mappings": [], 271 "noValue": "0", 272 "thresholds": { 273 "mode": "absolute", 274 "steps": [ 275 { 276 "color": "green", 277 "value": null 278 } 279 ] 280 }, 281 "unit": "none" 282 }, 283 "overrides": [] 284 }, 285 "gridPos": { 286 "h": 7, 287 "w": 6, 288 "x": 6, 289 "y": 8 290 }, 291 "id": 326, 292 "options": { 293 "colorMode": "value", 294 "graphMode": "none", 295 "justifyMode": "center", 296 "orientation": "auto", 297 "percentChangeColorMode": "standard", 298 "reduceOptions": { 299 "calcs": [ 300 "lastNotNull" 301 ], 302 "fields": "", 303 "values": false 304 }, 305 "showPercentChange": false, 306 "textMode": "value", 307 "wideLayout": false 308 }, 309 "pluginVersion": "11.3.1", 310 "targets": [ 311 { 312 "datasource": { 313 "type": "prometheus", 314 "uid": "${datasource}" 315 }, 316 "disableTextWrap": false, 317 "editorMode": "builder", 318 "exemplar": false, 319 "expr": "ratelimit_service_rate_limit_near_limit{domain=\"$DefaultDomain\", key1=\"httproute/default/http-ratelimit/rule/0/match/0/ratelimit_example_httproute/default/http-ratelimit/rule/0/match/0/ratelimit_example\", key2=\"rule-0-match-0_rule-0-match-0\"}", 320 "fullMetaSearch": false, 321 "includeNullMetadata": true, 322 "instant": false, 323 "interval": "", 324 "legendFormat": "__auto", 325 "range": true, 326 "refId": "A", 327 "useBackend": false 328 } 329 ], 330 "title": "Near Limit", 331 "type": "stat" 332 }, 333 { 334 "datasource": { 335 "type": "prometheus", 336 "uid": "${datasource}" 337 }, 338 "description": "Number of rule hits exceeding the threshold rate", 339 "fieldConfig": { 340 "defaults": { 341 "color": { 342 "fixedColor": "light-blue", 343 "mode": "shades" 344 }, 345 "fieldMinMax": false, 346 "mappings": [], 347 "noValue": "0", 348 "thresholds": { 349 "mode": "absolute", 350 "steps": [ 351 { 352 "color": "green", 353 "value": null 354 } 355 ] 356 }, 357 "unit": "none" 358 }, 359 "overrides": [] 360 }, 361 "gridPos": { 362 "h": 7, 363 "w": 6, 364 "x": 12, 365 "y": 8 366 }, 367 "id": 327, 368 "options": { 369 "colorMode": "value", 370 "graphMode": "none", 371 "justifyMode": "center", 372 "orientation": "auto", 373 "percentChangeColorMode": "standard", 374 "reduceOptions": { 375 "calcs": [ 376 "lastNotNull" 377 ], 378 "fields": "", 379 "values": false 380 }, 381 "showPercentChange": false, 382 "textMode": "value", 383 "wideLayout": false 384 }, 385 "pluginVersion": "11.3.1", 386 "targets": [ 387 { 388 "datasource": { 389 "type": "prometheus", 390 "uid": "${datasource}" 391 }, 392 "disableTextWrap": false, 393 "editorMode": "builder", 394 "exemplar": false, 395 "expr": "ratelimit_service_rate_limit_over_limit{domain=\"$DefaultDomain\", key1=\"httproute/default/http-ratelimit/rule/0/match/0/ratelimit_example_httproute/default/http-ratelimit/rule/0/match/0/ratelimit_example\", key2=\"rule-0-match-0_rule-0-match-0\"}", 396 "fullMetaSearch": false, 397 "includeNullMetadata": true, 398 "instant": false, 399 "interval": "", 400 "legendFormat": "__auto", 401 "range": true, 402 "refId": "A", 403 "useBackend": false 404 } 405 ], 406 "title": "Over Limit", 407 "type": "stat" 408 } 409 ], 410 "preload": false, 411 "refresh": "", 412 "schemaVersion": 40, 413 "tags": [ 414 "Control Plane" 415 ], 416 "templating": { 417 "list": [ 418 { 419 "current": { 420 "text": "Prometheus", 421 "value": "PBFA97CFB590B2093" 422 }, 423 "includeAll": false, 424 "name": "datasource", 425 "options": [], 426 "query": "prometheus", 427 "refresh": 1, 428 "regex": "", 429 "type": "datasource" 430 }, 431 { 432 "allValue": ".*", 433 "current": { 434 "text": "envoy-gateway-system", 435 "value": "envoy-gateway-system" 436 }, 437 "datasource": { 438 "type": "prometheus", 439 "uid": "$datasource" 440 }, 441 "definition": "label_values(watchable_depth,namespace)", 442 "includeAll": false, 443 "name": "Namespace", 444 "options": [], 445 "query": { 446 "qryType": 1, 447 "query": "label_values(watchable_depth,namespace)", 448 "refId": "PrometheusVariableQueryEditor-VariableQuery" 449 }, 450 "refresh": 1, 451 "regex": "", 452 "type": "query" 453 }, 454 { 455 "allValue": ".*", 456 "current": { 457 "text": [ 458 "All" 459 ], 460 "value": [ 461 "$__all" 462 ] 463 }, 464 "datasource": { 465 "type": "prometheus", 466 "uid": "$datasource" 467 }, 468 "definition": "label_values(watchable_depth,runner)", 469 "includeAll": true, 470 "multi": true, 471 "name": "Runner", 472 "options": [], 473 "query": { 474 "qryType": 1, 475 "query": "label_values(watchable_depth,runner)", 476 "refId": "PrometheusVariableQueryEditor-VariableQuery" 477 }, 478 "refresh": 2, 479 "regex": "", 480 "type": "query" 481 }, 482 { 483 "current": { 484 "text": "default/eg/http", 485 "value": "default/eg/http" 486 }, 487 "description": "DefaultDomain is set to default/eg/http", 488 "includeAll": false, 489 "name": "DefaultDomain", 490 "options": [ 491 { 492 "selected": true, 493 "text": "default/eg/http", 494 "value": "default/eg/http" 495 } 496 ], 497 "query": "default/eg/http", 498 "type": "custom" 499 } 500 ] 501 }, 502 "time": { 503 "from": "now-6h", 504 "to": "now" 505 }, 506 "timepicker": {}, 507 "timezone": "browser", 508 "title": "Global Ratelimit", 509 "uid": "R2xvYmFsIFJhdGVsaW1pdAo", 510 "version": 1, 511 "weekStart": "" 512 }