Fix GBarmUB dashboards for live metrics and no-data panels

This commit is contained in:
gbanyan
2026-02-16 16:37:27 +08:00
parent b46e03552b
commit 9b565ead55
4 changed files with 12 additions and 12 deletions

View File

@@ -53,7 +53,7 @@
}, },
"targets": [ "targets": [
{ {
"expr": "count(rate(container_last_seen{name=~\"$container|.*\",name!=\"\"}[5m]))", "expr": "count((time() - container_last_seen{name=~\"$container|.*\",name!=\"\"}) < 120)",
"refId": "A" "refId": "A"
} }
], ],
@@ -409,7 +409,7 @@
}, },
"targets": [ "targets": [
{ {
"expr": "(container_memory_usage_bytes{name=~\"$container|.*\",name!=\"\"} / container_spec_memory_limit_bytes{name=~\"$container|.*\",name!=\"\"}) * 100", "expr": "100 * (container_memory_usage_bytes{name=~\"$container|.*\",name!=\"\"} / container_spec_memory_limit_bytes{name=~\"$container|.*\",name!=\"\"}) and on(name) (container_spec_memory_limit_bytes{name=~\"$container|.*\",name!=\"\"} > 0)",
"legendFormat": "{{name}}", "legendFormat": "{{name}}",
"refId": "A" "refId": "A"
} }

View File

@@ -169,7 +169,7 @@
{ {
"editorMode": "code", "editorMode": "code",
"exemplar": false, "exemplar": false,
"expr": "irate(node_pressure_irq_stalled_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])", "expr": "irate(node_pressure_irq_stalled_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval]) or vector(0)",
"format": "time_series", "format": "time_series",
"instant": true, "instant": true,
"legendFormat": "Irq", "legendFormat": "Irq",
@@ -3392,7 +3392,7 @@
}, },
{ {
"editorMode": "code", "editorMode": "code",
"expr": "rate(node_pressure_irq_stalled_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])", "expr": "rate(node_pressure_irq_stalled_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval]) or vector(0)",
"format": "time_series", "format": "time_series",
"legendFormat": "IRQ - Full", "legendFormat": "IRQ - Full",
"range": true, "range": true,

View File

@@ -185,7 +185,7 @@
"type": "loki", "type": "loki",
"uid": "ef1qnibjxb5z4a" "uid": "ef1qnibjxb5z4a"
}, },
"expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 2\\d{2} ` [5m]))", "expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 2\\d{2} ` [5m])) or vector(0)",
"legendFormat": "2xx 成功", "legendFormat": "2xx 成功",
"refId": "A" "refId": "A"
}, },
@@ -194,7 +194,7 @@
"type": "loki", "type": "loki",
"uid": "ef1qnibjxb5z4a" "uid": "ef1qnibjxb5z4a"
}, },
"expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 3\\d{2} ` [5m]))", "expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 3\\d{2} ` [5m])) or vector(0)",
"legendFormat": "3xx 重定向", "legendFormat": "3xx 重定向",
"refId": "B" "refId": "B"
}, },
@@ -203,7 +203,7 @@
"type": "loki", "type": "loki",
"uid": "ef1qnibjxb5z4a" "uid": "ef1qnibjxb5z4a"
}, },
"expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 4\\d{2} ` [5m]))", "expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 4\\d{2} ` [5m])) or vector(0)",
"legendFormat": "4xx 用戶端錯誤", "legendFormat": "4xx 用戶端錯誤",
"refId": "C" "refId": "C"
}, },
@@ -212,7 +212,7 @@
"type": "loki", "type": "loki",
"uid": "ef1qnibjxb5z4a" "uid": "ef1qnibjxb5z4a"
}, },
"expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 5\\d{2} ` [5m]))", "expr": "sum(rate({service_name=\"proxy/traefik-access\"} |~ ` 5\\d{2} ` [5m])) or vector(0)",
"legendFormat": "5xx 伺服器錯誤", "legendFormat": "5xx 伺服器錯誤",
"refId": "D" "refId": "D"
} }
@@ -282,7 +282,7 @@
"type": "loki", "type": "loki",
"uid": "ef1qnibjxb5z4a" "uid": "ef1qnibjxb5z4a"
}, },
"expr": "(sum(rate({service_name=\"proxy/traefik-access\"} |~ ` [45]\\d{2} ` [5m])) / sum(rate({service_name=\"proxy/traefik-access\"} [5m]))) * 100", "expr": "(sum(rate({service_name=\"proxy/traefik-access\"} |~ ` [45]\\d{2} ` [5m])) / clamp_min(sum(rate({service_name=\"proxy/traefik-access\"} [5m])), 1e-9)) * 100",
"refId": "A" "refId": "A"
} }
], ],
@@ -414,11 +414,11 @@
"type": "loki", "type": "loki",
"uid": "ef1qnibjxb5z4a" "uid": "ef1qnibjxb5z4a"
}, },
"expr": "{service_name=\"proxy/traefik-access\"} |~ ` [45]\\d{2} `", "expr": "{service_name=\"proxy/traefik-access\"}",
"refId": "A" "refId": "A"
} }
], ],
"title": "🔝 錯誤請求 (4xx/5xx)", "title": "🔝 最近請求 (Traefik Access)",
"type": "logs" "type": "logs"
}, },
{ {

View File

@@ -1001,7 +1001,7 @@
{ {
"direction": "backward", "direction": "backward",
"editorMode": "code", "editorMode": "code",
"expr": "topk(10, sum by (domain) (count_over_time({job=\"unbound\"} [5m])))", "expr": "topk(10, sum by (domain) (count_over_time({job=\"unbound\"} | pattern \"<_> <_> reply: <_> <domain> <_> <_> <_> <_> <_> <_>\" [5m])))",
"queryType": "instant", "queryType": "instant",
"refId": "A" "refId": "A"
} }