Elastic Agent采集NetFlow日志數(shù)據(jù)
NetFlow是一種網(wǎng)絡(luò)流量分析技術(shù),可以用于監(jiān)測(cè)、分析和診斷網(wǎng)絡(luò)流量,可以幫助管理員實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的實(shí)時(shí)監(jiān)控和分析,并提高網(wǎng)絡(luò)性能和安全性。本文通過Kibana中的Fleet Server管理Elastic Agent采集的NetFlow數(shù)據(jù),并將NetFlow數(shù)據(jù)輸出到Kibana中進(jìn)行數(shù)據(jù)分析。
名詞解釋
名詞 | 說明 |
Fleet | Elasticsearch中的一個(gè)功能強(qiáng)大的集中式管理解決方案,集中管理Agent服務(wù)。 |
Fleet Agent | 輕量級(jí)數(shù)據(jù)采集代理,負(fù)責(zé)采集源端數(shù)據(jù)。 Fleet Agent可以在多個(gè)操作系統(tǒng)上運(yùn)行,并且可以收集多種類型的數(shù)據(jù)。 |
Fleet Server | 負(fù)責(zé)將Agent采集的源端數(shù)據(jù)傳輸?shù)紼lasticsearch。 |
準(zhǔn)備環(huán)境
創(chuàng)建阿里云Elasticsearch實(shí)例,具體操作請(qǐng)參見創(chuàng)建阿里云Elasticsearch實(shí)例。本文以Elasticsearch 8.5版本為例。
創(chuàng)建ECS實(shí)例,且該ECS實(shí)例與Elasticsearch實(shí)例處于同一專有網(wǎng)絡(luò)下。具體操作請(qǐng)參見自定義購買實(shí)例。
說明ECS實(shí)例作為源端服務(wù)器,Elastic Agent會(huì)采集ECS實(shí)例上的NetFlow數(shù)據(jù)。
創(chuàng)建代理策略并添加集成
步驟一:創(chuàng)建代理策略
登錄Kibana控制臺(tái)。具體操作,請(qǐng)參見登錄Kibana控制臺(tái)。
單擊
。在Fleet頁面,單擊代理策略頁簽。
單擊創(chuàng)建代理策略,在創(chuàng)建代理策略控制面板中配置代理策略。
輸入代理策略名稱netflow-log。
取消選中收集系統(tǒng)日志和指標(biāo)。
單擊高級(jí)選項(xiàng),在代理監(jiān)測(cè)區(qū)域,取消選擇中收集代理日志和收集代理指標(biāo)。
說明本場(chǎng)景僅采集NetFlow Records日志,因此取消選中收集系統(tǒng)日志和指標(biāo)和代理的自身數(shù)據(jù)。
配置完成后,在頁面右下角單擊創(chuàng)建代理策略。
步驟二:創(chuàng)建Fleet Server集成
在Fleet頁面的代理策略頁簽,單擊創(chuàng)建的代理策略netflow-log。
在集成頁簽中,單擊添加集成。
在瀏覽集成頁簽,在搜索框中搜索Fleet Server,并單擊Fleet Server。
安裝Fleet Server集成。
在Fleet Server頁面,單擊設(shè)置頁簽。
單擊安裝Fleet Server資產(chǎn),在彈出的對(duì)話框中單擊安裝Fleet Server。
說明安裝集成后,設(shè)置頁簽會(huì)顯示集成的版本。
在頁面右上角,單擊添加Fleet Server。
在添加Fleet Server集成頁面,輸入集成名稱,選擇代理策略為
netflow-log
。在頁面右下角,單擊保存并繼續(xù),在彈出的對(duì)話框中單擊稍后添加Elastic代理。
步驟三:創(chuàng)建NetFlow集成
在代理策略netflow-log的集成頁簽中,單擊添加集成。
在瀏覽集成頁簽,在搜索框中搜索NetFlow Records,并單擊NetFlow Records。
安裝NetFlow Records集成。
在NetFlow Records頁面,單擊設(shè)置頁簽。
單擊安裝NetFlow Records資產(chǎn),在彈出的對(duì)話框中單擊安裝NetFlow Records。
說明安裝集成后,設(shè)置頁簽會(huì)顯示集成的版本。
在頁面的右上角,單擊添加NetFlow Records。
在添加NetFlow Records集成頁面,配置集成。
在集成配置區(qū)域,輸入集成名稱netflow-1。
單擊Collect NetFlow logs后面的更改默認(rèn)值,輸入U(xiǎn)DP監(jiān)聽地址為
0.0.0.0
,UDP端口保持默認(rèn)的2055。在要將此集成添加到什么位置區(qū)域,在Existing hosts頁簽下,選擇代理策略為
netflow-log
。
配置完成后,在頁面右下角單擊保存并繼續(xù),在彈出的對(duì)話框中單擊稍后添加Elastic代理。
添加Agent并啟動(dòng)NetFlow服務(wù)
步驟一:設(shè)置Fleet服務(wù)器主機(jī)
登錄Kibana控制臺(tái)。具體操作,請(qǐng)參見登錄Kibana控制臺(tái)。
單擊
。在Fleet頁面,單擊設(shè)置頁簽,配置Fleet。
在Fleet服務(wù)器主機(jī)區(qū)域,單擊編輯主機(jī)。
在Fleet服務(wù)器主機(jī)控制面板中,輸入源端的私網(wǎng)地址,格式為
https://<私網(wǎng)IP>:<端口>
,例如https://172.16.*.***:8220
。說明本文私網(wǎng)IP為ECS實(shí)例的主私網(wǎng)IP。更多配置信息,請(qǐng)參見Fleet Server hosts。
在輸出區(qū)域,在操作列單擊。
在編輯輸出控制面板中,輸入Elasticsearch實(shí)例的私網(wǎng)地址,格式為
http://<私網(wǎng)地址>:<端口>
,例如http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200
。單擊保存并應(yīng)用設(shè)置,在彈出的對(duì)話框中單擊保存并部署。
步驟二:添加Elastic Agent
為Fleet Server添加一個(gè)Elastic Agent。
如果您需要采集多個(gè)服務(wù)器的NetFlow流量信息,可以多次執(zhí)行以下步驟,在一個(gè)Fleet Server中添加多個(gè)代理,每個(gè)代理采集各自服務(wù)器中的NetFlow數(shù)據(jù),NetFlow數(shù)據(jù)由Fleet Server統(tǒng)一管理。
單擊
。單擊代理策略頁簽。
在代理策略netflow-log的操作列,選擇
。在添加代理控制面板,在為Fleet服務(wù)器選擇策略區(qū)域,默認(rèn)選擇代理策略為
netflow-log
。在為安全選擇部署模式區(qū)域,默認(rèn)選中快速啟動(dòng)。
在添加您的Fleet服務(wù)器主機(jī)區(qū)域,單擊右側(cè)的添加主機(jī)。
在生成服務(wù)令牌區(qū)域,單擊生成服務(wù)令牌。
在將Fleet服務(wù)器安裝到集中式主機(jī)區(qū)域,復(fù)制自動(dòng)生成的代碼塊,并將代碼在ECS實(shí)例中執(zhí)行。
代碼執(zhí)行完畢后,如果看到
Successfully
字樣,表明ECS服務(wù)器上成功安裝并啟動(dòng)Elastic Agent。
步驟三:配置NetFlow服務(wù)
本文使用softflowd生成Netflow日志,在ECS實(shí)例中執(zhí)行以下代碼啟動(dòng)softflowd。
下載softflowd源碼包。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gz
安裝libpcap-devel環(huán)境。
yum install libpcap-devel
編譯并安裝softflowd。
tar -xvf softflowd-0.9.9.tar.gz cd softflowd-0.9.9 ./configure make make install
運(yùn)行softflowd。
nohup softflowd -v 9 -D -i eth0 -t maxlife=1 -n localhost:2055 >/dev/null 2>&1 &
查看數(shù)據(jù)
您可以通過以下三種方法查看NetFlow數(shù)據(jù):
方法一:通過Dashboards查看NetFlow數(shù)據(jù)
單擊
。在Fleet頁面,單擊數(shù)據(jù)流頁簽,Netflow相關(guān)數(shù)據(jù)已顯示在數(shù)據(jù)集列表中。
在目標(biāo)數(shù)據(jù)集的操作列,選擇
,選擇要查看的信息。例如選擇[Logs Netflow] Overview
。
方法二:通過Discovery查看索引數(shù)據(jù)
單擊
,在Discovery中查看數(shù)據(jù)。方法三:通過kibana查詢數(shù)據(jù)
單擊
。執(zhí)行如下命令,查看NetFlow相關(guān)數(shù)據(jù)。
GET logs-netflow.log-default/_search