阿里雲Filebeat支援採集Container ServiceKubernetes版ACK(Container Service for Kubernetes)日誌,並將採集的日誌輸出到Elasticsearch中,進行分析展示。本文介紹如何配置ACK服務日誌採集,以及如何查看ACK叢集中的採集器資源。
前提條件
建立Elasticsearch執行個體。
具體操作,請參見建立Elasticsearch執行個體。
自訂自動建立索引。
為避免索引滾動別名與索引名衝突,建議僅開啟filebeat-*索引名,可配置為+.*,+filebeat-*,-*。具體操作,請參見配置YML參數。
重要在配置索引生命週期管理時,如果開啟了索引變換,為避免變換後的別名與索引名衝突,需要確保關閉自動建立索引;如果未開啟索引變換,則需要開啟自動建立索引。本文建議您設定自訂自動建立索引。
RAM使用者進行相關操作時,需要為該使用者授予Beats操作許可權和ACK操作許可權。
建立ACK叢集,並運行Pod服務。本文以Nginx容器為例。
具體操作,請參見建立ACK託管叢集。
注意事項
阿里雲Filebeat僅支援Docker運行環境,不支援其他運行環境,例如Containerd、安全沙箱等。如果使用的是非Docker環境,會導致在建立Filebeat後,採集器一直處於生效中狀態。
阿里雲Filebeat僅支援安裝在專有版ACK和託管版ACK上,不支援安裝在其他版本上。
重要僅1.18和1.20版本的Kubernetes支援遠程構建。
操作步驟
- 登入Elasticsearch控制台。
- 進入Beats資料擷取中心。
- 在頂部功能表列處,選擇地區。
- 在左側導覽列,單擊Beats資料擷取中心。
- 可選:首次進入Beats資料擷取中心頁面,需要在服務授權對話方塊中查看提示資訊,無誤後單擊確認,授權系統建立服務關聯角色。說明 Beats採集不同資料來源中的資料時,依賴於服務關聯角色以及角色規則。使用過程中請勿刪除服務關聯角色,否則會影響Beats使用。詳細資料,請參見阿里雲ES服務關聯角色。
在建立採集器地區,將滑鼠移至Filebeat上,單擊ACK日誌。
在選擇目標ES叢集設定精靈中,配置採集器資訊。

參數
說明
採集器名稱
自訂輸入採集器的名稱。長度為1~30個字元,以大小寫字母開頭,可以包含字母、數字、底線(_)或連字號(-)。
安裝版本
目前Filebeat只支援6.8.13版本。
採集器Output
Filebeat採集內容的輸出地址。直接關聯已經建立的Elasticsearch執行個體。訪問協議需要與所選Elasticsearch執行個體保持一致。
重要不支援選擇8.x版本的Elasticsearch執行個體。
使用者名稱密碼
訪問Elasticsearch執行個體的使用者名稱和密碼。使用者名稱預設為elastic,密碼在建立執行個體時設定,如果忘記可重設。重設密碼的注意事項和操作步驟,請參見重設執行個體訪問密碼。
啟用Monitoring
用來監控Filebeat的相關指標。採集器Output選擇Elasticsearch,Monitor預設使用和採集器Output相同的Elasticsearch執行個體。
啟用Kibana Dashboard
用來配置預設的Kibana Dashboard。由於阿里雲Kibana配置在專用網路內,因此需要在Kibana配置頁面開通Kibana私網訪問功能。具體操作,請參見配置Kibana公網或私網訪問白名單。
單擊下一步,在設定採集目標設定精靈中,配置採集目標資訊。
在ACK目的地組群中,選擇需要進行資料擷取的目的地組群。
重要請選擇與Elasticsearch執行個體在同一專用網路、Running狀態和非邊緣託管版(什麼是)的ACK叢集。
根據提示,單擊安裝,安裝採集依賴的ES-operator。
沒有安裝按鈕,表示已經安裝。安裝後,安裝按鈕消失,代表安裝成功。
單擊+建立採集目標,配置採集目標資訊(支援多個)。

參數
說明
採集目標名稱
建立多個採集目標時,名稱不可重複。
命名空間
選擇採集Pod所在的命名空間。如果建立Pod時,未指定命名空間,則預設是default。
Pod Label
添加Pod標籤。添加多個標籤時,多個標籤之間為邏輯與關係。
重要刪除Pod標籤時,需要至少存在兩個標籤。
只能定義為Pod對應的Label,不能指定為其他Label,否則會建立失敗(例如不能指定為Deployment Label)。
容器名稱
指定完整的容器名稱。不填時,Filebeat會採集命名空間下符合Pod標籤的所有容器。
說明擷取Pod相關資訊(命名空間、標籤、名稱)的具體操作,請參見管理容器組(Pod)。
單擊下一步,在日誌採集配置設定精靈中,單擊+添加日誌採集配置,配置日誌採集資訊(支援多個)。

