本文是一份全面的指南,解釋了如何使用nProbe Cento構(gòu)建一個高效的100 Gbit NetFlow傳感器。旨在幫助大家充分利用NetFlow技術(shù),以監(jiān)控和分析高速網(wǎng)絡(luò)流量。
簡介:
文章詳細介紹了使用 nProbe Cento 構(gòu)建 100 Gbit NetFlow 傳感器的過程,包括硬件選擇、軟件配置和性能優(yōu)化。它詳細解釋了選擇合適的網(wǎng)絡(luò)適配器、CPU、內(nèi)存和存儲的重要性,并提供了關(guān)于如何配置 nProbe Cento 以最大化網(wǎng)絡(luò)監(jiān)控和分析效率的實用指南。
當需要監(jiān)控分布式網(wǎng)絡(luò),了解流經(jīng)上行鏈路或關(guān)鍵網(wǎng)段的網(wǎng)絡(luò)流量時,NetFlow等技術(shù)通常是最佳選擇。
nProbe Pro/Enterprise和nProbe Cento是軟件探針,可用于構(gòu)建多功能傳感器,以多種不同格式輸出流量信息,包括NetFlow v5/v9/IPFIX、Kafka、Elasticsearch、ClickHouse、MySQL、CSV文件等。nProbe Pro/Enterprise專為低/中速率(1/10 Gbps)而設(shè)計,而 nProbe Cento則專為高速運行而設(shè)計(如今我們認為 100 Gbit 已是高速鏈路)。
通過將nProbe Cento與 ntopng相結(jié)合,可以為100 Gbit分布式網(wǎng)絡(luò)構(gòu)建一個完全成熟的網(wǎng)絡(luò)監(jiān)控解決方案,提供全面的可視性。
想要高速使用nProbe Cento的用戶經(jīng)常向我們提出的一個問題是:"我需要什么樣的硬件才能處理100 Gbps的全速率?我們希望通過這篇文章提供一些硬件選擇指南。
一、網(wǎng)絡(luò)適配器
在高速運行n2disk時,必須使用像Napatech或Silicom/Fiberblaze這樣能在分段模式下運行的FPGA適配器才能獲得最佳轉(zhuǎn)儲性能,而nProbe Cento則不需要昂貴的適配器。
100 Gbit探頭可以使用低于1千美元的ASIC適配器。這里必須支持的是對稱RSS。RSS用于通過多個數(shù)據(jù)流將流量負載分散到多個CPU內(nèi)核上,將物理接口分割成多個邏輯接口,根據(jù)數(shù)據(jù)包頭計算的哈希函數(shù)分配流量。使用RSS進行擴展,并結(jié)合PF_RING ZC(零拷貝)驅(qū)動程序提供最大捕獲性能,可確保在處理流量時在100 Gbit全速下不丟失數(shù)據(jù)包。
因此,建議在100 Gbit時與nProbe Cento結(jié)合使用的適配器包括
- NVIDIA/Mellanox ConnectX 5/6
- Intel E810
二、CPU
各種CPU有不同的頻率、內(nèi)核數(shù)量、緩存大小、緩存級別、指令集等。不過,根據(jù)我們的經(jīng)驗來講,現(xiàn)代CPU(例如Xeon Gold 6346 3 Ghz或AMD EPYC 9124)的每個CPU內(nèi)核通常能夠處理超過10 Mpps(每秒百萬數(shù)據(jù)包)。考慮到互聯(lián)網(wǎng)數(shù)據(jù)包的平均大小,10 Gbit鏈路通常有13 Mpps。最壞的情況下,10 Gbit鏈路的數(shù)據(jù)包速度也可達14.88 Mpps。
這意味著,在最壞的情況下,要處理100 Gbps的速度,我們需要一個至少有16個內(nèi)核、主頻為3 Ghz的CPU。對于頻率較高且高速緩存較大的CPU來說,較少的內(nèi)核也足夠了。
例如,如果我們要構(gòu)建基于英特爾的系統(tǒng),我們可以使用Xeon Gold 6326或6346或更高版本。如果要構(gòu)建基于AMD的系統(tǒng),我們可以使用AMD EPYC 9124或更高版本。
三、內(nèi)存
實現(xiàn)最佳性能的內(nèi)存配置主要取決于CPU本身:
- 模塊數(shù)量:應(yīng)與CPU支持的內(nèi)存通道數(shù)量相匹配(請查看CPU的規(guī)格說明)
- Intel Xeon Gold目前支持8個內(nèi)存通道
- AMD EPYC的大多數(shù)型號支持12個內(nèi)存通道
- 速度:選擇CPU支持的較高速度(請查看CPU規(guī)格說明)
- 容量:考慮到每個模塊的最小容量(816GB),通常選擇較小的可用容量即可(8x 8GB = 64GB)。
四、存儲
許多朋友擔心存儲問題,但是其實在運行nProbe Cento時,存儲空間其實并不重要,因為當使用NetFlow、ZMQ、Kafka或CSV以外的其他導出格式(實際上是寫入本地磁盤)將數(shù)據(jù)導出到外部收集器時,并不會占用磁盤空間。這意味著一個小型磁盤,或一個RAID1雙磁盤陣列(如果需要對系統(tǒng)磁盤進行數(shù)據(jù)恢復(fù))就已足夠。
五、軟件配置
nProbe Cento的配置非常簡單。向命令行(或配置文件)提供的實際選項可能會因工作模式和導出格式的不同而有所變化,但在捕獲方面卻非常簡單。大家需要注意兩個主要選項:接口配置(i)和CPU親和性(processingcores)。
1、如果使用的是英特爾適配器,并且配置了帶RSS的ZC驅(qū)動程序,那么只需指定RSS接口即可,如下所示(plain text):
cento -i zc:eth1@0 -i zc:eth1@1 -i zc:eth1@2 -i zc:eth1@3 ...
2、我們還可以使用快捷方式來實現(xiàn)這一功能,尤其是在運行16個以上RSS流時非常方便(plain text):
cento -i zc:eth1@[0-15]
3、如果你使用的瑟吉歐NVIDIA/Mellanox適配器,則可以使用類似的語法(plain text):
cento -i mlx:mlx5_0@[0-15]
此時,我們只需添加CPU親和配置,以確保nProbe Cento通過為每個內(nèi)核綁定一個線程來使用所有可用內(nèi)核(提供最大的可擴展性和整體性能)。
cento -i mlx:mlx5_0@[0-15] --processing-cores 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
現(xiàn)在,你只需添加控制導出格式的選項。
了解虹科 Redis 企業(yè)版更多信息,歡迎前往【艾體寶】官方網(wǎng)站 :https://haocst.com/
聯(lián)系虹科工程師:TEL:15528663362