Logtail从入门到精通(三):机器分组配置
摘要:?基于集團內數年來的Agent運維經驗總結,我們設計了一種靈活性更高、使用更加便捷、耦合度更低的配置&機器管理方式:自定義標識機器分組。此種方式對于動態環境非常適用,尤其適用于彈性伸縮服務和swarm、pouch(阿里docker)、Kubernetes等容器環境。
什么是機器分組
上一篇中我們對機器分組進行了簡單的介紹,從更通俗的角度講:機器分組就是一批產生相同日志的機器,一般情況下是一組應用,比如Nginx、MongoDB、HDFS等集群。通常一個機器分組下會產生多種日志,會分別采集到多個logstore。而同時一個機器也可以扮演多種角色(比如同時擔當前端和后端的角色,既部署了Nginx也部署了應用worker),因此一個機器也會屬于多個機器分組中。所以我們有了以下的機器分組模型:
機器分組類型
目前我們支持了兩種不同的機器分組,分別是IP標識和自定義標識分組。
IP標識機器組
IP標識的機器組通俗易懂,非常易于上手,只需簡單的將IP輸入到分組里即可完成配置,同時也支持一個分組里面輸入多個IP。
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?來設置userdefined-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日志采集。
步驟二 創建自定義標識機器組
填寫機器組配置。
- 機器組名稱。填寫自定義的機器組名稱。
- 機器組標識。選擇用戶自定義標識。
- 用戶自定義標識。填寫步驟一中配置的userdefined-id,例如k8s-demo。
步驟三 查看機器組心跳
在機器組列表頁面,單擊目標機器組右側的查看狀態,可以查看使用相同自定義標識的機器列表及其心跳狀態。
原文鏈接
干貨好文,請關注掃描以下二維碼:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的Logtail从入门到精通(三):机器分组配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PostgreSQL Oracle 兼容
- 下一篇: 区块链如何改变AI