AI News HubLIVE
站內改寫2 分鐘閱讀

Show HN: Xenoeye – 無需AI,使用Netflow、PostgreSQL和Grafana分析網路

Xenoeye 是一個輕量級的 Netflow/IPFIX/sFlow 收集器和分析器,利用 PostgreSQL 和 Grafana 進行網路流量監控和分析,無需人工智慧。它支援多種流協議,使用監控物件和移動平均線檢測流量異常,資源需求低,可在低端硬體上執行。

來源Hacker News AI作者: vmxdev

Xenoeye 是一個開源的輕量級網路流量收集與分析工具,專注於 Netflow、IPFIX 和 sFlow 協議。它利用 PostgreSQL 作為後端資料庫儲存聚合的時間序列資料,並透過 Grafana 提供視覺化儀表板,所有功能都不依賴人工智慧。該專案由 vm(vmxdev)開發,在 GitHub 上以 ISC 許可證釋出,目前已有 137 星和 4 個復刻。

該收集器專為中大型網路設計,支援不同的使用者群體生成不同的報告。它使用“監控物件”的概念,這些物件可以是 IP 網路、單個 IP 地址、自治系統、地理物件或任意可從 Netflow/IPFIX/sFlow 中提取的網路流量。透過配置檔案,使用者可以定義報告和圖表,在 Grafana 中構建自定義儀表板。文件提供簡單報告的例子,但構建更復雜的報告需要基本的 SQL 知識。

資料處理採用兩種方式:固定時間視窗聚合用於常規報表和圖表,移動平均線用於快速檢測流量突變。兩種方法可單獨或結合使用。例如,當移動平均線檢測到閾值被超過時,可以執行自定義指令碼並立即啟用擴充套件統計收集。開發團隊使用移動平均線檢測大容量 DoS/DDoS 攻擊,當達到閾值時,會建立 BGP 通告(FlowSpec 過濾、限速、重定向到清洗伺服器或黑洞路由),並透過即時通訊工具通知使用者。

Xenoeye 對資源要求不高,即使在只有 4 GB 記憶體的 Orange Pi(類似樹莓派)上也能處理資料並生成報告。在小網路中,它可以在只有 1 個 CPU 和 1 GB 記憶體的虛擬機器中執行。效能方面,在除錯模式下每個核心約可處理 10 萬流/秒,在接近生產模式下(兩個監控物件、兩個滑動視窗)約 70 萬流/秒。開發者建議悲觀地看待這些數字,並指出多核擴充套件是可能的。該收集器僅在 64 位 Linux(x64、AArch64 和 Elbrus)上測試過。

資料儲存方面,Xenoeye 使用 PostgreSQL 儲存時間序列資料,並支援實驗性的 ClickHouse 儲存。它可以只匯出前 N 個實體,其餘聚合到一行,從而調節寫入資料庫的資料量,允許使用更便宜、更慢的磁碟。預設支援基本的 Netflow/IPFIX 欄位,使用者也可新增幾乎任何需要的欄位。

部署選項包括一個 LXC 容器映象(v25.02 版本),包含預配置的收集器、PostgreSQL 和 Grafana,以及一個 Proxmox 模板。容器使用主機網路,需謹慎使用。此外,專案提供了詳細的文件,涵蓋安裝、配置、監控物件、閾值設定、GeoIP 整合、流量分類、sFlow 增強分析等高階功能。未來計劃主要集中在穩定性和程式碼簡化,而非新增新功能。