載入中...
Akvorado 是一套 flow collector、enricher 與 visualizer。它接收 NetFlow/IPFIX/sFlow 等流量摘要資料,透過 SNMP、GeoIP、路由資訊或自訂分類補上可讀欄位,再將結果寫入 ClickHouse,最後由 Web Console 查詢與視覺化。對企業 IT 而言,它不是封包側錄工具,也不是取代 Zabbix、LibreNMS 這類設備監控系統的工具,而是補上「誰在使用頻寬、流量往哪裡去、哪個 ASN/國家/服務佔比異常」的觀測層。
這篇文章適合已經有網路設備、交換器、Router、防火牆或資料中心出口,並希望用開源工具建立流量可視化的人。若目標是知道設備是否在線、介面是否錯誤、CPU 或 PoE 是否超載,應優先規劃 SNMP/NMS;若目標是知道流量的來源、目的地、應用協定、Top Talkers 與尖峰行為,Akvorado 才是比較適合的切入點。行雲資訊在 IT 監控與管理系統 與 辦公室網路建置與維運 的規劃中,通常會先確認這兩類觀測需求是否需要拆開處理。
flowchart LR A["Router / Switch / Firewall<br/>NetFlow, IPFIX, sFlow Exporter"] B["Akvorado Inlet<br/>接收 UDP flow 封包"] C["Kafka<br/>緩衝與分散 flow 訊息"] D["Akvorado Outlet<br/>解析、補充 metadata、寫入資料庫"] E["ClickHouse<br/>高容量 flow 儲存與查詢"] F["Akvorado Console<br/>查詢、圖表、Sankey 視覺化"] G["SNMP / GeoIP / BMP / 自訂分類<br/>補充介面、地理、路由與群組資訊"] A --> B B --> C C --> D G --> D D --> E E --> F
Akvorado 的資料流可以分成六個角色:

Console 的 Visualize 頁面可以把 flow 資料依來源 AS、目的 AS、介面邊界或自訂條件拆成可比較的時間序圖。圖中標示可依序閱讀:
NetFlow 與 IPFIX 通常由設備彙整一段時間內的流量紀錄後送出,適合追蹤來源、目的、port、協定與流量大小。IPFIX 可視為較標準化、欄位彈性更高的 flow export 格式。sFlow 則偏向取樣模式,會把抽樣封包資訊送出,因此在交換器或高流量環境中常見,但讀者必須接受它本質上是 sampled data,不應把每筆 sFlow 資料當成完整封包紀錄。
部署時不需要一開始就同時啟用全部格式。比較務實的作法是先選一個主要出口設備,確認它支援哪一種 export 格式,再固定 exporter IP、collector port 與 sampling/timeout 設定。若資料來源跨多個廠牌,應先把每台設備的 exporter source address、template 行為與介面 index 對齊,否則 Console 看到的資料會變成「有流量但不知道是哪個介面」或「同一設備被辨識成多個 exporter」。
官方 Docker Compose 範例會把主要設定拆成 config/akvorado.yaml、config/inlet.yaml、config/outlet.yaml 與 config/console.yaml。基礎部署時,最先要確認的是 Inlet 是否有固定監聽 port。若沒有設定,Akvorado 可能只用隨機 port 接收 flow,這對正式環境不適合。
flow:
inputs:
- type: udp
decoder: netflow
listen: :2055
workers: 3
use-src-addr-for-exporter-addr: true
- type: udp
decoder: sflow
listen: :6343
workers: 3上例的重點不是照抄 port,而是建立可被文件化的標準:NetFlow/IPFIX/sFlow 分別使用哪些 port、哪些 exporter 可以送進來、source IP 是否可信、是否需要用 use-src-addr-for-exporter-addr 修正 exporter address。若設備在 NAT、VRF 或管理網段後方,source address 與 flow message 內的 exporter address 可能不同,這會影響 SNMP 查詢與介面名稱補充。
可先閱讀《Akvorado Flow Collector 架構與基礎部署》:SNMP/NMS 適合確認設備健康、介面錯誤與可用性,Akvorado 則補上流量來源、目的、Top Talkers 與容量趨勢分析。
可依《Akvorado 流量分析教學》 先確認 exporter 持續送出 flow、Inlet 有封包計數、Outlet 正常寫入 ClickHouse,並檢查 sampling 與 SNMP enrichment 是否穩定。