如何應(yīng)對(duì)云原生革命帶來(lái)的日志管理挑戰(zhàn)?

2022-10-04    分類: 網(wǎng)站建設(shè)

以前,日志管理相對(duì)簡(jiǎn)單。日志的數(shù)量,類型和結(jié)構(gòu)都很簡(jiǎn)單且易于管理。

但是,在過(guò)去的幾年中,所有這些簡(jiǎn)單性都沒有出現(xiàn)。由于向云原生技術(shù)(例如,松耦合服務(wù),微服務(wù)架構(gòu)以及容器和Kubernetes等技術(shù))的轉(zhuǎn)移,過(guò)去的日志管理策略已不再足夠。在云原生世界中成功管理日志需要對(duì)日志的聚合,分析等方式進(jìn)行根本性的更改。

這就是云原生革命如何改變了日志管理的本質(zhì),以及IT和DevOps團(tuán)隊(duì)可以做什么以繼續(xù)有效地管理日志。

如何應(yīng)對(duì)云原生革命帶來(lái)的日志管理挑戰(zhàn)?

是什么使云原生日志記錄與眾不同

乍一看,云原生環(huán)境中的日志管理似乎與常規(guī)日志記錄沒有什么不同。云原生基礎(chǔ)架構(gòu)和應(yīng)用程序仍會(huì)生成日志,并且日志管理流程的基本步驟(收集,聚合,分析和輪換)仍然適用。

但是,如果您開始嘗試監(jiān)視云本機(jī)環(huán)境,那么很快就會(huì)很清楚,要有效地管理日志要困難得多。原因有四個(gè)。

1.更多日志

首先,最簡(jiǎn)單的是要處理更多的日志。

在云原生時(shí)代之前,大多數(shù)應(yīng)用程序都是運(yùn)行在單個(gè)服務(wù)器上的整體組件。每個(gè)應(yīng)用程序通常僅生成一個(gè)日志(如果它甚至完全創(chuàng)建了自己的日志;有時(shí),應(yīng)用程序會(huì)將數(shù)據(jù)記錄到Syslog中)。每個(gè)服務(wù)器通常還只生成少量日志,其中主要是Syslog和auth。因此,要管理整個(gè)環(huán)境的日志,您只需要處理幾個(gè)日志。

相比之下,在云原生環(huán)境中,您通常使用微服務(wù)體系結(jié)構(gòu)-可能有十幾個(gè)或更多不同的服務(wù)在運(yùn)行,每個(gè)服務(wù)都提供了組成整個(gè)應(yīng)用程序所需的不同功能。每個(gè)微服務(wù)都可以生成自己的日志。

不僅如此,還有更多的基礎(chǔ)架構(gòu)層;因此,通過(guò)擴(kuò)展,更多的日志。您不僅具有基礎(chǔ)主機(jī)服務(wù)器及其生成的日志,而且還具有位于應(yīng)用程序和基礎(chǔ)架構(gòu)之間的抽象層(如Docker或Kubernetes或兩者,取決于您的使用方式)創(chuàng)建的日志。

簡(jiǎn)而言之,向云本機(jī)的轉(zhuǎn)變意味著IT團(tuán)隊(duì)已經(jīng)從爭(zhēng)奪支持的每個(gè)應(yīng)用程序的少數(shù)幾個(gè)單獨(dú)日志的競(jìng)爭(zhēng)發(fā)展到十幾個(gè)甚至更多。

2.更多日志類型

總體上不僅有更多的日志,而且還有更多類型的日志。您不僅擁有服務(wù)器日志和應(yīng)用程序日志,還擁有云基礎(chǔ)架構(gòu)的日志,Kubernetes或Docker的日志,身份驗(yàn)證日志,Windows和Linux的日志(因?yàn)楝F(xiàn)在更常見的是在同一操作系統(tǒng)中同時(shí)使用兩種類型的操作系統(tǒng))商店)等等。

這種多樣性增加了復(fù)雜性,這不僅是因?yàn)橐芾淼娜罩緮?shù)據(jù)類型更多,而且還因?yàn)檫@些日志類型的格式經(jīng)常不同。結(jié)果,使用正則表達(dá)式匹配或其他類型的通用查詢一次解析所有日志變得更加困難。

3.多樣化的記錄架構(gòu)

隨著日志數(shù)量和類型的增加,現(xiàn)在在應(yīng)用程序環(huán)境中公開日志數(shù)據(jù)的方式變得更加復(fù)雜和變化。

Kubernetes是一個(gè)很好的例子。Kubernetes提供了一些內(nèi)置功能,可以在節(jié)點(diǎn)級(jí)別收集日志。進(jìn)行收集的確切方式取決于環(huán)境變量。例如,它在安裝了systemd的系統(tǒng)上記錄日志,但是直接寫入/ var / log中的.log文件。

使事情變得更加復(fù)雜的是,Kubernetes沒有對(duì)集群級(jí)日志的本地支持,盡管同樣可以使用多種方法。您可以使用在每個(gè)Kubernetes節(jié)點(diǎn)上運(yùn)行的日志記錄代理來(lái)為集群生成日志數(shù)據(jù),也可以在sidecar容器中運(yùn)行日志記錄代理?;蛘撸梢試L試直接從應(yīng)用程序生成集群范圍的日志數(shù)據(jù),前提是您的集群體系結(jié)構(gòu)和應(yīng)用程序使此操作切實(shí)可行。

