采集ACK服務(wù)日志
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
阿里云Filebeat支持采集容器服務(wù)Kubernetes版ACK(Container Service for Kubernetes)日志,并將采集的日志輸出到阿里云Elasticsearch中,進(jìn)行分析展示。本文介紹如何配置ACK服務(wù)日志采集,以及如何查看ACK集群中的采集器資源。
前提條件
創(chuàng)建阿里云Elasticsearch實(shí)例。
具體操作,請(qǐng)參見(jiàn)創(chuàng)建阿里云Elasticsearch實(shí)例。
自定義自動(dòng)創(chuàng)建索引。
為避免索引滾動(dòng)別名與索引名沖突,建議僅開(kāi)啟filebeat-*索引名,可配置為+.*,+filebeat-*,-*。具體操作,請(qǐng)參見(jiàn)配置YML參數(shù)。
重要在配置索引生命周期管理時(shí),如果開(kāi)啟了索引滾動(dòng)更新,為避免滾動(dòng)更新后的別名與索引名沖突,需要確保關(guān)閉自動(dòng)創(chuàng)建索引;如果未開(kāi)啟索引滾動(dòng)更新,則需要開(kāi)啟自動(dòng)創(chuàng)建索引。本文建議您設(shè)置自定義自動(dòng)創(chuàng)建索引。
RAM用戶(hù)進(jìn)行相關(guān)操作時(shí),需要為該用戶(hù)授予Beats操作權(quán)限和ACK操作權(quán)限。
詳細(xì)信息,請(qǐng)參見(jiàn)創(chuàng)建自定義權(quán)限策略和為RAM用戶(hù)授權(quán)。
創(chuàng)建ACK集群,并運(yùn)行Pod服務(wù)。本文以Nginx容器為例。
具體操作,請(qǐng)參見(jiàn)創(chuàng)建Kubernetes托管版集群。
注意事項(xiàng)
阿里云Filebeat僅支持Docker運(yùn)行環(huán)境,不支持其他運(yùn)行環(huán)境,例如Containerd、安全沙箱等。如果使用的是非Docker環(huán)境,會(huì)導(dǎo)致在創(chuàng)建Filebeat后,采集器一直處于生效中狀態(tài)。
阿里云Filebeat僅支持安裝在專(zhuān)有版ACK和托管版ACK上,不支持安裝在其他版本上。
重要僅1.18和1.20版本的Kubernetes支持遠(yuǎn)程構(gòu)建。
操作步驟
- 登錄阿里云Elasticsearch控制臺(tái)。
- 進(jìn)入Beats數(shù)據(jù)采集中心。
- 在頂部菜單欄處,選擇地域。
- 在左側(cè)導(dǎo)航欄,單擊Beats數(shù)據(jù)采集中心。
- 可選:首次進(jìn)入Beats數(shù)據(jù)采集中心頁(yè)面,需要在服務(wù)授權(quán)對(duì)話(huà)框中查看提示信息,無(wú)誤后單擊確認(rèn),授權(quán)系統(tǒng)創(chuàng)建服務(wù)關(guān)聯(lián)角色。說(shuō)明 Beats采集不同數(shù)據(jù)源中的數(shù)據(jù)時(shí),依賴(lài)于服務(wù)關(guān)聯(lián)角色以及角色規(guī)則。使用過(guò)程中請(qǐng)勿刪除服務(wù)關(guān)聯(lián)角色,否則會(huì)影響B(tài)eats使用。詳細(xì)信息,請(qǐng)參見(jiàn)Elasticsearch服務(wù)關(guān)聯(lián)角色。
在創(chuàng)建采集器區(qū)域,將鼠標(biāo)移至Filebeat上,單擊ACK日志。
在選擇目標(biāo)ES集群配置向?qū)е校渲貌杉餍畔ⅰ?/span>
參數(shù)
說(shuō)明
采集器名稱(chēng)
自定義輸入采集器的名稱(chēng)。長(zhǎng)度為1~30個(gè)字符,以大小寫(xiě)字母開(kāi)頭,可以包含字母、數(shù)字、下劃線(xiàn)(_)或連字符(-)。
安裝版本
目前Filebeat只支持6.8.13版本。
采集器Output
Filebeat采集內(nèi)容的輸出地址。直接關(guān)聯(lián)已經(jīng)創(chuàng)建的阿里云Elasticsearch實(shí)例。訪(fǎng)問(wèn)協(xié)議需要與所選Elasticsearch實(shí)例保持一致。
重要不支持選擇8.x版本的Elasticsearch實(shí)例。
用戶(hù)名密碼
訪(fǎng)問(wèn)阿里云Elasticsearch實(shí)例的用戶(hù)名和密碼。用戶(hù)名默認(rèn)為elastic,密碼在創(chuàng)建實(shí)例時(shí)設(shè)定,如果忘記可重置。重置密碼的注意事項(xiàng)和操作步驟,請(qǐng)參見(jiàn)重置實(shí)例訪(fǎng)問(wèn)密碼。
啟用Monitoring
用來(lái)監(jiān)控Filebeat的相關(guān)指標(biāo)。采集器Output選擇Elasticsearch,Monitor默認(rèn)使用和采集器Output相同的阿里云Elasticsearch實(shí)例。
啟用Kibana Dashboard
用來(lái)配置默認(rèn)的Kibana Dashboard。由于阿里云Kibana配置在專(zhuān)有網(wǎng)絡(luò)內(nèi),因此需要在Kibana配置頁(yè)面開(kāi)通Kibana私網(wǎng)訪(fǎng)問(wèn)功能。具體操作,請(qǐng)參見(jiàn)配置Kibana公網(wǎng)或私網(wǎng)訪(fǎng)問(wèn)白名單。
單擊下一步,在設(shè)置采集目標(biāo)配置向?qū)е?,配置采集目?biāo)信息。
在ACK目標(biāo)集群中,選擇需要進(jìn)行數(shù)據(jù)采集的目標(biāo)集群。
重要請(qǐng)選擇與Elasticsearch實(shí)例在同一專(zhuān)有網(wǎng)絡(luò)、Running狀態(tài)和非邊緣托管版(什么是容器服務(wù) Edge 版)的ACK集群。
根據(jù)提示,單擊安裝,安裝采集依賴(lài)的ES-operator。
沒(méi)有安裝按鈕,表示已經(jīng)安裝。安裝后,安裝按鈕消失,代表安裝成功。
單擊+創(chuàng)建采集目標(biāo),配置采集目標(biāo)信息(支持多個(gè))。
參數(shù)
說(shuō)明
采集目標(biāo)名稱(chēng)
創(chuàng)建多個(gè)采集目標(biāo)時(shí),名稱(chēng)不可重復(fù)。
命名空間
選擇采集Pod所在的命名空間。如果創(chuàng)建Pod時(shí),未指定命名空間,則默認(rèn)是default。
Pod Label
添加Pod標(biāo)簽。添加多個(gè)標(biāo)簽時(shí),多個(gè)標(biāo)簽之間為邏輯與關(guān)系。
重要刪除Pod標(biāo)簽時(shí),需要至少存在兩個(gè)標(biāo)簽。
只能定義為Pod對(duì)應(yīng)的Label,不能指定為其他Label,否則會(huì)創(chuàng)建失?。ɡ绮荒苤付镈eployment Label)。
容器名稱(chēng)
指定完整的容器名稱(chēng)。不填時(shí),F(xiàn)ilebeat會(huì)采集命名空間下符合Pod標(biāo)簽的所有容器。
說(shuō)明獲取Pod相關(guān)信息(命名空間、標(biāo)簽、名稱(chēng))的具體操作,請(qǐng)參見(jiàn)管理容器組(Pod)。
單擊下一步,在日志采集配置配置向?qū)е?,單?b data-tag="uicontrol" id="uicontrol-31i-aln-dnh" class="uicontrol">+添加日志采集配置,配置日志采集信息(支持多個(gè))。
參數(shù)
說(shuō)明
日志名稱(chēng)
每個(gè)采集目標(biāo)支持定義多個(gè)采集配置,每個(gè)采集配置對(duì)應(yīng)一個(gè)日志名稱(chēng),不可重復(fù)。日志名稱(chēng)可作為索引名的一部分,用于后續(xù)輸出使用。
采集器配置
使用Docker容器日志采集通用模板。采集配置集成Autodiscover事件變量,支持Docker input,具體說(shuō)明如下:
type:輸入類(lèi)型。采集容器日志時(shí)為docker,不同的數(shù)據(jù)采集支持不同的類(lèi)型。詳細(xì)信息,請(qǐng)參見(jiàn)Configure inputs。
combine_partial:合并多行日志。詳細(xì)信息,請(qǐng)參見(jiàn)Docker input(combine_partial)。
containers.ids:Docker容器日志的ID列表。詳細(xì)信息,請(qǐng)參見(jiàn)Docker input(containers.ids)。
fileds.k8s_container_name:在采集器的輸出信息中,添加k8s_container_name字段,引用變量${data.kubernetes.container.name}。
說(shuō)明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:設(shè)置為true,fileds存儲(chǔ)在輸出文檔的頂級(jí)位置。詳細(xì)信息,請(qǐng)參見(jiàn)Docker input(fields_under_root)。
說(shuō)明如果通用模板無(wú)法滿(mǎn)足需求,建議您參見(jiàn)FileBeat Docker input修改。
一個(gè)采集器配置僅支持一個(gè)Docker輸出。如果需要使用多個(gè)配置,請(qǐng)單擊添加日志采集配置。
可選:單擊下一步,在索引存儲(chǔ)管理配置向?qū)е?,根?jù)需求開(kāi)啟并配置索引存儲(chǔ)管理功能。
開(kāi)啟索引存儲(chǔ)管理后,單擊+添加索引管理策略,按照以下說(shuō)明配置策略(支持多個(gè))。
參數(shù)
說(shuō)明
策略名稱(chēng)
定義策略名稱(chēng),可自定義。
選擇目標(biāo)日志
選擇待關(guān)聯(lián)的目標(biāo)日志,至少選擇一個(gè)。一個(gè)策略可選擇多個(gè)目標(biāo)日志,每個(gè)日志僅可被一個(gè)日志管理策略選擇。
資源大小限制
索引實(shí)際占用磁盤(pán)空間達(dá)到資源限制時(shí)(包括副本),將刪除過(guò)舊數(shù)據(jù),以保證不超過(guò)該資源大小限制。
生命周期管理
是否開(kāi)啟索引生命周期管理。生命周期管理可以實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)冷熱分離、過(guò)期自動(dòng)刪除數(shù)據(jù)等。
重要開(kāi)啟滾動(dòng)更新,F(xiàn)ilebeat會(huì)將數(shù)據(jù)寫(xiě)入名稱(chēng)為<日志名稱(chēng)>-<日期>-<序號(hào)>的索引下,例如log-web-2021.01.22-000001。
不開(kāi)啟滾動(dòng)更新,F(xiàn)ilebeat會(huì)將數(shù)據(jù)寫(xiě)入名稱(chēng)為filebeat-<日志名稱(chēng)>-<日期>的索引下。
單擊啟動(dòng)。
啟動(dòng)后,您可在采集器列表中查看對(duì)應(yīng)的采集器。啟動(dòng)成功后,您還可以完成以下操作。
說(shuō)明ACK集群默認(rèn)在名稱(chēng)為logging的空間下部署采集器資源,部署完成后,您可以訪(fǎng)問(wèn)對(duì)應(yīng)ACK集群查看已部署的采集器資源,例如索引管理容器、索引生命周期滾動(dòng)更新策略等,詳細(xì)信息請(qǐng)參見(jiàn)查看ACK集群中的采集器資源。
操作
說(shuō)明
配置預(yù)覽
可查看采集器Output、ACK目標(biāo)集群及采集任務(wù)名稱(chēng)等信息,不支持修改這些信息。
修改詳情配置
可修改采集目標(biāo)、日志采集配置和索引存儲(chǔ)管理策略。
更多
可啟動(dòng)、停止、重啟、刪除采集任務(wù),并支持查看Dashboard和Helm狀態(tài)。
查看ACK集群中的采集器資源
執(zhí)行以下命令,通過(guò)kubectl訪(fǎng)問(wèn)ACK集群,并查看logging空間下的采集器資源,詳細(xì)信息請(qǐng)參見(jiàn)獲取集群KubeConfig并通過(guò)kubectl工具連接集群。
kubectl get pods -n logging
禁止刪除或操作logging名稱(chēng)空間下已經(jīng)部署的資源,否則會(huì)影響系統(tǒng)的正常使用。
pod name | 說(shuō)明 | 示例 |
實(shí)例名稱(chēng)-binding-序列號(hào) | 索引管理容器,例如:定時(shí)刪除老數(shù)據(jù)。 | ct-cn-ew8qx563gu4ng4ot6-binding-7e245-1617347400-c**** |
實(shí)例名稱(chēng)-policy-序列號(hào) | 索引生命周期滾動(dòng)更新策略。 | ct-cn-ew8qx563gu4ng4ot6-policy-696b7-hot-rollover-1g-16173v**** |
實(shí)例名稱(chēng)-序列號(hào) | Filebeat容器。 | ct-cn-ew8qx563gu4ng4ot6-q**** |
es-operator-序列號(hào) | 創(chuàng)建的ES-operator容器。 | es-operator-cb63cc9a6302e4e90aeb2f79adf358b19-56fcd754db-b**** |