天天看點

Logtail從入門到精通(三):機器分組配置什麼是機器分組機器分組類型使用方式

什麼是機器分組

上一篇中我們對機器分組進行了簡單的介紹,從更通俗的角度講:機器分組就是一批産生相同日志的機器,一般情況下是一組應用,比如Nginx、MongoDB、HDFS等叢集。通常一個機器分組下會産生多種日志,會分别采集到多個logstore。而同時一個機器也可以扮演多種角色(比如同時擔目前端和後端的角色,既部署了Nginx也部署了應用worker),是以一個機器也會屬于多個機器分組中。是以我們有了以下的機器分組模型:

Logtail從入門到精通(三):機器分組配置什麼是機器分組機器分組類型使用方式

機器分組類型

目前我們支援了兩種不同的機器分組,分别是IP辨別和自定義辨別分組。

IP辨別機器組

IP辨別的機器組通俗易懂,非常易于上手,隻需簡單的将IP輸入到分組裡即可完成配置,同時也支援一個分組裡面輸入多個IP。

Logtail從入門到精通(三):機器分組配置什麼是機器分組機器分組類型使用方式

IP辨別的機器組雖然配置簡單,但存在非常大的缺陷:不支援動态縮擴容。在實際使用中機器組中機器經常會發生變化(例如機器替換、服務擴容/縮容),尤其在使用彈性伸縮服務、Kubernetes容器服務更為明顯,如果沒有及時同步更新或忘記配置,新增加的機器便無法采集到日志。

自定義辨別機器組

基于集團内數年來的Agent運維經驗總結,我們設計了一種靈活性更高、使用更加便捷、耦合度更低的配置&機器管理方式:自定義辨別機器分組。

自定義辨別機器分組操作非常簡單:機器上設定一個或多個辨別,并把機器組配置為自定義辨別類型(userdefined-id),輸入相應的辨別,機器組即會自動比對。

此種方式對于動态環境非常适用,尤其适用于彈性伸縮服務和swarm、pouch(阿裡docker)、Kubernetes等容器環境。隻需在虛拟機鏡像、DockerFile或Kubernetes的yaml模闆等提前配置好辨別,後續擴容的機器一上線就會立即加入到對應的機器分組中,并根據對應機器分組上的采集配置開始工作。

使用方式

詳細使用方式參見

步驟一 本地配置

  • Linux Logtail

通過檔案

/etc/ilogtail/user_defined_id

來設定userdefined-id。

例如,設定自定義機器辨別如下:

cat /etc/ilogtail/user_defined_id
k8s-demo      
  • Windows Logtail

C:\LogtailData\user_defined_id

C:\LogtailData>more user_defined_id
k8s-demo      

注意: 若目錄

/etc/ilogtail/

C:\LogtailData

或檔案

/etc/ilogtail/user_defined_id

C:\LogtailData\user_defined_id

不存在,請手動建立。

  • Docker 應用

如果您在容器中安裝Logtail,可以在DockerFile中使用以下方式在釋出時配置辨別:

RUN mkdir /etc/ilogtail/
RUN echo ${您的機器組自定義辨別} > /etc/ilogtail/user_defined_id      
  • Kubernetes 叢集

K8S使用可以參見

Kubernetes日志采集

步驟二 建立自定義辨別機器組

  1. 在機器組清單頁面單擊右上角的建立機器組。
  2. 填寫機器組配置。
    • 機器組名稱。填寫自定義的機器組名稱。
    • 機器組辨別。選擇使用者自定義辨別。
    • 使用者自定義辨別。填寫步驟一中配置的userdefined-id,例如

      k8s-demo

  1. 單擊确認結束配置。後續擴容無需修改機器組。
Logtail從入門到精通(三):機器分組配置什麼是機器分組機器分組類型使用方式

步驟三 檢視機器組心跳

在機器組清單頁面,單擊目标機器組右側的檢視狀态,可以檢視使用相同自定義辨別的機器清單及其心跳狀态。

Logtail從入門到精通(三):機器分組配置什麼是機器分組機器分組類型使用方式

若有收獲,就點個贊吧