鋱D?端口連線與Mermaid圖形可視化完全指南)
【免費(fèi)下載鏈接】RackPeekCLI tool to discover, manage, and document your IT infrastructure and home lab.項(xiàng)目地址https://gitcode.com/gh_mirrors/ra/RackPeek點(diǎn)擊查看免費(fèi)下載RackPeek 是一款用于發(fā)現(xiàn)、管理和記錄 Home Lab家庭實(shí)驗(yàn)室與小型 IT 基礎(chǔ)設(shè)施的開源 CLI Web UI 工具。這篇文章將完整講解 RackPeek 拓?fù)鋱D繪制流程如何記錄端口連線、如何用一條命令生成 Mermaid 物理拓?fù)鋱D與邏輯視圖、以及如何把圖形導(dǎo)出成 PNG 或源碼。全程以新手視角操作零基礎(chǔ)也能畫出專業(yè)的網(wǎng)絡(luò)拓?fù)鋱D。為什么 Home Lab 需要一張拓?fù)鋱D設(shè)備一多這根網(wǎng)線到底接哪兒了就成了難題。RackPeek 的思路是用 YAML 記錄硬件與連線用 Mermaid 一鍵渲染成圖圖始終與數(shù)據(jù)保持一致不會(huì)像手繪圖那樣過期。RackPeek 提供兩種拓?fù)鋱D視圖回答的問題數(shù)據(jù)來源物理拓?fù)銹hysical哪臺(tái)設(shè)備的哪個(gè)端口接到哪臺(tái)設(shè)備硬件 端口連線connections邏輯視圖Logical哪個(gè)服務(wù)跑在哪臺(tái)主機(jī)、屬于哪個(gè)子網(wǎng)服務(wù) 系統(tǒng) runsOn 關(guān)系第 1 步把端口連線記下來拓?fù)鋱D的邊來自connections端口連線記錄。每條連線精確到資源 端口組 端口號三個(gè)坐標(biāo)有三種錄入方式。方式一CLI 命令推薦腳本化rpk connections add A資源 A組 A號 B資源 B組 B號 [--label 標(biāo)簽]例如把防火墻 WAN 口接到核心路由rpk connections add pfsense-fw 1 0 core-router 1 0 --label WAN uplink命令參數(shù)定義見 ConnectionAddCommand.cs校驗(yàn)邏輯資源必須存在、端口組/端口號不能越界、不能自連、一個(gè)端口只能有一條連線、重復(fù)添加會(huì)覆蓋舊連線實(shí)現(xiàn)在 AddConnectionUseCase.cs。刪除連線用rpk connections remove實(shí)現(xiàn)見 ConnectionRemoveCommand.cs。方式二Web UI 可視化連線打開 RackPeek Web 界面后進(jìn)入Connections頁面路由/connections頁面以端口組可視化的形式展示每臺(tái)設(shè)備的端口點(diǎn)擊端口即可選擇對端完成連線頁面組件在 ConnectionsPage.razor。適合不想記命令、習(xí)慣點(diǎn)著連的用戶。方式三直接編輯 YAMLRackPeek 的全部狀態(tài)存放在 YAML 中config/config.yaml連線就是頂層connections:列表每條包含a、b兩個(gè)端口引用和可選的label、notes。示例項(xiàng)目里的真實(shí)片段connections: - a: resource: pfsense-fw portGroup: 1 portIndex: 0 b: resource: core-router portGroup: 1 portIndex: 0 label: WAN uplink - a: resource: core-router portGroup: 1 portIndex: 0 b: resource: core-switch portGroup: 2 portIndex: 0 label: core trunk完整示例可參考 vhs/sample_config/config.yaml連線數(shù)據(jù)結(jié)構(gòu)定義見 Connection.cs。第 2 步一條命令生成 Mermaid 物理拓?fù)鋱D連線記好后運(yùn)行rpk graph topology命令會(huì)輸出完整的 Mermaid flowchart 源碼直接重定向到文件即可歸檔rpk graph topology topology.mmd輸出示例節(jié)選%%{init: {layout: elk, flowchart: {curve: step, ...}}}%% flowchart TD n_pfsense_fw{{pfsense-fwbr/firewall}}:::rpknode n_core_router([core-routerbr/router]):::rpknode n_core_switch[[core-switchbr/switch]]:::rpknode n_pfsense_fw ---|eth0 ? wan1| n_core_router n_core_router ---|eth1 ? p1| n_core_switch這條命令的實(shí)現(xiàn)鏈路非常清晰值得了解GraphTopologyCommand.csCLI 入口把結(jié)果直接寫到標(biāo)準(zhǔn)輸出避免終端軟換行破壞 Mermaid 語法方便管道重定向BuildPhysicalTopologyUseCase.cs把硬件變成節(jié)點(diǎn)、把 connections 變成邊MermaidSerialiser.cs把圖序列化為 Mermaid 文本。節(jié)點(diǎn)形狀自帶語義RackPeek 借鑒 NetBox / draw.io 的網(wǎng)絡(luò)圖慣例用形狀區(qū)分設(shè)備類型只看輪廓就知道角色形狀映射表見 MermaidSerialiser.cs設(shè)備類型形狀含義Firewall六邊形安全邊界Router體育場形網(wǎng)關(guān)Switch雙邊框匯聚/分發(fā)Server圓柱計(jì)算/存儲(chǔ)AccessPoint圓形無線射頻UPS菱形輔助設(shè)施Desktop / Laptop圓角矩形終端邊標(biāo)簽優(yōu)先顯示你寫的--label沒寫時(shí)自動(dòng)用端口類型編號生成如eth0 ? wan1標(biāo)簽生成邏輯見 BuildPhysicalTopologyUseCase.cs。此外序列化結(jié)果確定性強(qiáng)——同一份庫存永遠(yuǎn)產(chǎn)出同一張圖方便把渲染圖提交進(jìn)文檔或做回歸測試。第 3 步生成邏輯視圖服務(wù) × 子網(wǎng)物理圖看線邏輯圖看服務(wù)。運(yùn)行rpk graph logical它會(huì)回答哪個(gè)服務(wù)跑在哪臺(tái)主機(jī)上這臺(tái)主機(jī)在哪個(gè)子網(wǎng)規(guī)則BuildLogicalGraphUseCase.cs每個(gè)系統(tǒng)Hypervisor / VM / Container生成一張主機(jī)卡片卡片內(nèi)部列出它承載的全部服務(wù)及端口按 IP 自動(dòng)歸入/24 子網(wǎng)分組同一臺(tái)物理硬件內(nèi)的系統(tǒng)再嵌套一組形成子網(wǎng) → 硬件 → 主機(jī)的層級不畫連線runsOn的運(yùn)行于關(guān)系由子圖包含關(guān)系直接表達(dá)圖更緊湊。實(shí)現(xiàn)入口見 GraphLogicalCommand.cs。第 4 步在 Web UI 里看大圖并導(dǎo)出打開 RackPeek Web 界面進(jìn)入Visualise頁面路由/visualise頂部可在Physical / Logical兩個(gè)標(biāo)簽間切換右上角兩個(gè)按鈕即導(dǎo)出Save PNG2 倍分辨率導(dǎo)出 PNG 圖片深色背景可直接貼進(jìn) wiki 或博客Save Mermaid下載.mmd源碼可用任意 Mermaid 渲染器再加工。頁面實(shí)現(xiàn)見 VisualisePage.razor前端渲染與導(dǎo)出腳本在 Shared.Rcl/wwwroot/js/graph/index.js內(nèi)置 ELK 布局引擎邊線路由為直角風(fēng)格更像專業(yè)網(wǎng)絡(luò)圖。常見問題與技巧圖里為什么少了某些設(shè)備物理圖只渲染硬件 兩端資源都存在的連線指向不存在資源的連線會(huì)被安全跳過BuildPhysicalTopologyUseCase.cs先檢查資源名拼寫。連線連不上CLI 會(huì)明確報(bào)錯(cuò)資源不存在、端口組越界、端口號越界、端口自連均被攔截且同一端口只能屬于一條連線重復(fù)添加會(huì)覆蓋舊連線。想要更醒目的邊標(biāo)簽添加--label選項(xiàng)它會(huì)優(yōu)先顯示在連線上。CI 里怎么用序列化輸出是確定性的可以把rpk graph topology的產(chǎn)物做 golden-file 對比連線一變就能發(fā)現(xiàn)。更多命令細(xì)節(jié)可查閱 docs/Commands.md 與 docs/CommandIndex.md圖形相關(guān)源碼集中在 RackPeek.Domain/Graph/??偨Y(jié)RackPeek 繪制 Home Lab 拓?fù)鋱D的完整路徑只有四步用rpk connections add、Web Connections 頁面或 YAML 記錄端口連線rpk graph topology一條命令輸出Mermaid 物理拓?fù)鋱D節(jié)點(diǎn)形狀自帶設(shè)備語義rpk graph logical輸出按子網(wǎng)/主機(jī)分組的邏輯視圖在 Web UI 的 Visualise 頁面查看大圖一鍵導(dǎo)出 PNG 或 Mermaid 源碼。數(shù)據(jù)是純 YAML 的圖是隨時(shí)可再生的——這就是作為代碼的 Home Lab 文檔最省心的形態(tài)。贊分享【免費(fèi)下載鏈接】RackPeekCLI tool to discover, manage, and document your IT infrastructure and home lab.項(xiàng)目地址https://gitcode.com/gh_mirrors/ra/RackPeek點(diǎn)擊查看免費(fèi)下載相關(guān)推薦如何用可視化工具輕松繪制專業(yè)網(wǎng)絡(luò)拓?fù)鋱D完整指南如何用可視化工具輕松繪制專業(yè)網(wǎng)絡(luò)拓?fù)鋱D完整指南 在網(wǎng)絡(luò)管理和系統(tǒng)設(shè)計(jì)中 網(wǎng)絡(luò)拓?fù)鋱D 是理解復(fù)雜架構(gòu)的關(guān)鍵工具。傳統(tǒng)的繪制方法往往需要繁瑣的手工操作但現(xiàn)在有前端數(shù)據(jù)可視化拓?fù)鋱D繪制新選擇easy-topo讓網(wǎng)絡(luò)可視化如此簡單拓?fù)鋱D繪制新選擇easy topo讓網(wǎng)絡(luò)可視化如此簡單 還在為復(fù)雜的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)而煩惱嗎easy topo這款免費(fèi)拓?fù)淅L制工具讓網(wǎng)絡(luò)可視化變得前所未有的簡前端數(shù)據(jù)可視化終極網(wǎng)絡(luò)拓?fù)鋱D繪制工具Topology完全指南終極網(wǎng)絡(luò)拓?fù)鋱D繪制工具Topology完全指南 還在為復(fù)雜的網(wǎng)絡(luò)架構(gòu)可視化而頭疼嗎 傳統(tǒng)的繪圖工具難以滿足現(xiàn)代數(shù)據(jù)中心和企業(yè)網(wǎng)絡(luò)的動(dòng)態(tài)需求運(yùn)維團(tuán)隊(duì)常常創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考