阿里雲ilogtail收集自建Kubernetes容器日志文件


 

背景

1,k8s屬於自建。

2,需要收集應用服務容器里面指定目錄的日志。

3,計划收集所有私有雲php和nginx日志。

4,日志格式化處理。

 

 

思考

1,一個私有雲一個Project,還是統一放入一個Project。

2,logstore 是一個日志類型一個還是一個私有雲一個。

3,logtail配置多個在一個logstore,還是在一個logstore。

 

 

注:因為alibaba-log-controller 安裝使用的是helm,所以集群需要有helm命令。helm就類似於yum   apt。

傳送門:helm安裝

 

 

一、介紹

  • 阿里雲的日志服務SLS:https://sls.console.aliyun.com/lognext/profile 
  • 阿里雲官方文檔:https://help.aliyun.com/document_detail/48869.html
  • 日志服務SLS是雲原生觀測與分析平台,為Log、Metric、Trace等數據提供大規模、低成本、實時的平台化服務。
  • 日志服務一站式提供數據采集、加工、查詢與分析、可視化、告警、消費與投遞等功能,全面提升您在研發、運維、運營、安全等場景的數字化能力。
  • 日志服務提供50多種數據接入方案。
  • 一句話就是很牛逼。

 

 

    我今天要說的是,我公司的一個實際的需求:

  • 利用阿里雲的ilogtail采集工具。
  • 收集我們本地idc機房。
  • 自建k8s集群。
  • 多個日志文件。

 

 

    再說一點為啥要用阿里雲的ilogtail:

  • ilogtail可以收集容器里面指定目錄下的文件。
  • 我們的日志文件沒有掛載到宿主機。filebeat就做不到收集容器里面的日志。
  • 我們需要收集的文件有nginx的access   error。php的info,error.
  • 日志分類。

 

 

 

二、安裝阿里alibaba-log-controller

 

2.1 新建Project

  1. 登錄阿里雲日志服務控制台https://sls.console.aliyun.com/lognext/profile
  2. 創建一個以k8s-log-custom-開頭的Project。k8s-log-custom-all-pcloud
  3. k8s-log-custom-  這個是固定開頭,但是我看阿里雲的安裝腳本,這個可以改一下試試。

 

2.2 安裝logtail組件

安裝腳本:點擊下載腳本

# 這個腳本是被我稍微改了一下,可以定義機器組,傳入的最后一個參數就是定義機器組。

bash ./alicloud-log-k8s-custom-install.sh all-pcloud cn-beijing 1234567890 ak sk pcloud-hkgc

 

 

 參數說明:

參數 說明
all-pcloud

創建的Project的名稱中的自定義部分。k8s-log-custom-all-pcloud,則此處填寫all-pcloud

cn-beijing

Project所在的地域ID,傳送門:點擊

1234567890

阿里雲賬號ID,傳送門:點擊

ak ak
sk sk

pcloud-hkgc

Project的機器組名稱,不同的私有雲用不同的機器組區分,這個是我加的,方便區別機器組

 

 

 

驗證:

helm  status alibaba-log-controller

 

查看機器組:

  • 然后去阿里雲SLS服務上面的Project里面看機器組。
  • 這個機器組就是pcloud-hkgc。
  • 可以看到這個機器組下面的機器都是在線的。

 

 

 

2.3 收集日志

ilogtail采集器安裝完畢了之后就要配置規則去收集日志了。

 

創建logstore:

  • logstore其實就是一個各種日志的集合。
  • 其實就是給你想要的日志分個組。
  • 很靈活,我就是按照一個私有雲集群來分的。
  • 一個私有雲一個logstore

 

創建logtail配置:

  • logtail其實就是一組收集日志的規則。
  • 收集哪個目錄 文件的日志,格式化日志。
  • 並且可以設置白名單,只收集哪個容器的,或者只收集那個namespaces的。官方文檔:https://help.aliyun.com/document_detail/66655.html

 

說一下我工作中實際的用法:

  • nginx    access     error文件各創建一個logtail配置
  • php    info    error文件各創建一個logtail配置
  • 因為我只收集zhumeng命名空間下的,所以我加上了io.kubernetes.pod.namespace:zhumeng 白名單。
  • 並且日志路徑匹配那每次都會收集/var/www/html/storage/logs/schedule*.log,所以這里的需要過濾掉。采集黑名單文件路徑。
  • config-operation-log  logstore不能刪除。這個是logtail容器插件自己的心跳。

 

 

下面再貼一個我收集php日志的截圖

 

 

三、展示

  • 我用機器組區分不同的k8s集群
  • 用logstore把集群的不同日志放到一個日志庫里
  • 用logtail掛載到不同的機器組

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM