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