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實例上的數據。
創建代理策略并添加集成
步驟一:創建代理策略
登錄Kibana控制臺。具體操作,請參見登錄Kibana控制臺。
單擊
。在Fleet頁面,單擊代理策略頁簽。
單擊創建代理策略,在創建代理策略控制面板中配置代理策略。
輸入代理策略名稱custom-log。
取消選中收集系統日志和指標。
單擊高級選項,在代理監測區域,取消選擇中收集代理日志和收集代理指標。
說明本場景僅采集Custom Logs日志,因此取消選中收集系統日志和指標和代理的自身數據。
配置完成后,在頁面右下角單擊創建代理策略。
步驟二:創建Fleet Server集成
在Fleet頁面的代理策略頁簽,單擊新創建的代理策略custom-log。
在集成頁簽中,單擊添加集成。
在瀏覽集成頁簽,在搜索框中搜索Fleet Server,并單擊Fleet Server。
安裝Fleet Server集成。
在Fleet Server頁面,單擊設置頁簽。
單擊安裝Fleet Server資產,在彈出的對話框中單擊安裝Fleet Server。
說明安裝集成后,設置頁簽會顯示集成的版本。
在頁面右上角,單擊添加Fleet Server。
在添加Fleet Server集成頁面,輸入集成名稱,選擇代理策略為
custom-log
。在頁面右下角,單擊保存并繼續,在彈出的對話框中單擊稍后添加Elastic代理。
步驟三:創建Custom Logs集成
在代理策略custom-log的集成頁簽中,單擊添加集成。
在瀏覽集成頁簽,在搜索框中搜索Custom Logs,并單擊Custom Logs。
安裝Custom Logs集成。
在Custom Logs頁面,單擊設置頁簽。
單擊安裝Custom Logs資產,在彈出的對話框中單擊安裝Custom Logs。
說明安裝集成后,設置頁簽會顯示集成的版本。
在頁面的右上角,單擊添加Custom Logs。
在添加Custom Logs集成頁面,配置集成。
在集成配置區域,輸入集成名稱。
在Custom log file區域,輸入被采集日志在ECS中的路徑(Log file path),例如
/var/log/a2.log
。單擊高級選項,自定義數據集名稱(Dataset name)。
說明數據集名稱將決定數據在Elasticsearch中的索引名稱。定義新的數據集名稱,數據將被發送到新索引,可以提高處理數據的靈活性和可管理性。
數據集名稱需要符合ES索引名稱要求,即只能包含英文、下劃線和數字。
在要將此集成添加到什么位置區域,在Existing hosts頁簽下,選擇代理策略為
custom-log
。
配置完成后,在頁面右下角單擊保存并繼續,在彈出的對話框中單擊稍后添加Elastic代理。
添加Agent
步驟一:設置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。
如果您需要采集多個服務器中的數據,可以多次執行以下步驟。在一個Fleet Server中添加多個代理,每個代理采集各自服務器中的數據,數據由Fleet Server統一管理。
在Fleet頁面,單擊代理策略頁簽。
在代理策略custom-log的操作列,選擇
。在添加代理控制面板,在為Fleet服務器選擇策略區域,默認選擇代理策略為
custom-log
。在為安全選擇部署模式區域,默認選中快速啟動。
在添加您的Fleet服務器主機區域,單擊右側的添加主機。
在生成服務令牌區域,單擊生成服務令牌。
在將Fleet服務器安裝到集中式主機區域,復制自動生成的代碼塊,并將代碼在ECS實例中執行。
代碼執行完畢后,如果看到
Successfully
字樣,表明ECS服務器上成功安裝并啟動Elastic Agent。
查看數據
本文以ECS日志路徑為/var/log/a2.log
,數據集名稱為generic
為例,介紹如何查看日志數據。
需要確保指定的ECS日志路徑中有數據。
通過索引管理查看數據流名稱。
單擊
。在左側菜單欄,單擊
。在索引管理頁面,單擊數據流頁簽,找到帶有數據集名稱
generic
,例如logs-generic-default
。
通過Kibana控制臺查看數據流對應的索引名稱。
單擊
。執行如下命令,獲取數據流對應的索引名稱。
GET _data_Stream/logs-generic-default
index_name的值即數據流對應的索引名稱。
執行如下命令,查看索引中的日志數據。
GET <index_name>/_search { "query":{ "match":{ "log.file.path":"/var/log/a2.log" } } }