[ci skip] improve network observability dashboard: namespace coloring, layered layout, full-width service map

This commit is contained in:
Viktor Barzin 2026-02-28 19:14:20 +00:00
parent 809407c60b
commit 79775fa2cc

View file

@ -35,8 +35,8 @@
}, },
"description": "", "description": "",
"gridPos": { "gridPos": {
"h": 24, "h": 28,
"w": 17, "w": 24,
"x": 0, "x": 0,
"y": 0 "y": 0
}, },
@ -49,7 +49,11 @@
"color": "#5794F2", "color": "#5794F2",
"field": "arc__color" "field": "arc__color"
} }
] ],
"mainStatUnit": ""
},
"edges": {
"mainStatUnit": ""
} }
}, },
"targets": [ "targets": [
@ -60,7 +64,7 @@
}, },
"editorMode": "code", "editorMode": "code",
"exemplar": false, "exemplar": false,
"expr": "increase((sum by (id, title, subTitle, detail__kind, arc__color) (label_replace((label_replace(label_replace(label_replace(label_replace((caretta_links_observed{client_namespace=~\"$namespace\", client_kind=~\"$kind\", client_name=~\"$workload\", server_port=~\"$port\"} or caretta_links_observed{server_namespace=~\"$namespace\", server_kind=~\"$kind\", server_name=~\"$workload\", server_port=~\"$port\"}), \"detail__kind\", \"$1\", \"server_kind\", \"(.*)\"), \"subTitle\", \"$1\", \"server_namespace\", \"(.*)\"), \"title\", \"$1\", \"server_name\", \"(.*)\"), \"id\", \"$1\", \"server_id\", \"(.*)\") or label_replace(label_replace(label_replace(label_replace((caretta_links_observed{client_namespace=~\"$namespace\", client_kind=~\"$kind\", client_name=~\"$workload\", server_port=~\"$port\"} or caretta_links_observed{server_namespace=~\"$namespace\", server_kind=~\"$kind\", server_name=~\"$workload\", server_port=~\"$port\"}), \"detail__kind\", \"$1\", \"client_kind\", \"(.*)\"), \"subTitle\", \"$1\", \"client_namespace\", \"(.*)\"), \"title\", \"$1\", \"client_name\", \"(.*)\"), \"id\", \"$1\", \"client_id\", \"(.*)\") ), \"arc__color\", \"1\", \"link_id\", \"(.*)\")) )[$__range:$__interval]) > 0", "expr": "increase((sum by (id, title, subTitle, detail__kind, arc__color, color) (label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace(label_replace((label_replace(label_replace(label_replace(label_replace((caretta_links_observed{client_namespace=~\"$namespace\", client_kind=~\"$kind\", client_name=~\"$workload\", server_port=~\"$port\"} or caretta_links_observed{server_namespace=~\"$namespace\", server_kind=~\"$kind\", server_name=~\"$workload\", server_port=~\"$port\"}), \"detail__kind\", \"$1\", \"server_kind\", \"(.*)\"), \"subTitle\", \"$1\", \"server_namespace\", \"(.*)\"), \"title\", \"$1\", \"server_name\", \"(.*)\"), \"id\", \"$1\", \"server_id\", \"(.*)\") or label_replace(label_replace(label_replace(label_replace((caretta_links_observed{client_namespace=~\"$namespace\", client_kind=~\"$kind\", client_name=~\"$workload\", server_port=~\"$port\"} or caretta_links_observed{server_namespace=~\"$namespace\", server_kind=~\"$kind\", server_name=~\"$workload\", server_port=~\"$port\"}), \"detail__kind\", \"$1\", \"client_kind\", \"(.*)\"), \"subTitle\", \"$1\", \"client_namespace\", \"(.*)\"), \"title\", \"$1\", \"client_name\", \"(.*)\"), \"id\", \"$1\", \"client_id\", \"(.*)\")), \"arc__color\", \"1\", \"link_id\", \"(.*)\"), \"color\", \"#8F8F8F\", \"subTitle\", \"(.*)\"), \"color\", \"#F2495C\", \"subTitle\", \"^external$\"), \"color\", \"#8AB8FF\", \"subTitle\", \"^node$\"), \"color\", \"#FF9830\", \"subTitle\", \"^traefik$\"), \"color\", \"#5794F2\", \"subTitle\", \"^monitoring$\"), \"color\", \"#73BF69\", \"subTitle\", \"^dbaas$\"), \"color\", \"#B877D9\", \"subTitle\", \"^authentik$\"), \"color\", \"#FF7383\", \"subTitle\", \"^crowdsec$\"), \"color\", \"#FADE2A\", \"subTitle\", \"^uptime-kuma$\"), \"color\", \"#56A64B\", \"subTitle\", \"^immich$\"), \"color\", \"#C0D8FF\", \"subTitle\", \"^technitium$\"), \"color\", \"#FF6600\", \"subTitle\", \"^kyverno$\"), \"color\", \"#76B900\", \"subTitle\", \"^nvidia$\")))[$__range:$__interval]) > 0",
"format": "table", "format": "table",
"instant": true, "instant": true,
"legendFormat": "__auto", "legendFormat": "__auto",
@ -83,8 +87,12 @@
"refId": "edges" "refId": "edges"
} }
], ],
"title": "Service Map \u2638\ufe0f", "title": "Service Map",
"type": "nodeGraph" "type": "nodeGraph",
"fieldConfig": {
"defaults": {},
"overrides": []
}
}, },
{ {
"datasource": { "datasource": {
@ -110,10 +118,10 @@
"overrides": [] "overrides": []
}, },
"gridPos": { "gridPos": {
"h": 7, "h": 8,
"w": 4, "w": 6,
"x": 17, "x": 0,
"y": 0 "y": 28
}, },
"id": 4, "id": 4,
"options": { "options": {
@ -160,10 +168,10 @@
"uid": "grafana" "uid": "grafana"
}, },
"gridPos": { "gridPos": {
"h": 7, "h": 4,
"w": 3, "w": 3,
"x": 21, "x": 21,
"y": 0 "y": 36
}, },
"id": 10, "id": 10,
"options": { "options": {
@ -209,9 +217,9 @@
}, },
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 7, "w": 9,
"x": 17, "x": 15,
"y": 7 "y": 28
}, },
"id": 8, "id": 8,
"options": { "options": {
@ -279,10 +287,10 @@
"overrides": [] "overrides": []
}, },
"gridPos": { "gridPos": {
"h": 9, "h": 8,
"w": 7, "w": 9,
"x": 17, "x": 6,
"y": 15 "y": 28
}, },
"id": 6, "id": 6,
"options": { "options": {
@ -326,7 +334,7 @@
"h": 1, "h": 1,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 24 "y": 40
}, },
"id": 11, "id": 11,
"title": "Network Flows (GoFlow2 / pfSense NetFlow)", "title": "Network Flows (GoFlow2 / pfSense NetFlow)",
@ -362,7 +370,7 @@
"h": 8, "h": 8,
"w": 12, "w": 12,
"x": 0, "x": 0,
"y": 25 "y": 41
}, },
"id": 12, "id": 12,
"options": { "options": {
@ -420,7 +428,7 @@
"h": 8, "h": 8,
"w": 12, "w": 12,
"x": 12, "x": 12,
"y": 25 "y": 41
}, },
"id": 13, "id": 13,
"options": { "options": {
@ -483,7 +491,7 @@
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 0, "x": 0,
"y": 33 "y": 49
}, },
"id": 14, "id": 14,
"options": { "options": {
@ -542,7 +550,7 @@
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 4, "x": 4,
"y": 33 "y": 49
}, },
"id": 15, "id": 15,
"options": { "options": {
@ -601,7 +609,7 @@
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 8, "x": 8,
"y": 33 "y": 49
}, },
"id": 16, "id": 16,
"options": { "options": {
@ -660,7 +668,7 @@
"h": 4, "h": 4,
"w": 12, "w": 12,
"x": 12, "x": 12,
"y": 33 "y": 49
}, },
"id": 17, "id": 17,
"options": { "options": {
@ -689,7 +697,7 @@
"type": "timeseries" "type": "timeseries"
} }
], ],
"refresh": "", "refresh": "10s",
"schemaVersion": 38, "schemaVersion": 38,
"style": "dark", "style": "dark",
"tags": [ "tags": [
@ -847,7 +855,7 @@
] ]
}, },
"time": { "time": {
"from": "now-5m", "from": "now-15m",
"to": "now" "to": "now"
}, },
"timepicker": {}, "timepicker": {},