全部產品
Search
文件中心

Elasticsearch:Elastic Agent採集NetFlow日誌資料

更新時間:Jun 30, 2024

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 原則

  1. 登入Kibana控制台。具體操作,請參見登入Kibana控制台

  2. 單擊image.png > Management > Fleet

  3. Fleet頁面,單擊Proxy 原則頁簽。

  4. 單擊建立Proxy 原則,在建立Proxy 原則控制台中配置Proxy 原則。

    1. 輸入Proxy 原則名稱netflow-log。

    2. 取消選中收集系統日誌和指標

    3. 單擊進階選項,在代理監測地區,取消選擇中收集代理日誌收集代理指標

      image.png

      說明

      本情境僅採集NetFlow Records日誌,因此取消選中收集系統日誌和指標和代理的自身資料。

  5. 配置完成後,在頁面右下角單擊建立Proxy 原則

步驟二:建立Fleet Server整合

  1. Fleet頁面的Proxy 原則頁簽,單擊建立的Proxy 原則netflow-log

  2. 整合頁簽中,單擊添加整合

  3. 瀏覽整合頁簽,在搜尋方塊中搜尋Fleet Server,並單擊Fleet Server

  4. 安裝Fleet Server整合。

    1. Fleet Server頁面,單擊設定頁簽。

    2. 單擊安裝Fleet Server資產,在彈出的對話方塊中單擊安裝Fleet Server

      說明

      安裝整合後,設定頁簽會顯示整合的版本。

  5. 在頁面右上方,單擊添加Fleet Server

  6. 添加Fleet Server整合頁面,輸入集成名稱,選擇Proxy 原則為netflow-log

  7. 在頁面右下角,單擊儲存並繼續,在彈出的對話方塊中單擊稍後添加Elastic代理

步驟三:建立NetFlow整合

  1. 在Proxy 原則netflow-log整合頁簽中,單擊添加整合

  2. 瀏覽整合頁簽,在搜尋方塊中搜尋NetFlow Records,並單擊NetFlow Records

  3. 安裝NetFlow Records整合。

    1. NetFlow Records頁面,單擊設定頁簽。

    2. 單擊安裝NetFlow Records資產,在彈出的對話方塊中單擊安裝NetFlow Records

      說明

      安裝整合後,設定頁簽會顯示整合的版本。

  4. 在頁面的右上方,單擊添加NetFlow Records

  5. 添加NetFlow Records整合頁面,配置整合。

    1. 整合配置地區,輸入整合名稱netflow-1。

    2. 單擊Collect NetFlow logs後面的更改預設值,輸入UDP監聽地址為0.0.0.0,UDP連接埠保持預設的2055

      image.png

    3. 要將此整合添加到什麼位置地區,在Existing hosts頁簽下,選擇Proxy 原則為netflow-log

  6. 配置完成後,在頁面右下角單擊儲存並繼續,在彈出的對話方塊中單擊稍後添加Elastic代理

添加Agent並啟動NetFlow服務

步驟一:設定Fleet伺服器主機

  1. 登入Kibana控制台。具體操作,請參見登入Kibana控制台

  2. 單擊image.png > Management > Fleet

  3. Fleet頁面,單擊設定頁簽,配置Fleet。

    1. Fleet伺服器主機地區,單擊編輯主機

    2. Fleet伺服器主機控制台中,輸入源端的私網地址,格式為https://<私網IP>:<連接埠>,例如https://172.16.*.***:8220

      說明

      本文私網IP為ECS執行個體的主私網IP。更多配置資訊,請參見Fleet Server hosts

    3. 輸出地區,在操作列單擊image.png

    4. 編輯輸出控制台中,輸入Elasticsearch執行個體的私網地址,格式為http://<私網地址>:<連接埠>,例如http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200

    5. 單擊儲存並應用設定,在彈出的對話方塊中單擊儲存並部署

步驟二:添加Elastic Agent

為Fleet Server添加一個Elastic Agent。

說明

如果您需要採集多個伺服器的NetFlow流量資訊,可以多次執行以下步驟,在一個Fleet Server中添加多個代理,每個代理採集各自伺服器中的NetFlow資料,NetFlow資料由Fleet Server統一管理。

  1. 單擊image.png > Management > Fleet

  2. 單擊Proxy 原則頁簽。

  3. 在Proxy 原則netflow-log的操作列,選擇image.png > 添加代理

  4. 添加代理控制台,在為Fleet伺服器選擇策略地區,預設選擇Proxy 原則為netflow-log

  5. 為安全選擇部署模式地區,預設選中快速啟動

  6. 添加您的Fleet伺服器主機地區,單擊右側的添加主機

  7. 產生服務令牌地區,單擊產生服務令牌

  8. 將Fleet伺服器安裝到集中式主機地區,複製自動產生的程式碼塊,並將代碼在ECS執行個體中執行。

    image.png

    代碼執行完畢後,如果看到Successfully 字樣,表明ECS伺服器上成功安裝並啟動Elastic Agent。

步驟三:配置NetFlow服務

本文使用softflowd產生Netflow日誌,在ECS執行個體中執行以下代碼啟動softflowd。

  1. 下載softflowd源碼包。

    wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gz
  2. 安裝libpcap-devel環境。

    yum install libpcap-devel
  3. 編譯並安裝softflowd。

    tar -xvf softflowd-0.9.9.tar.gz
    cd softflowd-0.9.9
    ./configure 
    make
    make install
  4. 運行softflowd。

    nohup softflowd -v 9 -D -i eth0 -t maxlife=1 -n localhost:2055 >/dev/null 2>&1 &

查看資料

您可以通過以下三種方法查看NetFlow資料:

  • 方法一:通過Dashboards查看NetFlow資料

    1. 單擊image.png > Management > Fleet

    2. Fleet頁面,單擊資料流頁簽,Netflow相關資料已顯示在資料集列表中。

    3. 在目標資料集的操作列,選擇image.png > 查看儀表板,選擇要查看的資訊。例如選擇[Logs Netflow] Overview

  • 方法二:通過Discovery查看索引資料

    單擊image.png > Analytics > Discover,在Discovery中查看資料。

  • 方法三:通過kibana查詢資料

    1. 單擊image.png > Management > 開發工具

    2. 執行如下命令,查看NetFlow相關資料。

      GET logs-netflow.log-default/_search