My nix-darwin and NixOS config
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: update dashboard

+1544 -191
+1544 -191
modules/grafana-dashboard.json
··· 1 1 { 2 - "annotations": { "list": [] }, 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 + }, 3 18 "editable": true, 19 + "fiscalYearStartMonth": 0, 4 20 "graphTooltip": 1, 5 - "id": null, 21 + "id": 1, 6 22 "links": [], 7 23 "panels": [ 8 - 9 - { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, 10 - "id": 100, "title": "System", "type": "row" }, 11 - 12 - { "datasource": "Prometheus", 13 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, 14 - "mappings": [], "max": 100, "min": 0, "thresholds": { "mode": "absolute", 15 - "steps": [{"color":"green","value":null},{"color":"yellow","value":70},{"color":"red","value":90}] }, 16 - "unit": "percent" }, "overrides": [] }, 17 - "gridPos": { "h": 6, "w": 4, "x": 0, "y": 1 }, 18 - "id": 1, "options": { "orientation": "auto", "reduceOptions": { "calcs": ["lastNotNull"] }, "showThresholdLabels": false, "showThresholdMarkers": true }, 19 - "title": "CPU Usage", "type": "gauge", 20 - "targets": [{ "datasource": "Prometheus", "expr": "100 - (avg by(instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)", "legendFormat": "CPU %", "refId": "A" }] }, 21 - 22 - { "datasource": "Prometheus", 23 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, 24 - "mappings": [], "max": 100, "min": 0, "thresholds": { "mode": "absolute", 25 - "steps": [{"color":"green","value":null},{"color":"yellow","value":75},{"color":"red","value":90}] }, 26 - "unit": "percent" }, "overrides": [] }, 27 - "gridPos": { "h": 6, "w": 4, "x": 4, "y": 1 }, 28 - "id": 2, "options": { "orientation": "auto", "reduceOptions": { "calcs": ["lastNotNull"] }, "showThresholdLabels": false, "showThresholdMarkers": true }, 29 - "title": "Memory Usage", "type": "gauge", 30 - "targets": [{ "datasource": "Prometheus", "expr": "100 * (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes))", "legendFormat": "Memory %", "refId": "A" }] }, 31 - 32 - { "datasource": "Prometheus", 33 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, 34 - "mappings": [], "max": 100, "min": 0, "thresholds": { "mode": "absolute", 35 - "steps": [{"color":"green","value":null},{"color":"yellow","value":75},{"color":"red","value":90}] }, 36 - "unit": "percent" }, "overrides": [] }, 37 - "gridPos": { "h": 6, "w": 4, "x": 8, "y": 1 }, 38 - "id": 3, "options": { "orientation": "auto", "reduceOptions": { "calcs": ["lastNotNull"] }, "showThresholdLabels": false, "showThresholdMarkers": true }, 39 - "title": "Root Disk Usage", "type": "gauge", 40 - "targets": [{ "datasource": "Prometheus", "expr": "100 - (node_filesystem_avail_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} * 100)", "legendFormat": "/ disk %", "refId": "A" }] }, 41 - 42 - { "datasource": "Prometheus", 43 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, 44 - "mappings": [], "max": 100, "min": 0, "thresholds": { "mode": "absolute", 45 - "steps": [{"color":"green","value":null},{"color":"yellow","value":75},{"color":"red","value":90}] }, 46 - "unit": "percent" }, "overrides": [] }, 47 - "gridPos": { "h": 6, "w": 4, "x": 12, "y": 1 }, 48 - "id": 4, "options": { "orientation": "auto", "reduceOptions": { "calcs": ["lastNotNull"] }, "showThresholdLabels": false, "showThresholdMarkers": true }, 49 - "title": "/srv Disk Usage", "type": "gauge", 50 - "targets": [{ "datasource": "Prometheus", "expr": "100 - (node_filesystem_avail_bytes{mountpoint=\"/srv\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/srv\",fstype!~\"tmpfs|overlay\"} * 100)", "legendFormat": "/srv disk %", "refId": "A" }] }, 51 - 52 - { "datasource": "Prometheus", 53 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], 54 - "thresholds": { "mode": "absolute", "steps": [{"color":"green","value":null}] }, "unit": "s" }, "overrides": [] }, 55 - "gridPos": { "h": 3, "w": 4, "x": 16, "y": 1 }, 56 - "id": 5, "options": { "colorMode": "value", "graphMode": "none", "reduceOptions": { "calcs": ["lastNotNull"] } }, 57 - "title": "Uptime", "type": "stat", 58 - "targets": [{ "datasource": "Prometheus", "expr": "time() - node_boot_time_seconds", "legendFormat": "Uptime", "refId": "A" }] }, 59 - 60 - { "datasource": "Prometheus", 61 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], 62 - "thresholds": { "mode": "absolute", "steps": [{"color":"green","value":null},{"color":"yellow","value":4},{"color":"red","value":8}] }, 63 - "unit": "short", "decimals": 2 }, "overrides": [] }, 64 - "gridPos": { "h": 3, "w": 4, "x": 16, "y": 4 }, 65 - "id": 6, "options": { "colorMode": "background", "graphMode": "area", "reduceOptions": { "calcs": ["lastNotNull"] } }, 66 - "title": "Load Average (15m)", "type": "stat", 67 - "targets": [{ "datasource": "Prometheus", "expr": "node_load15", "legendFormat": "Load 15m", "refId": "A" }] }, 68 - 69 - { "datasource": "Prometheus", 70 - "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], 71 - "thresholds": { "mode": "absolute", "steps": [{"color":"green","value":null}] }, "unit": "bytes" }, "overrides": [] }, 72 - "gridPos": { "h": 6, "w": 4, "x": 20, "y": 1 }, 73 - "id": 7, "options": { "colorMode": "value", "graphMode": "none", "reduceOptions": { "calcs": ["lastNotNull"] }, "orientation": "vertical" }, 74 - "title": "Memory", "type": "stat", 24 + { 25 + "collapsed": false, 26 + "gridPos": { 27 + "h": 1, 28 + "w": 24, 29 + "x": 0, 30 + "y": 0 31 + }, 32 + "id": 100, 33 + "panels": [], 34 + "title": "System", 35 + "type": "row" 36 + }, 37 + { 38 + "datasource": "Prometheus", 39 + "fieldConfig": { 40 + "defaults": { 41 + "color": { 42 + "mode": "thresholds" 43 + }, 44 + "mappings": [], 45 + "max": 100, 46 + "min": 0, 47 + "thresholds": { 48 + "mode": "absolute", 49 + "steps": [ 50 + { 51 + "color": "green", 52 + "value": 0 53 + }, 54 + { 55 + "color": "yellow", 56 + "value": 70 57 + }, 58 + { 59 + "color": "red", 60 + "value": 90 61 + } 62 + ] 63 + }, 64 + "unit": "percent" 65 + }, 66 + "overrides": [] 67 + }, 68 + "gridPos": { 69 + "h": 6, 70 + "w": 4, 71 + "x": 0, 72 + "y": 1 73 + }, 74 + "id": 1, 75 + "options": { 76 + "minVizHeight": 75, 77 + "minVizWidth": 75, 78 + "orientation": "auto", 79 + "reduceOptions": { 80 + "calcs": [ 81 + "lastNotNull" 82 + ], 83 + "fields": "", 84 + "values": false 85 + }, 86 + "showThresholdLabels": false, 87 + "showThresholdMarkers": true, 88 + "sizing": "auto" 89 + }, 90 + "pluginVersion": "12.3.3", 75 91 "targets": [ 76 - { "datasource": "Prometheus", "expr": "node_memory_MemTotal_bytes", "legendFormat": "Total", "refId": "A" }, 77 - { "datasource": "Prometheus", "expr": "node_memory_MemAvailable_bytes", "legendFormat": "Available", "refId": "B" } 78 - ] }, 79 - 80 - { "datasource": "Prometheus", 81 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 82 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "percent", "min": 0, "max": 100 }, "overrides": [] }, 83 - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 7 }, 84 - "id": 10, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 85 - "title": "CPU Usage Over Time", "type": "timeseries", 86 - "targets": [{ "datasource": "Prometheus", "expr": "100 - (avg by(cpu) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)", "legendFormat": "CPU {{cpu}}", "refId": "A" }] }, 87 - 88 - { "datasource": "Prometheus", 89 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 90 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "bytes", "min": 0 }, "overrides": [] }, 91 - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 7 }, 92 - "id": 11, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 93 - "title": "Memory Over Time", "type": "timeseries", 92 + { 93 + "datasource": "Prometheus", 94 + "expr": "100 - (avg by(instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)", 95 + "legendFormat": "CPU %", 96 + "refId": "A" 97 + } 98 + ], 99 + "title": "CPU Usage", 100 + "type": "gauge" 101 + }, 102 + { 103 + "datasource": "Prometheus", 104 + "fieldConfig": { 105 + "defaults": { 106 + "color": { 107 + "mode": "thresholds" 108 + }, 109 + "mappings": [], 110 + "max": 100, 111 + "min": 0, 112 + "thresholds": { 113 + "mode": "absolute", 114 + "steps": [ 115 + { 116 + "color": "green", 117 + "value": 0 118 + }, 119 + { 120 + "color": "yellow", 121 + "value": 75 122 + }, 123 + { 124 + "color": "red", 125 + "value": 90 126 + } 127 + ] 128 + }, 129 + "unit": "percent" 130 + }, 131 + "overrides": [] 132 + }, 133 + "gridPos": { 134 + "h": 6, 135 + "w": 4, 136 + "x": 4, 137 + "y": 1 138 + }, 139 + "id": 2, 140 + "options": { 141 + "minVizHeight": 75, 142 + "minVizWidth": 75, 143 + "orientation": "auto", 144 + "reduceOptions": { 145 + "calcs": [ 146 + "lastNotNull" 147 + ], 148 + "fields": "", 149 + "values": false 150 + }, 151 + "showThresholdLabels": false, 152 + "showThresholdMarkers": true, 153 + "sizing": "auto" 154 + }, 155 + "pluginVersion": "12.3.3", 156 + "targets": [ 157 + { 158 + "datasource": "Prometheus", 159 + "expr": "100 * (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes))", 160 + "legendFormat": "Memory %", 161 + "refId": "A" 162 + } 163 + ], 164 + "title": "Memory Usage", 165 + "type": "gauge" 166 + }, 167 + { 168 + "datasource": "Prometheus", 169 + "fieldConfig": { 170 + "defaults": { 171 + "color": { 172 + "mode": "thresholds" 173 + }, 174 + "mappings": [], 175 + "max": 100, 176 + "min": 0, 177 + "thresholds": { 178 + "mode": "absolute", 179 + "steps": [ 180 + { 181 + "color": "green", 182 + "value": 0 183 + }, 184 + { 185 + "color": "yellow", 186 + "value": 75 187 + }, 188 + { 189 + "color": "red", 190 + "value": 90 191 + } 192 + ] 193 + }, 194 + "unit": "percent" 195 + }, 196 + "overrides": [] 197 + }, 198 + "gridPos": { 199 + "h": 6, 200 + "w": 4, 201 + "x": 8, 202 + "y": 1 203 + }, 204 + "id": 3, 205 + "options": { 206 + "minVizHeight": 75, 207 + "minVizWidth": 75, 208 + "orientation": "auto", 209 + "reduceOptions": { 210 + "calcs": [ 211 + "lastNotNull" 212 + ], 213 + "fields": "", 214 + "values": false 215 + }, 216 + "showThresholdLabels": false, 217 + "showThresholdMarkers": true, 218 + "sizing": "auto" 219 + }, 220 + "pluginVersion": "12.3.3", 221 + "targets": [ 222 + { 223 + "datasource": "Prometheus", 224 + "expr": "100 - (node_filesystem_avail_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} * 100)", 225 + "legendFormat": "/ disk %", 226 + "refId": "A" 227 + } 228 + ], 229 + "title": "Root Disk Usage", 230 + "type": "gauge" 231 + }, 232 + { 233 + "datasource": "Prometheus", 234 + "fieldConfig": { 235 + "defaults": { 236 + "color": { 237 + "mode": "thresholds" 238 + }, 239 + "mappings": [], 240 + "max": 100, 241 + "min": 0, 242 + "thresholds": { 243 + "mode": "absolute", 244 + "steps": [ 245 + { 246 + "color": "green", 247 + "value": 0 248 + }, 249 + { 250 + "color": "yellow", 251 + "value": 75 252 + }, 253 + { 254 + "color": "red", 255 + "value": 90 256 + } 257 + ] 258 + }, 259 + "unit": "percent" 260 + }, 261 + "overrides": [] 262 + }, 263 + "gridPos": { 264 + "h": 6, 265 + "w": 4, 266 + "x": 12, 267 + "y": 1 268 + }, 269 + "id": 4, 270 + "options": { 271 + "minVizHeight": 75, 272 + "minVizWidth": 75, 273 + "orientation": "auto", 274 + "reduceOptions": { 275 + "calcs": [ 276 + "lastNotNull" 277 + ], 278 + "fields": "", 279 + "values": false 280 + }, 281 + "showThresholdLabels": false, 282 + "showThresholdMarkers": true, 283 + "sizing": "auto" 284 + }, 285 + "pluginVersion": "12.3.3", 286 + "targets": [ 287 + { 288 + "datasource": "Prometheus", 289 + "expr": "100 - (node_filesystem_avail_bytes{mountpoint=\"/srv\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/srv\",fstype!~\"tmpfs|overlay\"} * 100)", 290 + "legendFormat": "/srv disk %", 291 + "refId": "A" 292 + } 293 + ], 294 + "title": "/srv Disk Usage", 295 + "type": "gauge" 296 + }, 297 + { 298 + "datasource": "Prometheus", 299 + "fieldConfig": { 300 + "defaults": { 301 + "color": { 302 + "mode": "thresholds" 303 + }, 304 + "mappings": [], 305 + "thresholds": { 306 + "mode": "absolute", 307 + "steps": [ 308 + { 309 + "color": "green", 310 + "value": 0 311 + } 312 + ] 313 + }, 314 + "unit": "s" 315 + }, 316 + "overrides": [] 317 + }, 318 + "gridPos": { 319 + "h": 3, 320 + "w": 4, 321 + "x": 16, 322 + "y": 1 323 + }, 324 + "id": 5, 325 + "options": { 326 + "colorMode": "value", 327 + "graphMode": "none", 328 + "justifyMode": "auto", 329 + "orientation": "auto", 330 + "percentChangeColorMode": "standard", 331 + "reduceOptions": { 332 + "calcs": [ 333 + "lastNotNull" 334 + ], 335 + "fields": "", 336 + "values": false 337 + }, 338 + "showPercentChange": false, 339 + "textMode": "auto", 340 + "wideLayout": true 341 + }, 342 + "pluginVersion": "12.3.3", 343 + "targets": [ 344 + { 345 + "datasource": "Prometheus", 346 + "expr": "time() - node_boot_time_seconds", 347 + "legendFormat": "Uptime", 348 + "refId": "A" 349 + } 350 + ], 351 + "title": "Uptime", 352 + "type": "stat" 353 + }, 354 + { 355 + "datasource": "Prometheus", 356 + "fieldConfig": { 357 + "defaults": { 358 + "color": { 359 + "mode": "thresholds" 360 + }, 361 + "mappings": [], 362 + "thresholds": { 363 + "mode": "absolute", 364 + "steps": [ 365 + { 366 + "color": "green", 367 + "value": 0 368 + } 369 + ] 370 + }, 371 + "unit": "bytes" 372 + }, 373 + "overrides": [] 374 + }, 375 + "gridPos": { 376 + "h": 6, 377 + "w": 4, 378 + "x": 20, 379 + "y": 1 380 + }, 381 + "id": 7, 382 + "options": { 383 + "colorMode": "value", 384 + "graphMode": "none", 385 + "justifyMode": "auto", 386 + "orientation": "vertical", 387 + "percentChangeColorMode": "standard", 388 + "reduceOptions": { 389 + "calcs": [ 390 + "lastNotNull" 391 + ], 392 + "fields": "", 393 + "values": false 394 + }, 395 + "showPercentChange": false, 396 + "textMode": "auto", 397 + "wideLayout": true 398 + }, 399 + "pluginVersion": "12.3.3", 400 + "targets": [ 401 + { 402 + "datasource": "Prometheus", 403 + "expr": "node_memory_MemTotal_bytes", 404 + "legendFormat": "Total", 405 + "refId": "A" 406 + }, 407 + { 408 + "datasource": "Prometheus", 409 + "expr": "node_memory_MemAvailable_bytes", 410 + "legendFormat": "Available", 411 + "refId": "B" 412 + } 413 + ], 414 + "title": "Memory", 415 + "type": "stat" 416 + }, 417 + { 418 + "datasource": "Prometheus", 419 + "fieldConfig": { 420 + "defaults": { 421 + "color": { 422 + "mode": "thresholds" 423 + }, 424 + "decimals": 2, 425 + "mappings": [], 426 + "thresholds": { 427 + "mode": "absolute", 428 + "steps": [ 429 + { 430 + "color": "green", 431 + "value": 0 432 + }, 433 + { 434 + "color": "yellow", 435 + "value": 4 436 + }, 437 + { 438 + "color": "red", 439 + "value": 8 440 + } 441 + ] 442 + }, 443 + "unit": "short" 444 + }, 445 + "overrides": [] 446 + }, 447 + "gridPos": { 448 + "h": 3, 449 + "w": 4, 450 + "x": 16, 451 + "y": 4 452 + }, 453 + "id": 6, 454 + "options": { 455 + "colorMode": "background", 456 + "graphMode": "area", 457 + "justifyMode": "auto", 458 + "orientation": "auto", 459 + "percentChangeColorMode": "standard", 460 + "reduceOptions": { 461 + "calcs": [ 462 + "lastNotNull" 463 + ], 464 + "fields": "", 465 + "values": false 466 + }, 467 + "showPercentChange": false, 468 + "textMode": "auto", 469 + "wideLayout": true 470 + }, 471 + "pluginVersion": "12.3.3", 472 + "targets": [ 473 + { 474 + "datasource": "Prometheus", 475 + "expr": "node_load15", 476 + "legendFormat": "Load 15m", 477 + "refId": "A" 478 + } 479 + ], 480 + "title": "Load Average (15m)", 481 + "type": "stat" 482 + }, 483 + { 484 + "datasource": "Prometheus", 485 + "fieldConfig": { 486 + "defaults": { 487 + "color": { 488 + "mode": "palette-classic" 489 + }, 490 + "custom": { 491 + "axisBorderShow": false, 492 + "axisCenteredZero": false, 493 + "axisColorMode": "text", 494 + "axisLabel": "", 495 + "axisPlacement": "auto", 496 + "barAlignment": 0, 497 + "barWidthFactor": 0.6, 498 + "drawStyle": "line", 499 + "fillOpacity": 10, 500 + "gradientMode": "none", 501 + "hideFrom": { 502 + "legend": false, 503 + "tooltip": false, 504 + "viz": false 505 + }, 506 + "insertNulls": false, 507 + "lineInterpolation": "linear", 508 + "lineWidth": 2, 509 + "pointSize": 5, 510 + "scaleDistribution": { 511 + "type": "linear" 512 + }, 513 + "showPoints": "auto", 514 + "showValues": false, 515 + "spanNulls": false, 516 + "stacking": { 517 + "group": "A", 518 + "mode": "none" 519 + }, 520 + "thresholdsStyle": { 521 + "mode": "off" 522 + } 523 + }, 524 + "mappings": [], 525 + "max": 100, 526 + "min": 0, 527 + "thresholds": { 528 + "mode": "absolute", 529 + "steps": [ 530 + { 531 + "color": "green", 532 + "value": 0 533 + }, 534 + { 535 + "color": "red", 536 + "value": 80 537 + } 538 + ] 539 + }, 540 + "unit": "percent" 541 + }, 542 + "overrides": [] 543 + }, 544 + "gridPos": { 545 + "h": 8, 546 + "w": 12, 547 + "x": 0, 548 + "y": 7 549 + }, 550 + "id": 10, 551 + "options": { 552 + "legend": { 553 + "calcs": [], 554 + "displayMode": "list", 555 + "placement": "bottom", 556 + "showLegend": true 557 + }, 558 + "tooltip": { 559 + "hideZeros": false, 560 + "mode": "multi", 561 + "sort": "none" 562 + } 563 + }, 564 + "pluginVersion": "12.3.3", 565 + "targets": [ 566 + { 567 + "datasource": "Prometheus", 568 + "expr": "100 - (avg by(cpu) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)", 569 + "legendFormat": "CPU {{cpu}}", 570 + "refId": "A" 571 + } 572 + ], 573 + "title": "CPU Usage Over Time", 574 + "type": "timeseries" 575 + }, 576 + { 577 + "datasource": "Prometheus", 578 + "fieldConfig": { 579 + "defaults": { 580 + "color": { 581 + "mode": "palette-classic" 582 + }, 583 + "custom": { 584 + "axisBorderShow": false, 585 + "axisCenteredZero": false, 586 + "axisColorMode": "text", 587 + "axisLabel": "", 588 + "axisPlacement": "auto", 589 + "barAlignment": 0, 590 + "barWidthFactor": 0.6, 591 + "drawStyle": "line", 592 + "fillOpacity": 10, 593 + "gradientMode": "none", 594 + "hideFrom": { 595 + "legend": false, 596 + "tooltip": false, 597 + "viz": false 598 + }, 599 + "insertNulls": false, 600 + "lineInterpolation": "linear", 601 + "lineWidth": 2, 602 + "pointSize": 5, 603 + "scaleDistribution": { 604 + "type": "linear" 605 + }, 606 + "showPoints": "auto", 607 + "showValues": false, 608 + "spanNulls": false, 609 + "stacking": { 610 + "group": "A", 611 + "mode": "none" 612 + }, 613 + "thresholdsStyle": { 614 + "mode": "off" 615 + } 616 + }, 617 + "mappings": [], 618 + "min": 0, 619 + "thresholds": { 620 + "mode": "absolute", 621 + "steps": [ 622 + { 623 + "color": "green", 624 + "value": 0 625 + }, 626 + { 627 + "color": "red", 628 + "value": 80 629 + } 630 + ] 631 + }, 632 + "unit": "bytes" 633 + }, 634 + "overrides": [] 635 + }, 636 + "gridPos": { 637 + "h": 8, 638 + "w": 12, 639 + "x": 12, 640 + "y": 7 641 + }, 642 + "id": 11, 643 + "options": { 644 + "legend": { 645 + "calcs": [], 646 + "displayMode": "list", 647 + "placement": "bottom", 648 + "showLegend": true 649 + }, 650 + "tooltip": { 651 + "hideZeros": false, 652 + "mode": "multi", 653 + "sort": "none" 654 + } 655 + }, 656 + "pluginVersion": "12.3.3", 657 + "targets": [ 658 + { 659 + "datasource": "Prometheus", 660 + "expr": "node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes", 661 + "legendFormat": "Used", 662 + "refId": "A" 663 + }, 664 + { 665 + "datasource": "Prometheus", 666 + "expr": "node_memory_MemAvailable_bytes", 667 + "legendFormat": "Available", 668 + "refId": "B" 669 + }, 670 + { 671 + "datasource": "Prometheus", 672 + "expr": "node_memory_Cached_bytes", 673 + "legendFormat": "Cached", 674 + "refId": "C" 675 + } 676 + ], 677 + "title": "Memory Over Time", 678 + "type": "timeseries" 679 + }, 680 + { 681 + "collapsed": false, 682 + "gridPos": { 683 + "h": 1, 684 + "w": 24, 685 + "x": 0, 686 + "y": 15 687 + }, 688 + "id": 101, 689 + "panels": [], 690 + "title": "Network", 691 + "type": "row" 692 + }, 693 + { 694 + "datasource": "Prometheus", 695 + "fieldConfig": { 696 + "defaults": { 697 + "color": { 698 + "mode": "palette-classic" 699 + }, 700 + "custom": { 701 + "axisBorderShow": false, 702 + "axisCenteredZero": false, 703 + "axisColorMode": "text", 704 + "axisLabel": "", 705 + "axisPlacement": "auto", 706 + "barAlignment": 0, 707 + "barWidthFactor": 0.6, 708 + "drawStyle": "line", 709 + "fillOpacity": 10, 710 + "gradientMode": "none", 711 + "hideFrom": { 712 + "legend": false, 713 + "tooltip": false, 714 + "viz": false 715 + }, 716 + "insertNulls": false, 717 + "lineInterpolation": "linear", 718 + "lineWidth": 2, 719 + "pointSize": 5, 720 + "scaleDistribution": { 721 + "type": "linear" 722 + }, 723 + "showPoints": "auto", 724 + "showValues": false, 725 + "spanNulls": false, 726 + "stacking": { 727 + "group": "A", 728 + "mode": "none" 729 + }, 730 + "thresholdsStyle": { 731 + "mode": "off" 732 + } 733 + }, 734 + "mappings": [], 735 + "thresholds": { 736 + "mode": "absolute", 737 + "steps": [ 738 + { 739 + "color": "green", 740 + "value": 0 741 + }, 742 + { 743 + "color": "red", 744 + "value": 80 745 + } 746 + ] 747 + }, 748 + "unit": "Bps" 749 + }, 750 + "overrides": [ 751 + { 752 + "matcher": { 753 + "id": "byName", 754 + "options": "Transmit" 755 + }, 756 + "properties": [ 757 + { 758 + "id": "custom.transform", 759 + "value": "negative-Y" 760 + } 761 + ] 762 + } 763 + ] 764 + }, 765 + "gridPos": { 766 + "h": 8, 767 + "w": 12, 768 + "x": 0, 769 + "y": 16 770 + }, 771 + "id": 20, 772 + "options": { 773 + "legend": { 774 + "calcs": [], 775 + "displayMode": "list", 776 + "placement": "bottom", 777 + "showLegend": true 778 + }, 779 + "tooltip": { 780 + "hideZeros": false, 781 + "mode": "multi", 782 + "sort": "none" 783 + } 784 + }, 785 + "pluginVersion": "12.3.3", 786 + "targets": [ 787 + { 788 + "datasource": "Prometheus", 789 + "editorMode": "builder", 790 + "expr": "rate(node_network_receive_bytes_total{device=\"wlp0s20f3\"}[5m])", 791 + "legendFormat": "Receive", 792 + "range": true, 793 + "refId": "A" 794 + }, 795 + { 796 + "datasource": "Prometheus", 797 + "editorMode": "builder", 798 + "expr": "rate(node_network_transmit_bytes_total{device=\"eth0\"}[5m])", 799 + "legendFormat": "Transmit", 800 + "range": true, 801 + "refId": "B" 802 + } 803 + ], 804 + "title": "Network Traffic (eth0)", 805 + "type": "timeseries" 806 + }, 807 + { 808 + "datasource": "Prometheus", 809 + "fieldConfig": { 810 + "defaults": { 811 + "color": { 812 + "mode": "palette-classic" 813 + }, 814 + "custom": { 815 + "axisBorderShow": false, 816 + "axisCenteredZero": false, 817 + "axisColorMode": "text", 818 + "axisLabel": "", 819 + "axisPlacement": "auto", 820 + "barAlignment": 0, 821 + "barWidthFactor": 0.6, 822 + "drawStyle": "line", 823 + "fillOpacity": 10, 824 + "gradientMode": "none", 825 + "hideFrom": { 826 + "legend": false, 827 + "tooltip": false, 828 + "viz": false 829 + }, 830 + "insertNulls": false, 831 + "lineInterpolation": "linear", 832 + "lineWidth": 2, 833 + "pointSize": 5, 834 + "scaleDistribution": { 835 + "type": "linear" 836 + }, 837 + "showPoints": "auto", 838 + "showValues": false, 839 + "spanNulls": false, 840 + "stacking": { 841 + "group": "A", 842 + "mode": "none" 843 + }, 844 + "thresholdsStyle": { 845 + "mode": "off" 846 + } 847 + }, 848 + "mappings": [], 849 + "thresholds": { 850 + "mode": "absolute", 851 + "steps": [ 852 + { 853 + "color": "green", 854 + "value": 0 855 + }, 856 + { 857 + "color": "red", 858 + "value": 80 859 + } 860 + ] 861 + }, 862 + "unit": "Bps" 863 + }, 864 + "overrides": [ 865 + { 866 + "matcher": { 867 + "id": "byName", 868 + "options": "Transmit" 869 + }, 870 + "properties": [ 871 + { 872 + "id": "custom.transform", 873 + "value": "negative-Y" 874 + } 875 + ] 876 + } 877 + ] 878 + }, 879 + "gridPos": { 880 + "h": 8, 881 + "w": 12, 882 + "x": 12, 883 + "y": 16 884 + }, 885 + "id": 21, 886 + "options": { 887 + "legend": { 888 + "calcs": [], 889 + "displayMode": "list", 890 + "placement": "bottom", 891 + "showLegend": true 892 + }, 893 + "tooltip": { 894 + "hideZeros": false, 895 + "mode": "multi", 896 + "sort": "none" 897 + } 898 + }, 899 + "pluginVersion": "12.3.3", 94 900 "targets": [ 95 - { "datasource": "Prometheus", "expr": "node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes", "legendFormat": "Used", "refId": "A" }, 96 - { "datasource": "Prometheus", "expr": "node_memory_MemAvailable_bytes", "legendFormat": "Available", "refId": "B" }, 97 - { "datasource": "Prometheus", "expr": "node_memory_Cached_bytes", "legendFormat": "Cached", "refId": "C" } 98 - ] }, 99 - 100 - { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 15 }, 101 - "id": 101, "title": "Network", "type": "row" }, 102 - 103 - { "datasource": "Prometheus", 104 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 105 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "Bps" }, 106 - "overrides": [{ "matcher": { "id": "byName", "options": "Transmit" }, 107 - "properties": [{ "id": "custom.transform", "value": "negative-Y" }] }] }, 108 - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 }, 109 - "id": 20, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 110 - "title": "Network Traffic (eth0)", "type": "timeseries", 901 + { 902 + "datasource": "Prometheus", 903 + "expr": "rate(node_network_receive_bytes_total{device=\"tailscale0\"}[5m])", 904 + "legendFormat": "Receive", 905 + "refId": "A" 906 + }, 907 + { 908 + "datasource": "Prometheus", 909 + "expr": "rate(node_network_transmit_bytes_total{device=\"tailscale0\"}[5m])", 910 + "legendFormat": "Transmit", 911 + "refId": "B" 912 + } 913 + ], 914 + "title": "Network Traffic (tailscale0)", 915 + "type": "timeseries" 916 + }, 917 + { 918 + "collapsed": false, 919 + "gridPos": { 920 + "h": 1, 921 + "w": 24, 922 + "x": 0, 923 + "y": 24 924 + }, 925 + "id": 102, 926 + "panels": [], 927 + "title": "Disk I/O", 928 + "type": "row" 929 + }, 930 + { 931 + "datasource": "Prometheus", 932 + "fieldConfig": { 933 + "defaults": { 934 + "color": { 935 + "mode": "palette-classic" 936 + }, 937 + "custom": { 938 + "axisBorderShow": false, 939 + "axisCenteredZero": false, 940 + "axisColorMode": "text", 941 + "axisLabel": "", 942 + "axisPlacement": "auto", 943 + "barAlignment": 0, 944 + "barWidthFactor": 0.6, 945 + "drawStyle": "line", 946 + "fillOpacity": 10, 947 + "gradientMode": "none", 948 + "hideFrom": { 949 + "legend": false, 950 + "tooltip": false, 951 + "viz": false 952 + }, 953 + "insertNulls": false, 954 + "lineInterpolation": "linear", 955 + "lineWidth": 2, 956 + "pointSize": 5, 957 + "scaleDistribution": { 958 + "type": "linear" 959 + }, 960 + "showPoints": "auto", 961 + "showValues": false, 962 + "spanNulls": false, 963 + "stacking": { 964 + "group": "A", 965 + "mode": "none" 966 + }, 967 + "thresholdsStyle": { 968 + "mode": "off" 969 + } 970 + }, 971 + "mappings": [], 972 + "thresholds": { 973 + "mode": "absolute", 974 + "steps": [ 975 + { 976 + "color": "green", 977 + "value": 0 978 + }, 979 + { 980 + "color": "red", 981 + "value": 80 982 + } 983 + ] 984 + }, 985 + "unit": "Bps" 986 + }, 987 + "overrides": [ 988 + { 989 + "matcher": { 990 + "id": "byName", 991 + "options": "Write" 992 + }, 993 + "properties": [ 994 + { 995 + "id": "custom.transform", 996 + "value": "negative-Y" 997 + } 998 + ] 999 + } 1000 + ] 1001 + }, 1002 + "gridPos": { 1003 + "h": 8, 1004 + "w": 12, 1005 + "x": 0, 1006 + "y": 25 1007 + }, 1008 + "id": 30, 1009 + "options": { 1010 + "legend": { 1011 + "calcs": [], 1012 + "displayMode": "list", 1013 + "placement": "bottom", 1014 + "showLegend": true 1015 + }, 1016 + "tooltip": { 1017 + "hideZeros": false, 1018 + "mode": "multi", 1019 + "sort": "none" 1020 + } 1021 + }, 1022 + "pluginVersion": "12.3.3", 111 1023 "targets": [ 112 - { "datasource": "Prometheus", "expr": "rate(node_network_receive_bytes_total{device=\"eth0\"}[5m])", "legendFormat": "Receive", "refId": "A" }, 113 - { "datasource": "Prometheus", "expr": "rate(node_network_transmit_bytes_total{device=\"eth0\"}[5m])", "legendFormat": "Transmit", "refId": "B" } 114 - ] }, 115 - 116 - { "datasource": "Prometheus", 117 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 118 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "Bps" }, 119 - "overrides": [{ "matcher": { "id": "byName", "options": "Transmit" }, 120 - "properties": [{ "id": "custom.transform", "value": "negative-Y" }] }] }, 121 - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 }, 122 - "id": 21, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 123 - "title": "Network Traffic (tailscale0)", "type": "timeseries", 1024 + { 1025 + "datasource": "Prometheus", 1026 + "expr": "rate(node_disk_read_bytes_total[5m])", 1027 + "legendFormat": "Read {{device}}", 1028 + "refId": "A" 1029 + }, 1030 + { 1031 + "datasource": "Prometheus", 1032 + "expr": "rate(node_disk_written_bytes_total[5m])", 1033 + "legendFormat": "Write {{device}}", 1034 + "refId": "B" 1035 + } 1036 + ], 1037 + "title": "Disk I/O Throughput", 1038 + "type": "timeseries" 1039 + }, 1040 + { 1041 + "datasource": "Prometheus", 1042 + "fieldConfig": { 1043 + "defaults": { 1044 + "color": { 1045 + "mode": "palette-classic" 1046 + }, 1047 + "custom": { 1048 + "axisBorderShow": false, 1049 + "axisCenteredZero": false, 1050 + "axisColorMode": "text", 1051 + "axisLabel": "", 1052 + "axisPlacement": "auto", 1053 + "barAlignment": 0, 1054 + "barWidthFactor": 0.6, 1055 + "drawStyle": "line", 1056 + "fillOpacity": 10, 1057 + "gradientMode": "none", 1058 + "hideFrom": { 1059 + "legend": false, 1060 + "tooltip": false, 1061 + "viz": false 1062 + }, 1063 + "insertNulls": false, 1064 + "lineInterpolation": "linear", 1065 + "lineWidth": 2, 1066 + "pointSize": 5, 1067 + "scaleDistribution": { 1068 + "type": "linear" 1069 + }, 1070 + "showPoints": "auto", 1071 + "showValues": false, 1072 + "spanNulls": false, 1073 + "stacking": { 1074 + "group": "A", 1075 + "mode": "none" 1076 + }, 1077 + "thresholdsStyle": { 1078 + "mode": "off" 1079 + } 1080 + }, 1081 + "mappings": [], 1082 + "thresholds": { 1083 + "mode": "absolute", 1084 + "steps": [ 1085 + { 1086 + "color": "green", 1087 + "value": 0 1088 + }, 1089 + { 1090 + "color": "red", 1091 + "value": 80 1092 + } 1093 + ] 1094 + }, 1095 + "unit": "ms" 1096 + }, 1097 + "overrides": [] 1098 + }, 1099 + "gridPos": { 1100 + "h": 8, 1101 + "w": 12, 1102 + "x": 12, 1103 + "y": 25 1104 + }, 1105 + "id": 31, 1106 + "options": { 1107 + "legend": { 1108 + "calcs": [], 1109 + "displayMode": "list", 1110 + "placement": "bottom", 1111 + "showLegend": true 1112 + }, 1113 + "tooltip": { 1114 + "hideZeros": false, 1115 + "mode": "multi", 1116 + "sort": "none" 1117 + } 1118 + }, 1119 + "pluginVersion": "12.3.3", 124 1120 "targets": [ 125 - { "datasource": "Prometheus", "expr": "rate(node_network_receive_bytes_total{device=\"tailscale0\"}[5m])", "legendFormat": "Receive", "refId": "A" }, 126 - { "datasource": "Prometheus", "expr": "rate(node_network_transmit_bytes_total{device=\"tailscale0\"}[5m])", "legendFormat": "Transmit", "refId": "B" } 127 - ] }, 128 - 129 - { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 24 }, 130 - "id": 102, "title": "Disk I/O", "type": "row" }, 131 - 132 - { "datasource": "Prometheus", 133 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 134 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "Bps" }, 135 - "overrides": [{ "matcher": { "id": "byName", "options": "Write" }, 136 - "properties": [{ "id": "custom.transform", "value": "negative-Y" }] }] }, 137 - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 25 }, 138 - "id": 30, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 139 - "title": "Disk I/O Throughput", "type": "timeseries", 1121 + { 1122 + "datasource": "Prometheus", 1123 + "expr": "rate(node_disk_read_time_seconds_total[5m]) / rate(node_disk_reads_completed_total[5m]) * 1000", 1124 + "legendFormat": "Read {{device}}", 1125 + "refId": "A" 1126 + }, 1127 + { 1128 + "datasource": "Prometheus", 1129 + "expr": "rate(node_disk_write_time_seconds_total[5m]) / rate(node_disk_writes_completed_total[5m]) * 1000", 1130 + "legendFormat": "Write {{device}}", 1131 + "refId": "B" 1132 + } 1133 + ], 1134 + "title": "Disk I/O Latency", 1135 + "type": "timeseries" 1136 + }, 1137 + { 1138 + "collapsed": false, 1139 + "gridPos": { 1140 + "h": 1, 1141 + "w": 24, 1142 + "x": 0, 1143 + "y": 33 1144 + }, 1145 + "id": 103, 1146 + "panels": [], 1147 + "title": "Caddy", 1148 + "type": "row" 1149 + }, 1150 + { 1151 + "datasource": "Prometheus", 1152 + "fieldConfig": { 1153 + "defaults": { 1154 + "color": { 1155 + "mode": "palette-classic" 1156 + }, 1157 + "custom": { 1158 + "axisBorderShow": false, 1159 + "axisCenteredZero": false, 1160 + "axisColorMode": "text", 1161 + "axisLabel": "", 1162 + "axisPlacement": "auto", 1163 + "barAlignment": 0, 1164 + "barWidthFactor": 0.6, 1165 + "drawStyle": "line", 1166 + "fillOpacity": 10, 1167 + "gradientMode": "none", 1168 + "hideFrom": { 1169 + "legend": false, 1170 + "tooltip": false, 1171 + "viz": false 1172 + }, 1173 + "insertNulls": false, 1174 + "lineInterpolation": "linear", 1175 + "lineWidth": 2, 1176 + "pointSize": 5, 1177 + "scaleDistribution": { 1178 + "type": "linear" 1179 + }, 1180 + "showPoints": "auto", 1181 + "showValues": false, 1182 + "spanNulls": false, 1183 + "stacking": { 1184 + "group": "A", 1185 + "mode": "none" 1186 + }, 1187 + "thresholdsStyle": { 1188 + "mode": "off" 1189 + } 1190 + }, 1191 + "mappings": [], 1192 + "thresholds": { 1193 + "mode": "absolute", 1194 + "steps": [ 1195 + { 1196 + "color": "green", 1197 + "value": 0 1198 + }, 1199 + { 1200 + "color": "red", 1201 + "value": 80 1202 + } 1203 + ] 1204 + }, 1205 + "unit": "reqps" 1206 + }, 1207 + "overrides": [] 1208 + }, 1209 + "gridPos": { 1210 + "h": 8, 1211 + "w": 12, 1212 + "x": 0, 1213 + "y": 34 1214 + }, 1215 + "id": 40, 1216 + "options": { 1217 + "legend": { 1218 + "calcs": [], 1219 + "displayMode": "list", 1220 + "placement": "bottom", 1221 + "showLegend": true 1222 + }, 1223 + "tooltip": { 1224 + "hideZeros": false, 1225 + "mode": "multi", 1226 + "sort": "none" 1227 + } 1228 + }, 1229 + "pluginVersion": "12.3.3", 140 1230 "targets": [ 141 - { "datasource": "Prometheus", "expr": "rate(node_disk_read_bytes_total[5m])", "legendFormat": "Read {{device}}", "refId": "A" }, 142 - { "datasource": "Prometheus", "expr": "rate(node_disk_written_bytes_total[5m])", "legendFormat": "Write {{device}}", "refId": "B" } 143 - ] }, 144 - 145 - { "datasource": "Prometheus", 146 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 147 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "ms" } }, 148 - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 25 }, 149 - "id": 31, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 150 - "title": "Disk I/O Latency", "type": "timeseries", 1231 + { 1232 + "datasource": "Prometheus", 1233 + "expr": "sum by(code) (rate(caddy_http_requests_total[5m]))", 1234 + "legendFormat": "{{code}}", 1235 + "refId": "A" 1236 + } 1237 + ], 1238 + "title": "Request Rate by Status Code", 1239 + "type": "timeseries" 1240 + }, 1241 + { 1242 + "datasource": "Prometheus", 1243 + "fieldConfig": { 1244 + "defaults": { 1245 + "color": { 1246 + "mode": "palette-classic" 1247 + }, 1248 + "custom": { 1249 + "axisBorderShow": false, 1250 + "axisCenteredZero": false, 1251 + "axisColorMode": "text", 1252 + "axisLabel": "", 1253 + "axisPlacement": "auto", 1254 + "barAlignment": 0, 1255 + "barWidthFactor": 0.6, 1256 + "drawStyle": "line", 1257 + "fillOpacity": 10, 1258 + "gradientMode": "none", 1259 + "hideFrom": { 1260 + "legend": false, 1261 + "tooltip": false, 1262 + "viz": false 1263 + }, 1264 + "insertNulls": false, 1265 + "lineInterpolation": "linear", 1266 + "lineWidth": 2, 1267 + "pointSize": 5, 1268 + "scaleDistribution": { 1269 + "type": "linear" 1270 + }, 1271 + "showPoints": "auto", 1272 + "showValues": false, 1273 + "spanNulls": false, 1274 + "stacking": { 1275 + "group": "A", 1276 + "mode": "none" 1277 + }, 1278 + "thresholdsStyle": { 1279 + "mode": "off" 1280 + } 1281 + }, 1282 + "mappings": [], 1283 + "thresholds": { 1284 + "mode": "absolute", 1285 + "steps": [ 1286 + { 1287 + "color": "green", 1288 + "value": 0 1289 + }, 1290 + { 1291 + "color": "red", 1292 + "value": 80 1293 + } 1294 + ] 1295 + }, 1296 + "unit": "s" 1297 + }, 1298 + "overrides": [] 1299 + }, 1300 + "gridPos": { 1301 + "h": 8, 1302 + "w": 12, 1303 + "x": 12, 1304 + "y": 34 1305 + }, 1306 + "id": 41, 1307 + "options": { 1308 + "legend": { 1309 + "calcs": [], 1310 + "displayMode": "list", 1311 + "placement": "bottom", 1312 + "showLegend": true 1313 + }, 1314 + "tooltip": { 1315 + "hideZeros": false, 1316 + "mode": "multi", 1317 + "sort": "none" 1318 + } 1319 + }, 1320 + "pluginVersion": "12.3.3", 151 1321 "targets": [ 152 - { "datasource": "Prometheus", "expr": "rate(node_disk_read_time_seconds_total[5m]) / rate(node_disk_reads_completed_total[5m]) * 1000", "legendFormat": "Read {{device}}", "refId": "A" }, 153 - { "datasource": "Prometheus", "expr": "rate(node_disk_write_time_seconds_total[5m]) / rate(node_disk_writes_completed_total[5m]) * 1000", "legendFormat": "Write {{device}}", "refId": "B" } 154 - ] }, 155 - 156 - { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 33 }, 157 - "id": 103, "title": "Caddy", "type": "row" }, 158 - 159 - { "datasource": "Prometheus", 160 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 161 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "reqps" } }, 162 - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 34 }, 163 - "id": 40, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 164 - "title": "Request Rate by Status Code", "type": "timeseries", 165 - "targets": [{ "datasource": "Prometheus", "expr": "sum by(code) (rate(caddy_http_requests_total[5m]))", "legendFormat": "{{code}}", "refId": "A" }] }, 166 - 167 - { "datasource": "Prometheus", 168 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 169 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "s" } }, 170 - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 34 }, 171 - "id": 41, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 172 - "title": "Request Duration (p50/p95/p99)", "type": "timeseries", 1322 + { 1323 + "datasource": "Prometheus", 1324 + "expr": "histogram_quantile(0.50, sum by(le) (rate(caddy_http_request_duration_seconds_bucket[5m])))", 1325 + "legendFormat": "p50", 1326 + "refId": "A" 1327 + }, 1328 + { 1329 + "datasource": "Prometheus", 1330 + "expr": "histogram_quantile(0.95, sum by(le) (rate(caddy_http_request_duration_seconds_bucket[5m])))", 1331 + "legendFormat": "p95", 1332 + "refId": "B" 1333 + }, 1334 + { 1335 + "datasource": "Prometheus", 1336 + "expr": "histogram_quantile(0.99, sum by(le) (rate(caddy_http_request_duration_seconds_bucket[5m])))", 1337 + "legendFormat": "p99", 1338 + "refId": "C" 1339 + } 1340 + ], 1341 + "title": "Request Duration (p50/p95/p99)", 1342 + "type": "timeseries" 1343 + }, 1344 + { 1345 + "collapsed": false, 1346 + "gridPos": { 1347 + "h": 1, 1348 + "w": 24, 1349 + "x": 0, 1350 + "y": 42 1351 + }, 1352 + "id": 104, 1353 + "panels": [], 1354 + "title": "PostgreSQL", 1355 + "type": "row" 1356 + }, 1357 + { 1358 + "datasource": "Prometheus", 1359 + "fieldConfig": { 1360 + "defaults": { 1361 + "color": { 1362 + "mode": "palette-classic" 1363 + }, 1364 + "custom": { 1365 + "axisBorderShow": false, 1366 + "axisCenteredZero": false, 1367 + "axisColorMode": "text", 1368 + "axisLabel": "", 1369 + "axisPlacement": "auto", 1370 + "barAlignment": 0, 1371 + "barWidthFactor": 0.6, 1372 + "drawStyle": "line", 1373 + "fillOpacity": 10, 1374 + "gradientMode": "none", 1375 + "hideFrom": { 1376 + "legend": false, 1377 + "tooltip": false, 1378 + "viz": false 1379 + }, 1380 + "insertNulls": false, 1381 + "lineInterpolation": "linear", 1382 + "lineWidth": 2, 1383 + "pointSize": 5, 1384 + "scaleDistribution": { 1385 + "type": "linear" 1386 + }, 1387 + "showPoints": "auto", 1388 + "showValues": false, 1389 + "spanNulls": false, 1390 + "stacking": { 1391 + "group": "A", 1392 + "mode": "none" 1393 + }, 1394 + "thresholdsStyle": { 1395 + "mode": "off" 1396 + } 1397 + }, 1398 + "mappings": [], 1399 + "thresholds": { 1400 + "mode": "absolute", 1401 + "steps": [ 1402 + { 1403 + "color": "green", 1404 + "value": 0 1405 + }, 1406 + { 1407 + "color": "red", 1408 + "value": 80 1409 + } 1410 + ] 1411 + }, 1412 + "unit": "short" 1413 + }, 1414 + "overrides": [] 1415 + }, 1416 + "gridPos": { 1417 + "h": 8, 1418 + "w": 12, 1419 + "x": 0, 1420 + "y": 43 1421 + }, 1422 + "id": 50, 1423 + "options": { 1424 + "legend": { 1425 + "calcs": [], 1426 + "displayMode": "list", 1427 + "placement": "bottom", 1428 + "showLegend": true 1429 + }, 1430 + "tooltip": { 1431 + "hideZeros": false, 1432 + "mode": "multi", 1433 + "sort": "none" 1434 + } 1435 + }, 1436 + "pluginVersion": "12.3.3", 173 1437 "targets": [ 174 - { "datasource": "Prometheus", "expr": "histogram_quantile(0.50, sum by(le) (rate(caddy_http_request_duration_seconds_bucket[5m])))", "legendFormat": "p50", "refId": "A" }, 175 - { "datasource": "Prometheus", "expr": "histogram_quantile(0.95, sum by(le) (rate(caddy_http_request_duration_seconds_bucket[5m])))", "legendFormat": "p95", "refId": "B" }, 176 - { "datasource": "Prometheus", "expr": "histogram_quantile(0.99, sum by(le) (rate(caddy_http_request_duration_seconds_bucket[5m])))", "legendFormat": "p99", "refId": "C" } 177 - ] }, 178 - 179 - { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 42 }, 180 - "id": 104, "title": "PostgreSQL", "type": "row" }, 181 - 182 - { "datasource": "Prometheus", 183 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 184 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "short" } }, 185 - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 43 }, 186 - "id": 50, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 187 - "title": "DB Connections", "type": "timeseries", 188 - "targets": [{ "datasource": "Prometheus", "expr": "pg_stat_activity_count", "legendFormat": "{{datname}} – {{state}}", "refId": "A" }] }, 189 - 190 - { "datasource": "Prometheus", 191 - "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, 192 - "custom": { "lineWidth": 2, "fillOpacity": 10 }, "unit": "ops" } }, 193 - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 43 }, 194 - "id": 51, "options": { "tooltip": { "mode": "multi" }, "legend": { "displayMode": "list", "placement": "bottom" } }, 195 - "title": "DB Transactions/sec", "type": "timeseries", 1438 + { 1439 + "datasource": "Prometheus", 1440 + "expr": "pg_stat_activity_count", 1441 + "legendFormat": "{{datname}} – {{state}}", 1442 + "refId": "A" 1443 + } 1444 + ], 1445 + "title": "DB Connections", 1446 + "type": "timeseries" 1447 + }, 1448 + { 1449 + "datasource": "Prometheus", 1450 + "fieldConfig": { 1451 + "defaults": { 1452 + "color": { 1453 + "mode": "palette-classic" 1454 + }, 1455 + "custom": { 1456 + "axisBorderShow": false, 1457 + "axisCenteredZero": false, 1458 + "axisColorMode": "text", 1459 + "axisLabel": "", 1460 + "axisPlacement": "auto", 1461 + "barAlignment": 0, 1462 + "barWidthFactor": 0.6, 1463 + "drawStyle": "line", 1464 + "fillOpacity": 10, 1465 + "gradientMode": "none", 1466 + "hideFrom": { 1467 + "legend": false, 1468 + "tooltip": false, 1469 + "viz": false 1470 + }, 1471 + "insertNulls": false, 1472 + "lineInterpolation": "linear", 1473 + "lineWidth": 2, 1474 + "pointSize": 5, 1475 + "scaleDistribution": { 1476 + "type": "linear" 1477 + }, 1478 + "showPoints": "auto", 1479 + "showValues": false, 1480 + "spanNulls": false, 1481 + "stacking": { 1482 + "group": "A", 1483 + "mode": "none" 1484 + }, 1485 + "thresholdsStyle": { 1486 + "mode": "off" 1487 + } 1488 + }, 1489 + "mappings": [], 1490 + "thresholds": { 1491 + "mode": "absolute", 1492 + "steps": [ 1493 + { 1494 + "color": "green", 1495 + "value": 0 1496 + }, 1497 + { 1498 + "color": "red", 1499 + "value": 80 1500 + } 1501 + ] 1502 + }, 1503 + "unit": "ops" 1504 + }, 1505 + "overrides": [] 1506 + }, 1507 + "gridPos": { 1508 + "h": 8, 1509 + "w": 12, 1510 + "x": 12, 1511 + "y": 43 1512 + }, 1513 + "id": 51, 1514 + "options": { 1515 + "legend": { 1516 + "calcs": [], 1517 + "displayMode": "list", 1518 + "placement": "bottom", 1519 + "showLegend": true 1520 + }, 1521 + "tooltip": { 1522 + "hideZeros": false, 1523 + "mode": "multi", 1524 + "sort": "none" 1525 + } 1526 + }, 1527 + "pluginVersion": "12.3.3", 196 1528 "targets": [ 197 - { "datasource": "Prometheus", "expr": "rate(pg_stat_database_xact_commit[5m])", "legendFormat": "commit {{datname}}", "refId": "A" }, 198 - { "datasource": "Prometheus", "expr": "rate(pg_stat_database_xact_rollback[5m])", "legendFormat": "rollback {{datname}}", "refId": "B" } 199 - ] } 1529 + { 1530 + "datasource": "Prometheus", 1531 + "expr": "rate(pg_stat_database_xact_commit[5m])", 1532 + "legendFormat": "commit {{datname}}", 1533 + "refId": "A" 1534 + }, 1535 + { 1536 + "datasource": "Prometheus", 1537 + "expr": "rate(pg_stat_database_xact_rollback[5m])", 1538 + "legendFormat": "rollback {{datname}}", 1539 + "refId": "B" 1540 + } 1541 + ], 1542 + "title": "DB Transactions/sec", 1543 + "type": "timeseries" 1544 + } 200 1545 ], 1546 + "preload": false, 201 1547 "refresh": "30s", 202 - "schemaVersion": 38, 203 - "tags": ["server"], 204 - "templating": { "list": [] }, 205 - "time": { "from": "now-3h", "to": "now" }, 1548 + "schemaVersion": 42, 1549 + "tags": [ 1550 + "server" 1551 + ], 1552 + "templating": { 1553 + "list": [] 1554 + }, 1555 + "time": { 1556 + "from": "now-3h", 1557 + "to": "now" 1558 + }, 206 1559 "timepicker": {}, 207 1560 "timezone": "browser", 208 1561 "title": "Server Overview", 209 1562 "uid": "server-overview", 210 1563 "version": 1 211 - } 1564 + }