全部產品
Search
文件中心

Elasticsearch:Elastic Agent採集自訂日誌資料

更新時間:Jun 30, 2024

Fleet是Elasticsearch中的一個功能強大的集中式管理解決方案,提供了一種簡單的方法來管理Elasticsearch中的多個節點和服務。Fleet主要分為Fleet Server和Fleet Agent兩部分,Fleet Agent是一個輕量級的資料擷取代理,負責在源端收集資料。Fleet Server是Fleet的中心節點,負責管理和監控所有Fleet Agent,並將資料轉送到Elasticsearch。

名詞解釋

名詞

說明

Fleet

Elasticsearch中的一個功能強大的集中式管理解決方案,集中管理Agent服務。

Fleet Agent

輕量級資料擷取代理,負責採集源端資料。

Fleet Agent可以在多個作業系統上運行,並且可以收集多種類型的資料。

Fleet Server

負責將Agent採集的源端資料轉送到Elasticsearch。

準備環境

  • 建立Elasticsearch執行個體,具體操作請參見建立Elasticsearch執行個體。本文以Elasticsearch 8.5版本為例。

    說明

    Elasticsearch執行個體僅支援7.16和8.5版本。

  • 建立ECS執行個體,且該ECS執行個體與Elasticsearch執行個體處於同一專用網路下。具體操作請參見自訂購買執行個體

    說明

    ECS執行個體作為源端伺服器,Elastic Agent會採集ECS執行個體上的資料。

建立Proxy 原則並添加整合

步驟一:建立Proxy 原則

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

  2. 單擊Management > Fleet

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

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

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

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

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

      image.png

      說明

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

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

步驟二:建立Fleet Server整合

  1. Fleet頁面的Proxy 原則頁簽,單擊新建立的Proxy 原則custom-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 原則為custom-log

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

步驟三:建立Custom Logs整合

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

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

  3. 安裝Custom Logs整合。

    1. Custom Logs頁面,單擊設定頁簽。

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

      說明

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

  4. 在頁面的右上方,單擊添加Custom Logs

  5. 添加Custom Logs整合頁面,配置整合。

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

    2. Custom log file地區,輸入被採集日誌在ECS中的路徑(Log file path),例如/var/log/a2.log

    3. 單擊進階選項,自訂資料集名稱(Dataset name)。

      說明
      • 資料集名稱將決定資料在Elasticsearch中的索引名稱。定義新的資料集名稱,資料將被發送到新索引,可以提高處理資料的靈活性和可管理性。

      • 資料集名稱需要符合ES索引名稱要求,即只能包含英文、底線和數字。

      image.png

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

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

添加Agent

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

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

  2. 單擊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。

說明

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

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

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

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

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

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

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

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

    image.png

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

查看資料

本文以ECS日誌路徑為/var/log/a2.log,資料集名稱為generic為例,介紹如何查看日誌資料。

說明

需要確保指定的ECS日誌路徑中有資料。

  1. 通過索引管理查看資料流名稱。

    1. 單擊Management > Stack Management

    2. 在左側功能表列,單擊資料 > 索引管理

    3. 索引管理頁面,單擊資料流頁簽,找到帶有資料集名稱generic,例如logs-generic-default

  2. 通過Kibana控制台查看資料流對應的索引名稱。

    1. 單擊Management > 開發工具

    2. 執行如下命令,擷取資料流對應的索引名稱。

      GET _data_Stream/logs-generic-default

      index_name的值即資料流對應的索引名稱。

  3. 執行如下命令,查看索引中的日誌資料。

    GET <index_name>/_search
    {
      "query":{
        "match":{
          "log.file.path":"/var/log/a2.log"
        }
      }
    }