Logtail从入门到精通(三):机器分组配置
摘要:?基于集團(tuán)內(nèi)數(shù)年來(lái)的Agent運(yùn)維經(jīng)驗(yàn)總結(jié),我們?cè)O(shè)計(jì)了一種靈活性更高、使用更加便捷、耦合度更低的配置&機(jī)器管理方式:自定義標(biāo)識(shí)機(jī)器分組。此種方式對(duì)于動(dòng)態(tài)環(huán)境非常適用,尤其適用于彈性伸縮服務(wù)和swarm、pouch(阿里docker)、Kubernetes等容器環(huán)境。
什么是機(jī)器分組
上一篇中我們對(duì)機(jī)器分組進(jìn)行了簡(jiǎn)單的介紹,從更通俗的角度講:機(jī)器分組就是一批產(chǎn)生相同日志的機(jī)器,一般情況下是一組應(yīng)用,比如Nginx、MongoDB、HDFS等集群。通常一個(gè)機(jī)器分組下會(huì)產(chǎn)生多種日志,會(huì)分別采集到多個(gè)logstore。而同時(shí)一個(gè)機(jī)器也可以扮演多種角色(比如同時(shí)擔(dān)當(dāng)前端和后端的角色,既部署了Nginx也部署了應(yīng)用worker),因此一個(gè)機(jī)器也會(huì)屬于多個(gè)機(jī)器分組中。所以我們有了以下的機(jī)器分組模型:
機(jī)器分組類(lèi)型
目前我們支持了兩種不同的機(jī)器分組,分別是IP標(biāo)識(shí)和自定義標(biāo)識(shí)分組。
IP標(biāo)識(shí)機(jī)器組
IP標(biāo)識(shí)的機(jī)器組通俗易懂,非常易于上手,只需簡(jiǎn)單的將IP輸入到分組里即可完成配置,同時(shí)也支持一個(gè)分組里面輸入多個(gè)IP。
IP標(biāo)識(shí)的機(jī)器組雖然配置簡(jiǎn)單,但存在非常大的缺陷:不支持動(dòng)態(tài)縮擴(kuò)容。在實(shí)際使用中機(jī)器組中機(jī)器經(jīng)常會(huì)發(fā)生變化(例如機(jī)器替換、服務(wù)擴(kuò)容/縮容),尤其在使用彈性伸縮服務(wù)、Kubernetes容器服務(wù)更為明顯,如果沒(méi)有及時(shí)同步更新或忘記配置,新增加的機(jī)器便無(wú)法采集到日志。
自定義標(biāo)識(shí)機(jī)器組
基于集團(tuán)內(nèi)數(shù)年來(lái)的Agent運(yùn)維經(jīng)驗(yàn)總結(jié),我們?cè)O(shè)計(jì)了一種靈活性更高、使用更加便捷、耦合度更低的配置&機(jī)器管理方式:自定義標(biāo)識(shí)機(jī)器分組。
自定義標(biāo)識(shí)機(jī)器分組操作非常簡(jiǎn)單:機(jī)器上設(shè)置一個(gè)或多個(gè)標(biāo)識(shí),并把機(jī)器組配置為自定義標(biāo)識(shí)類(lèi)型(userdefined-id),輸入相應(yīng)的標(biāo)識(shí),機(jī)器組即會(huì)自動(dòng)匹配。
此種方式對(duì)于動(dòng)態(tài)環(huán)境非常適用,尤其適用于彈性伸縮服務(wù)和swarm、pouch(阿里docker)、Kubernetes等容器環(huán)境。只需在虛擬機(jī)鏡像、DockerFile或Kubernetes的yaml模板等提前配置好標(biāo)識(shí),后續(xù)擴(kuò)容的機(jī)器一上線就會(huì)立即加入到對(duì)應(yīng)的機(jī)器分組中,并根據(jù)對(duì)應(yīng)機(jī)器分組上的采集配置開(kāi)始工作。
使用方式
詳細(xì)使用方式參見(jiàn)自定義標(biāo)識(shí)機(jī)器組。
步驟一 本地配置
- Linux Logtail
通過(guò)文件?/etc/ilogtail/user_defined_id?來(lái)設(shè)置userdefined-id。
例如,設(shè)置自定義機(jī)器標(biāo)識(shí)如下:
cat /etc/ilogtail/user_defined_id k8s-demo- Windows Logtail
通過(guò)文件?C:\LogtailData\user_defined_id?來(lái)設(shè)置userdefined-id。
例如,設(shè)置自定義機(jī)器標(biāo)識(shí)如下:
C:\LogtailData>more user_defined_id k8s-demo注意:?若目錄?/etc/ilogtail/、C:\LogtailData或文件?/etc/ilogtail/user_defined_id、C:\LogtailData\user_defined_id不存在,請(qǐng)手動(dòng)創(chuàng)建。
- Docker 應(yīng)用
如果您在容器中安裝Logtail,可以在DockerFile中使用以下方式在發(fā)布時(shí)配置標(biāo)識(shí):
RUN mkdir /etc/ilogtail/ RUN echo ${您的機(jī)器組自定義標(biāo)識(shí)} > /etc/ilogtail/user_defined_id- Kubernetes 集群
K8S使用可以參見(jiàn)Kubernetes日志采集。
步驟二 創(chuàng)建自定義標(biāo)識(shí)機(jī)器組
填寫(xiě)機(jī)器組配置。
- 機(jī)器組名稱(chēng)。填寫(xiě)自定義的機(jī)器組名稱(chēng)。
- 機(jī)器組標(biāo)識(shí)。選擇用戶(hù)自定義標(biāo)識(shí)。
- 用戶(hù)自定義標(biāo)識(shí)。填寫(xiě)步驟一中配置的userdefined-id,例如k8s-demo。
步驟三 查看機(jī)器組心跳
在機(jī)器組列表頁(yè)面,單擊目標(biāo)機(jī)器組右側(cè)的查看狀態(tài),可以查看使用相同自定義標(biāo)識(shí)的機(jī)器列表及其心跳狀態(tài)。
原文鏈接
干貨好文,請(qǐng)關(guān)注掃描以下二維碼:
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的Logtail从入门到精通(三):机器分组配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PostgreSQL Oracle 兼容
- 下一篇: 工程师如何解决穿衣搭配烦恼?——滴搭平台