日志管理在云中和在數(shù)據(jù)中心同樣重要。本文將評估公有云的日志管理工具,如AWS 的CloudWatch和谷歌的Stackdriver。
日志文件記錄了硬件系統(tǒng)、企業(yè)服務(wù)、應(yīng)用和用戶的動作和響應(yīng)。IT管理員通過分析和審查日志活動來提高性能、排除問題,發(fā)現(xiàn)惡意活動等等。
但是日志可用性在公有云領(lǐng)域是處于落后的。客戶在傳統(tǒng)意義上對于云提供商機(jī)出架構(gòu)的可見性如果有的話也是極少的。幸運的是,公有云提供商正在意識到日志在故障排除,安全和合規(guī)性的方面都是極為關(guān)鍵的,而如亞馬遜網(wǎng)絡(luò)服務(wù)(AWS),微軟Azure和谷歌之類的供應(yīng)商現(xiàn)在都開始提供某種類型的日志管理服務(wù)。
下面我們來仔細(xì)了解一下公有云的日志管理工具,以及如何從這些服務(wù)中收獲更多的價值。
主流公有云提供商提供了哪些日志管理工具?
大多數(shù)主要的公有云供應(yīng)商都提供了日志管理服務(wù)??紤]到價格,整合程度和功能方面的差異,在將它們添加到你的每月云賬單之前,請先對這些日志管理工具進(jìn)行評估。
AWS提供CloudWatch日志,其目的是監(jiān)控和解決虛擬服務(wù)器的問題,如彈性計算云(EC2)實例,以及那些有著原生或自定義日志文件的應(yīng)用。日志文件經(jīng)由API編程傳輸?shù)紸WS 的CloudWatch日志,并進(jìn)行近實時監(jiān)測。用戶可以設(shè)置日志數(shù)據(jù)觸發(fā)報警來提醒他們,例如,當(dāng)錯誤達(dá)到一定的數(shù)量,或者使用指標(biāo)生成圖表或報告。
谷歌云平臺(GCP)提供完全托管的Stackdriver日志服務(wù),旨在對GCP實例中產(chǎn)生的日志數(shù)據(jù),事件指標(biāo)進(jìn)行存儲,監(jiān)控,搜索,分析和產(chǎn)生實時警報。谷歌Stackdriver服務(wù),目前仍處于測試階段,目標(biāo)是與AWS EC2實例以及任何來源的自定義日志數(shù)據(jù)兼容。
微軟則采用了更混合的方式來進(jìn)行日志管理。不同于將日志管理作為Azure服務(wù)組合的一個菜單項來提供,微軟將運營管理套件作為System Center的一個附加組件來提供,這樣便可以攝取,關(guān)聯(lián)和可視化所有Windows和Linux的跨本地,Azure和AWS實例的工作負(fù)載所產(chǎn)生的日志數(shù)據(jù)。
云日志管理中的事件、流和組是什么?
像AWS之類的供應(yīng)商將日志分解為事件、流和組。日志一般由事件或系統(tǒng),服務(wù)或應(yīng)用所生成的特定活動組成。日志文件必須在運行中才能捕獲事件。而日志事件通常包含一個標(biāo)注事件的日期和時間的時間戳,以及描述該事件的原始消息。
相關(guān)的日志條目通常會組成一個流。例如,一個流可以顯示某個特定的服務(wù)器實例所產(chǎn)生的所有事件。管理員可以監(jiān)控特定的流來更好的了解資源的行為。他們也可以刪除舊的流來為更多的日志釋放存儲空間。
設(shè)定云日志的保留期限
管理員通??梢赃x擇日志組的保留期限,范圍從一天到10年,或者選擇設(shè)定為永不過期。但是日志數(shù)據(jù)量可能使巨大的,尤其當(dāng)由很多個日志組的時候。所以我們應(yīng)該選擇一個適當(dāng)?shù)谋A羝谙?,能夠提供足夠的合?guī)性要求遵循,并同時讓云日志存儲的成本可控。
為了更好的管理,相關(guān)的日志流會被分組。每一個具有相同配置的流,如管理權(quán)限,保留期限和其他特點等,通常會關(guān)聯(lián)到一組。
日志管理工具提供查找事件并將其轉(zhuǎn)換成數(shù)據(jù)點的指標(biāo)篩選器。例如,管理員可以創(chuàng)建一個計算日志組內(nèi)列出的無效登錄嘗試的指標(biāo)過濾器。這有助于識別可能的攻擊或惡意的登錄活動。在針對日志建立指標(biāo)之后,還可以在滿足某些條件時創(chuàng)建一個警報。
公有云與本地的日志管理工具和實踐有何不同?
在本地日志管理和公有云提供商的日志管理服務(wù)之間并不存在深刻的分歧。然而,也有一些小細(xì)節(jié)是必須注意的。
首先,你可能需要使用不止一個工具。理想情況下,一個單一的日志管理工具可以同時用于本地部署和云部署。供應(yīng)商可以獲取本地日志并將內(nèi)容添加到云部署收集到的日志中。不過,底層的日志管理工具,如AWS CloudWatch日志和Google Stackdriver Logging,是云服務(wù)提供商的服務(wù);這對于那些已經(jīng)對本地日志管理工具做了大筆投資的企業(yè)來說會是一件痛苦的事。
其次,只靠云提供商自身的日志管理工具可能不夠。組織可能需要額外的云服務(wù),如存儲、消息傳遞和警報,以創(chuàng)建一個合適的日志管理環(huán)境。然而,每一個附加的功能都可能會增加每月的日志管理成本。
最后,成功的云日志系統(tǒng)可能需要IT團(tuán)隊在記錄日志的每個云實例上安裝代理。不是所有的應(yīng)用程序或服務(wù)都會生成日志文件,即便那些會產(chǎn)生日志的應(yīng)用的日志在格式和細(xì)節(jié)上也會有所不同。這使得日志管理工具處理日志內(nèi)容變得困難。使用一個統(tǒng)一的代理以一致的方式捕獲事件,并按正確的格式將內(nèi)容傳遞給日志工具。
此外,還需制定一個處理代理更新的計劃;日志管理服務(wù)通常使用代理從部署的云實例上收集和傳遞數(shù)據(jù)到日志服務(wù)。日志代理可能會定期更新以反映日志服務(wù)的API、功能集或依賴項的變更。了解如何檢查代理的版本,如何在運行中更新代理,以及如何調(diào)整代理所在的虛擬機(jī)鏡像文件。