n2n-rest-api + Web UI 方案设想

針對 n2n-rest-api + Web UI 的遠端集中管理與監控需求,以下是目前社群中最成熟的幾種實作路徑,幫助你達成從「簡單 Web 管理」到「大螢幕可視化」的過渡:
1. 核心組件:n2n 內建的 Management UDP Port
n2n 的 supernode  edge 其實都內建了一個 管理連接埠(通常搭配 -M 參數開啟)。
  • 功能:透過這個 Port 發送指令,可以即時獲取 節點列表 (peer list)流量統計版本資訊
  • 優點:這是所有 Dashboard 的數據來源,不需要額外安裝複雜的 Agent。
2. 推薦的開源 Web UI 方案
如果你需要一個現成的網頁介面來遠端管理:
  • n2n-rest-api (由 lucktu 或相關開發者維護)
    • 特點:這是一個輕量級的後端,將 n2n 的管理指令轉化為 JSON 格式的 API
    • 管理功能:可以直接在網頁上看到當前連入 Supernode 的所有 Edge 資訊(虛擬 IP、外部 IP、連線時間)。
    • 監控功能:提供簡單的在線狀態檢查。
  • n2n-web-console (PHP/Python 版本)
    • 特點:這類專案通常只有一個單一的網頁檔案,部署極快。
    • 適用場景:放在伺服器上,隨時瀏覽器打開就能看到 Peer 列表。
3. 後續整合至可視化大屏 (Grafana)
這是你提到的「後續集成」最標準的做法:
  • 數據流路徑
    1. Exporter:使用 n2n-prometheus-exporter(或是你自己寫個腳本定期呼叫上面的 REST API)。
    2. 時序數據庫:存入 Prometheus
    3. 大屏展現:在 Grafana 導入 Dashboards。
  • 可視化效果:你可以看到全球節點的分佈地圖、各節點即時頻寬佔用、延遲波動曲線等。

具體建議步驟:
  1. 第一步 (即時管理):在你的 Supernode 啟動參數加上 -M 5645(開啟管理埠),並部署一個簡單的 n2n-rest-api 容器。
  2. 第二步 (監控整合):確認 API 能抓到 JSON 數據後,未來只要用 Grafana 的 JSON Data Source 插件就能直接把數據畫成圖表,不一定要裝 Prometheus。
n2n-rest-api 的部署腳本(Docker 或 Shell),或是示範如何用 Python 抓取 n2n 狀態來對接你的可視化系统。

版权声明:
作者:yxbinghe
链接:https://www.zhanhao.ch/?p=641
来源:ice.99
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>