溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Kubernetes日志收集的解決方案是什么

發(fā)布時間:2021-12-06 15:00:42 來源:億速云 閱讀:153 作者:柒染 欄目:云計算

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Kubernetes日志收集的解決方案是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在kubernetes集群環(huán)境下日志收集組件選型及方案

1、需求來源

在大規(guī)模集群部署的場景下,容器實例會部署到多個節(jié)點上,節(jié)點以及節(jié)點上的應(yīng)用產(chǎn)生的日志會隨之分散在各個容器的主機(jī)上,傳統(tǒng)的集群應(yīng)用大多在本地持久化,這給整個應(yīng)用系統(tǒng)的日志監(jiān)控和故障排除帶來了很大的挑戰(zhàn),而在Kubernetes大規(guī)模集群環(huán)境下,需要考慮把分散在各個節(jié)點上的日志統(tǒng)一采集,統(tǒng)一管理,統(tǒng)一展示。

2、日志來源

  • 主機(jī)內(nèi)核日志

主機(jī)內(nèi)核產(chǎn)生的錯誤日志通常可以幫助開發(fā)者診斷因為主機(jī)或者OS異常而帶來的服務(wù)異常,比如網(wǎng)絡(luò)異常,文件系統(tǒng)異常等。

  • 核心組件日志

docker的日志幫助用戶查看pod內(nèi)部容器的運行狀態(tài)、APIServer的日志,Scheduler產(chǎn)生的日志能夠幫助用戶查看Kubernetes本身運行產(chǎn)生的日志。

  • 應(yīng)用自身日志

通常業(yè)務(wù)升級或者在某種場景下出現(xiàn)異常,可以通過日志進(jìn)行排查。

3、日志收集方式

  • 宿主機(jī)文件

Pod應(yīng)用的數(shù)據(jù)存儲在宿主機(jī)文件系統(tǒng)中,比如我們通過hostpath聲明把業(yè)務(wù)日志存儲在某個目錄下,通常會在每個節(jié)點上以DaemonSet形式部署fluentd或者filebeat,將宿主機(jī)的文件系統(tǒng)掛載到fluentd或者filebeat Pod中內(nèi)進(jìn)行采集,當(dāng)然我們也可以采集其它日志(操作系統(tǒng)產(chǎn)生日志,Kubernetes組件產(chǎn)生日志等)如下圖所示:

Kubernetes日志收集的解決方案是什么

  • 容器內(nèi)的文件

一種sidecar的日志收集模式,將日志收集容器和應(yīng)用容器部署在同一個pod中,通過共享volume的形式實現(xiàn)對容器日志的收集,然后輸出到節(jié)點上,這種收集一般針對日志準(zhǔn)確性要求比較高的應(yīng)用,通過這種方式我們可以定制當(dāng)前容器內(nèi)的文件名、pod的ip等。如下圖所示:

Kubernetes日志收集的解決方案是什么

  • 容器內(nèi)直接輸出

Pod應(yīng)用直接將數(shù)據(jù)存儲在共享文件系統(tǒng)中(NFS、hdfs、ceph、GlusterFS等)。nfs日志存儲使用介紹 這種情況下我們可以直接在當(dāng)前文件系統(tǒng)中查看日志,或者在存儲日志所在節(jié)點部署日志收集pod,把日志傳輸?shù)饺罩鞠到y(tǒng)。如下圖所示:

Kubernetes日志收集的解決方案是什么

4、日志收集存儲實例

日志存儲和查詢方面比較建議使用ELK(logstash耗費資源較多,建議換成filebeat或者fluentd進(jìn)行日志收集傳遞)成熟解決方案,因為ES原生支持多租戶的使用場景,支持通過建立不同的索引方式來區(qū)分不同用戶,不同業(yè)務(wù)類型的數(shù)據(jù); fluentd在啟動后會根據(jù)配置文件中的logstash_prefix,在ES中生成指定前綴的索引,在Kibana界面創(chuàng)建顯示索引時,可以根據(jù)之前日志前綴設(shè)定匹配和監(jiān)控產(chǎn)生日志數(shù)據(jù),如下圖所示:

Kubernetes日志收集的解決方案是什么

針對大規(guī)模的持續(xù)增長的應(yīng)用業(yè)務(wù)日志,在傳統(tǒng)單機(jī)業(yè)務(wù)模式下會存儲固定幾天的數(shù)據(jù),在萬物互聯(lián)的今天,我們不但需要快速實時的監(jiān)控集群中的日志數(shù)據(jù),更需要將這些數(shù)據(jù)進(jìn)行持久化存儲,方便我們基于這些數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘、統(tǒng)計、分析建?;蛘吒鶕?jù)用戶的行為日志做預(yù)測工作,當(dāng)然這些工作我們可以使用大數(shù)據(jù)分析解決方案(hadoop+spark)對數(shù)據(jù)進(jìn)行具體分析管理。

本次主要介紹了Kubernetes集群模式下三種日志收集模式,結(jié)合實際使用場景采用不同的日志收集方案滿足具體需求。

上述就是小編為大家分享的Kubernetes日志收集的解決方案是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI