NetFlow是一種網路流量分析技術,可以用於監測、分析和診斷網路流量,可以協助管理員實現對網路流量的即時監控和分析,並提高網路效能和安全性。本文通過Kibana中的Fleet Server管理Elastic Agent採集的NetFlow資料,並將NetFlow資料輸出到Kibana中進行資料分析。
名詞解釋
名詞 | 說明 |
Fleet | Elasticsearch中的一個功能強大的集中式管理解決方案,集中管理Agent服務。 |
Fleet Agent | 輕量級資料擷取代理,負責採集源端資料。 Fleet Agent可以在多個作業系統上運行,並且可以收集多種類型的資料。 |
Fleet Server | 負責將Agent採集的源端資料轉送到Elasticsearch。 |
準備環境
建立Elasticsearch執行個體,具體操作請參見建立Elasticsearch執行個體。本文以Elasticsearch 8.5版本為例。
建立ECS執行個體,且該ECS執行個體與Elasticsearch執行個體處於同一專用網路下。具體操作請參見自訂購買執行個體。
說明ECS執行個體作為源端伺服器,Elastic Agent會採集ECS執行個體上的NetFlow資料。
建立Proxy 原則並添加整合
步驟一:建立Proxy 原則
登入Kibana控制台。具體操作,請參見登入Kibana控制台。
單擊
。在Fleet頁面,單擊Proxy 原則頁簽。
單擊建立Proxy 原則,在建立Proxy 原則控制台中配置Proxy 原則。
輸入Proxy 原則名稱netflow-log。
取消選中收集系統日誌和指標。
單擊進階選項,在代理監測地區,取消選擇中收集代理日誌和收集代理指標。
說明本情境僅採集NetFlow Records日誌,因此取消選中收集系統日誌和指標和代理的自身資料。
配置完成後,在頁面右下角單擊建立Proxy 原則。
步驟二:建立Fleet Server整合
在Fleet頁面的Proxy 原則頁簽,單擊建立的Proxy 原則netflow-log。
在整合頁簽中,單擊添加整合。
在瀏覽整合頁簽,在搜尋方塊中搜尋Fleet Server,並單擊Fleet Server。
安裝Fleet Server整合。
在Fleet Server頁面,單擊設定頁簽。
單擊安裝Fleet Server資產,在彈出的對話方塊中單擊安裝Fleet Server。
說明安裝整合後,設定頁簽會顯示整合的版本。
在頁面右上方,單擊添加Fleet Server。
在添加Fleet Server整合頁面,輸入集成名稱,選擇Proxy 原則為
netflow-log
。在頁面右下角,單擊儲存並繼續,在彈出的對話方塊中單擊稍後添加Elastic代理。
步驟三:建立NetFlow整合
在Proxy 原則netflow-log的整合頁簽中,單擊添加整合。
在瀏覽整合頁簽,在搜尋方塊中搜尋NetFlow Records,並單擊NetFlow Records。
安裝NetFlow Records整合。
在NetFlow Records頁面,單擊設定頁簽。
單擊安裝NetFlow Records資產,在彈出的對話方塊中單擊安裝NetFlow Records。
說明安裝整合後,設定頁簽會顯示整合的版本。
在頁面的右上方,單擊添加NetFlow Records。
在添加NetFlow Records整合頁面,配置整合。
在整合配置地區,輸入整合名稱netflow-1。
單擊Collect NetFlow logs後面的更改預設值,輸入UDP監聽地址為
0.0.0.0
,UDP連接埠保持預設的2055。在要將此整合添加到什麼位置地區,在Existing hosts頁簽下,選擇Proxy 原則為
netflow-log
。
配置完成後,在頁面右下角單擊儲存並繼續,在彈出的對話方塊中單擊稍後添加Elastic代理。
添加Agent並啟動NetFlow服務
步驟一:設定Fleet伺服器主機
登入Kibana控制台。具體操作,請參見登入Kibana控制台。
單擊
。在Fleet頁面,單擊設定頁簽,配置Fleet。
在Fleet伺服器主機地區,單擊編輯主機。
在Fleet伺服器主機控制台中,輸入源端的私網地址,格式為
https://<私網IP>:<連接埠>
,例如https://172.16.*.***:8220
。說明本文私網IP為ECS執行個體的主私網IP。更多配置資訊,請參見Fleet Server hosts。
在輸出地區,在操作列單擊。
在編輯輸出控制台中,輸入Elasticsearch執行個體的私網地址,格式為
http://<私網地址>:<連接埠>
,例如http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200
。單擊儲存並應用設定,在彈出的對話方塊中單擊儲存並部署。
步驟二:添加Elastic Agent
為Fleet Server添加一個Elastic Agent。
如果您需要採集多個伺服器的NetFlow流量資訊,可以多次執行以下步驟,在一個Fleet Server中添加多個代理,每個代理採集各自伺服器中的NetFlow資料,NetFlow資料由Fleet Server統一管理。
單擊
。單擊Proxy 原則頁簽。
在Proxy 原則netflow-log的操作列,選擇
。在添加代理控制台,在為Fleet伺服器選擇策略地區,預設選擇Proxy 原則為
netflow-log
。在為安全選擇部署模式地區,預設選中快速啟動。
在添加您的Fleet伺服器主機地區,單擊右側的添加主機。
在產生服務令牌地區,單擊產生服務令牌。
在將Fleet伺服器安裝到集中式主機地區,複製自動產生的程式碼塊,並將代碼在ECS執行個體中執行。
代碼執行完畢後,如果看到
Successfully
字樣,表明ECS伺服器上成功安裝並啟動Elastic Agent。
步驟三:配置NetFlow服務
本文使用softflowd產生Netflow日誌,在ECS執行個體中執行以下代碼啟動softflowd。
下載softflowd源碼包。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gz
安裝libpcap-devel環境。
yum install libpcap-devel
編譯並安裝softflowd。
tar -xvf softflowd-0.9.9.tar.gz cd softflowd-0.9.9 ./configure make make install
運行softflowd。
nohup softflowd -v 9 -D -i eth0 -t maxlife=1 -n localhost:2055 >/dev/null 2>&1 &
查看資料
您可以通過以下三種方法查看NetFlow資料:
方法一:通過Dashboards查看NetFlow資料
單擊
。在Fleet頁面,單擊資料流頁簽,Netflow相關資料已顯示在資料集列表中。
在目標資料集的操作列,選擇
,選擇要查看的資訊。例如選擇[Logs Netflow] Overview
。
方法二:通過Discovery查看索引資料
單擊
,在Discovery中查看資料。方法三:通過kibana查詢資料
單擊
。執行如下命令,查看NetFlow相關資料。
GET logs-netflow.log-default/_search