最重要的是,即使在同一平臺(tái)內(nèi),日志記錄體系結(jié)構(gòu)的設(shè)置方式也存在很大差異。結(jié)果,在云原生環(huán)境中設(shè)計(jì)統(tǒng)一的日志管理流程變得越來(lái)越困難,該流程可以在需要支持的所有應(yīng)用程序或平臺(tái)上一致地工作。

4.非永久性日志存儲(chǔ)

云本機(jī)日志記錄的最后一個(gè)挑戰(zhàn)來(lái)自以下事實(shí):某些云本機(jī)應(yīng)用程序缺少持久性數(shù)據(jù)存儲(chǔ)。容器就是最好的例子。

當(dāng)容器實(shí)例停止運(yùn)行時(shí),存儲(chǔ)在容器中的所有數(shù)據(jù)將被永久銷毀。因此,如果日志數(shù)據(jù)存儲(chǔ)在容器內(nèi)(默認(rèn)情況下通常是默認(rèn)情況下),它將與容器一起消失。由于容器是短暫的,實(shí)例會(huì)暫停并被刪除,而新實(shí)例會(huì)自動(dòng)旋轉(zhuǎn),因此并不是在容器關(guān)閉之前詢問管理員是否要保存日志數(shù)據(jù)。它將關(guān)閉并被刪除,并隨同您的日志數(shù)據(jù)一起使用,除非您事先將該數(shù)據(jù)移到了其他地方。

如果您只關(guān)心實(shí)時(shí)處理日志數(shù)據(jù),那么這種瞬態(tài)可能還可以。但是,如果您需要在一段時(shí)間內(nèi)保持歷史日志可用,那么在容器停止運(yùn)行時(shí)丟失日志數(shù)據(jù)是不可接受的。

云原生日志管理的好準(zhǔn)則

為了應(yīng)對(duì)在云原生環(huán)境中遭遇的這些挑戰(zhàn),團(tuán)隊(duì)可以使用以下準(zhǔn)則。

1.統(tǒng)一日志收集和匯總

要使用多種不同類型的日志格式和架構(gòu)來(lái)支持和記憶,嘗試分別管理每個(gè)系統(tǒng)的日志是不可行的。而是實(shí)施統(tǒng)一的集中式日志管理解決方案,該解決方案可自動(dòng)從環(huán)境的所有部分收集數(shù)據(jù)并將其聚合到一個(gè)位置。

2.采用靈活的日志管理解決方案

您的日志管理工具和流程應(yīng)該能夠支持任何類型的環(huán)境,而無(wú)需重新配置環(huán)境。例如,如果您有一個(gè)Kubernetes集群以一種方式公開日志數(shù)據(jù),而另一個(gè)集群以另一種方式進(jìn)行日志記錄,則您應(yīng)該能夠從這兩個(gè)集群中收集和分析日志,而不必更改任何一個(gè)集群的處理方式。日志。同樣,如果您有一個(gè)應(yīng)用程序在一個(gè)公共云上運(yùn)行,而另一個(gè)應(yīng)用程序在另一云上運(yùn)行,則不必為了從一個(gè)中央位置管理其日志而修改任何一個(gè)云環(huán)境的默認(rèn)日志記錄行為。

3.實(shí)時(shí)收集日志

確保沒有持久存儲(chǔ)的環(huán)境中的日志不會(huì)消失的一種方法是實(shí)時(shí)收集日志數(shù)據(jù)并將其聚集在一個(gè)獨(dú)立的位置。這樣,日志數(shù)據(jù)一出生就將保存在持久性日志管理器中,即使容器關(guān)閉也將保持可用。與嘗試僅在固定時(shí)間段內(nèi)從容器內(nèi)部收集日志數(shù)據(jù)相比,此方法更為可取,如果容器比您預(yù)期的更早關(guān)閉,則可能會(huì)丟失一些日志。

4.使用自定義日志解析器

除了忽略以常規(guī)分析工具無(wú)法支持的方式構(gòu)造的日志之外,還可以利用自定義日志解析器來(lái)處理任何格式的數(shù)據(jù)。這樣,您就不會(huì)冒從非標(biāo)準(zhǔn)日志中遺漏重要見解的風(fēng)險(xiǎn)。

結(jié)論

云本機(jī)日志管理從根本上不同于管理常規(guī)整體應(yīng)用程序的日志數(shù)據(jù)。不僅日志數(shù)據(jù)的規(guī)模有所增加(盡管有所增加),而且在記錄,結(jié)構(gòu)化和公開日志數(shù)據(jù)的方式上還存在更大的多樣性。面對(duì)這些挑戰(zhàn),有效地管理日志需要一個(gè)日志管理解決方案,該解決方案必須完全集中和統(tǒng)一來(lái)自您支持的所有系統(tǒng)的日志數(shù)據(jù),同時(shí)還提供從非標(biāo)準(zhǔn)日志類型中獲取見解的能力。

云原生日志管理日志

分享題目:如何應(yīng)對(duì)云原生革命帶來(lái)的日志管理挑戰(zhàn)?
鏈接地址:http://www.muchs.cn/news48/201548.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)全網(wǎng)營(yíng)銷推廣、移動(dòng)網(wǎng)站建設(shè)、電子商務(wù)網(wǎng)站內(nèi)鏈、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)