參數
說明
日誌名稱
每個採集目標支援定義多個採集配置,每個採集配置對應一個日誌名稱,不可重複。日誌名稱可作為索引名的一部分,用於後續輸出使用。
採集器配置
使用Docker容器日誌採集通用模板。採集配置整合Autodiscover事件變數,支援Docker input,具體說明如下:
type:輸入類型。採集容器日誌時為docker,不同的資料擷取支援不同的類型。詳細資料,請參見Configure inputs。
combine_partial:合并多行日誌。詳細資料,請參見Docker input(combine_partial)。
containers.ids:Docker容器日誌的ID列表。詳細資料,請參見Docker input(containers.ids)。
fileds.k8s_container_name:在採集器的輸出資訊中,添加k8s_container_name欄位,引用變數${data.kubernetes.container.name}。
說明Docker容器配置整合了Filebeat Autodiscover,配置模板可引用Autodiscover事件變數。
fileds.k8s_node_name:在採集器的輸出資訊中,添加k8s_node_name欄位,引用變數${data.kubernetes.node.name}。
fileds.k8s_pod:在採集器的輸出資訊中,添加k8s_pod欄位,引用變數${data.kubernetes.pod.name}。
fileds.k8s_pod_namespace:在採集器的輸出資訊中,添加k8s_pod_namespace欄位,引用變數${data.kubernetes.namespace}。
fields_under_root:設定為true,fileds儲存在輸出文檔的頂級位置。詳細資料,請參見Docker input(fields_under_root)。
說明如果通用模板無法滿足需求,建議您參見FileBeat Docker input修改。
一個採集器配置僅支援一個Docker輸出。如果需要使用多個配置,請單擊添加日誌採集配置。
可選:單擊下一步,在索引儲存管理設定精靈中,根據需求開啟並配置索引儲存管理功能。
開啟索引儲存管理後,單擊+添加索引管理原則,按照以下說明配置策略(支援多個)。

參數
說明
策略名稱稱
定義策略名稱稱,可自訂。
選擇目標日誌
選擇待關聯的目標日誌,至少選擇一個。一個策略可選擇多個目標日誌,每個日誌僅可被一個日誌管理原則選擇。
資源大小限制
索引實際佔用磁碟空間達到資源限制時(包括副本),將刪除過舊資料,以保證不超過該資源大小限制。
生命週期管理
是否開啟索引生命週期管理。生命週期管理可以實現資料節點冷熱分離、到期自動刪除資料等。
重要開啟變換,Filebeat會將資料寫入名稱為<日誌名稱>-<日期>-<序號>的索引下,例如log-web-2021.01.22-000001。
不開啟變換,Filebeat會將資料寫入名稱為filebeat-<日誌名稱>-<日期>的索引下。
單擊啟動。
啟動後,您可在採集器列表中查看對應的採集器。啟動成功後,您還可以完成以下操作。
說明ACK叢集預設在名稱為logging的空間下部署採集器資源,部署完成後,您可以訪問對應ACK叢集查看已部署的採集器資源,例如索引管理容器、索引生命週期變換策略等,詳細資料請參見查看ACK叢集中的採集器資源。
操作
說明
配置預覽
可查看採集器Output、ACK目的地組群及採集任務名稱等資訊,不支援修改這些資訊。
修改詳情配置
可修改採集目標、日誌採集配置和索引儲存管理原則。
更多
可啟動、停止、重啟、刪除採集任務,並支援查看Dashboard和Helm狀態。
查看ACK叢集中的採集器資源
執行以下命令,通過kubectl訪問ACK叢集,並查看logging空間下的採集器資源,詳細資料請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
kubectl get pods -n logging
禁止刪除或操作logging名稱空間下已經部署的資源,否則會影響系統的正常使用。
pod name | 說明 | 樣本 |
執行個體名稱-binding-序號 | 索引管理容器,例如:定時刪除老資料。 | ct-cn-ew8qx563gu4ng4ot6-binding-7e245-1617347400-c**** |
執行個體名稱-policy-序號 | 索引生命週期變換策略。 | ct-cn-ew8qx563gu4ng4ot6-policy-696b7-hot-rollover-1g-16173v**** |
執行個體名稱-序號 | Filebeat容器。 | ct-cn-ew8qx563gu4ng4ot6-q**** |
es-operator-序號 | 建立的ES-operator容器。 | es-operator-cb63cc9a6302e4e90aeb2f79adf358b19-56fcd754db-b**** |