日志管理
“日志管理”包括自動備份的設(shè)置、備份數(shù)據(jù)的導(dǎo)入和刪除等功能。
過去十年來,隨著分布式系統(tǒng)的發(fā)展,日志數(shù)據(jù)管理起來更加復(fù)雜。如今,系統(tǒng)中可以容納數(shù)以千計的服務(wù)器實(shí)例或者微服務(wù)容器,而所有這些實(shí)例或容器又會生成自己的日志數(shù)據(jù)。隨著以云為基礎(chǔ)的系統(tǒng)快速出現(xiàn)并占據(jù)主導(dǎo)地位,由機(jī)器所生成的日志數(shù)據(jù)呈爆炸性增長。而日志管理隨之成為現(xiàn)代化IT運(yùn)營中的重要任務(wù),為包括調(diào)試、生產(chǎn)監(jiān)控、性能監(jiān)控、支持援助與故障查找之類的許多用例提供輔助支撐。
1. 設(shè)立策略
日志記錄不可盲目,要對所記錄的內(nèi)容以及這樣做的原因進(jìn)行仔細(xì)考量。就像其他重要的IT組件一樣,記錄日志是需要策略的。在構(gòu)建DevOps設(shè)置時,甚至只是發(fā)布一個單獨(dú)的新功能時,都要確保做好日志記錄的計劃。沒有明確的戰(zhàn)略時,由于最終需要手動管理一個日漸龐大的日志數(shù)據(jù)集,識別重要信息的過程就會變得極為復(fù)雜。
在策劃日志戰(zhàn)略時,需要從自身角度考慮什么是最重要的,想要從日志中獲得什么價值。你的計劃應(yīng)當(dāng)包含:日志的記錄方式與工具,數(shù)據(jù)托管的位置,以及最重要的——具體要尋找什么信息。
2. 日志數(shù)據(jù)的結(jié)構(gòu)
除了要制定策略,還要考慮日志格式,這點(diǎn)也很重要。如果日志格式難以理解,想要識別日志,并從中總結(jié)出見解就很困難。無論對象是機(jī)器還是人類,日志的結(jié)構(gòu)都應(yīng)當(dāng)清晰易懂。
管理者能夠通過易讀的日志更容易地找到故障,有時候還能使用日志管理服務(wù)對日志數(shù)據(jù)做進(jìn)一步處理,讓得出的見解更有深度,數(shù)據(jù)可視化更為優(yōu)秀。兩種常見的日志結(jié)構(gòu)格式分別是JSON和KVP(主鍵配對)。兩種日志數(shù)據(jù)均清晰易懂,適合人類理解,并且方便記錄日志的軟件解決方案從半結(jié)構(gòu)化的格式中提取信息。
3. 日志數(shù)據(jù)的分離與集中
日志應(yīng)當(dāng)由系統(tǒng)自動收集并發(fā)送到集中的地點(diǎn),與生產(chǎn)環(huán)境相分離。合并日志數(shù)據(jù)促進(jìn)管理的有序與分析能力的增強(qiáng),管理者能夠有效地運(yùn)行交叉分析,并識別不同數(shù)據(jù)源之間的關(guān)聯(lián)。將日志數(shù)據(jù)集中化同時也降低了在自動擴(kuò)展環(huán)境中損失日志數(shù)據(jù)的風(fēng)險。
將日志數(shù)據(jù)轉(zhuǎn)發(fā)到統(tǒng)一的位置后,系統(tǒng)管理員可以授權(quán)開發(fā)者、QA和支持團(tuán)隊訪問日志數(shù)據(jù),而無需賦予他們訪問生產(chǎn)環(huán)境的權(quán)限。因而,這些團(tuán)隊可以使用日志數(shù)據(jù)調(diào)試,但不會有影響生產(chǎn)環(huán)境的風(fēng)險。復(fù)制與獨(dú)立化的日志數(shù)據(jù)也解決了相應(yīng)的安全漏洞,避免攻擊者刪除日志數(shù)據(jù),就算系統(tǒng)被破壞了,日志仍是安全的。
4. 端對端記錄日志
為了簡化定位故障的復(fù)雜度,在應(yīng)用和系統(tǒng)層面獲得更全局化的觀點(diǎn),應(yīng)當(dāng)在所有系統(tǒng)組件中監(jiān)控并記錄日志。大多數(shù)人都知道要記錄服務(wù)器日志,比如Windows的安全日志。但是,在底層基礎(chǔ)架構(gòu)、應(yīng)用層面和終端用戶客戶端記錄所有相關(guān)的指標(biāo)與事件也同樣重要。
端對端日志記錄讓管理者得以從終端用戶的角度了解系統(tǒng)性能,比如網(wǎng)絡(luò)延遲、數(shù)據(jù)庫事務(wù)處理延遲與頁面加載時間。在這些地方清楚明了有利于提供無縫的用戶體驗。
5. 相關(guān)數(shù)據(jù)來源
將端對端日志統(tǒng)一記錄到集中的地方,就可以動態(tài)聚合不同來源的各類數(shù)據(jù)流,比如來自應(yīng)用的、服務(wù)器的、用戶的和CDN的,從而分析得到相應(yīng)的關(guān)鍵趨勢與指標(biāo)。這些關(guān)聯(lián)的數(shù)據(jù)可以讓管理者快速準(zhǔn)確識別并理解導(dǎo)致系統(tǒng)故障的事件。例如,實(shí)時發(fā)現(xiàn)基礎(chǔ)設(shè)施資源使用與應(yīng)用出錯率之間的關(guān)聯(lián),能夠協(xié)助管理者在終端用戶受到影響前先一步識別出異常與影響。
6. 使用唯一標(biāo)識符
在調(diào)試、支持救援與分析中使用唯一的標(biāo)識符非常有用。通過標(biāo)識符可以追蹤特定的`用戶會話,并精確地找出某個用戶的活動。如果知道用戶的唯一ID,就能搜索到某一時段用戶的所有活動。一旦用戶活動出現(xiàn)中斷,可以通過追蹤整個事務(wù)來查找。
7. 增加背景信息
將日志用做數(shù)據(jù)時,考慮每個數(shù)據(jù)點(diǎn)的背景情況非常重要。了解用戶點(diǎn)擊了一個按鈕,也許比不上知道用戶具體點(diǎn)擊了“購買”按鈕。增加額外的背景能夠揭示購買模式。如果用戶的購買請求出現(xiàn)錯誤,相應(yīng)背景也能讓問題更快解決。
8. 執(zhí)行實(shí)時監(jiān)控
服務(wù)中斷會引發(fā)一系列不幸的結(jié)果,包括引發(fā)用戶不滿、購買意向流失與數(shù)據(jù)丟失。一旦出現(xiàn)生產(chǎn)層面的問題,在這個爭分奪秒的時刻,實(shí)時監(jiān)控非常重要。
除了發(fā)布簡單的通知之外,能夠?qū)崟r分析問題與識別重要信息也同樣重要。在日志數(shù)據(jù)中能夠查看“實(shí)時軌跡”,使開發(fā)者和管理者能夠在用戶與應(yīng)用或系統(tǒng)互動時分析日志事件。搜索并報告“實(shí)時軌跡”還能讓支持團(tuán)隊對用戶的問題進(jìn)行分析與解決。
9. 使用日志來識別關(guān)鍵趨勢
查找故障和調(diào)試只涉及了日志數(shù)據(jù)提供的表層信息。之前,查找日志曾因過于費(fèi)勁,而被認(rèn)為是查找信息的最終手段,而如今的日志服務(wù)可以讓所有人——包括開發(fā)者、數(shù)據(jù)科學(xué)家都能從應(yīng)用和系統(tǒng)中識別出有用的趨勢與關(guān)鍵的見解。
10. 增強(qiáng)整個團(tuán)隊
只開放給高級技術(shù)團(tuán)隊的日志管理與分析服務(wù)嚴(yán)重限制了公司從日志數(shù)據(jù)中獲得好處的機(jī)會。日志管理與分析工具應(yīng)當(dāng)能讓開發(fā)者實(shí)時追蹤調(diào)試,讓管理者實(shí)時收到警報,讓數(shù)據(jù)科學(xué)家集合數(shù)據(jù)并可視化,讓支持團(tuán)隊執(zhí)行實(shí)時搜索與篩選,而無需賦予他們訪問生產(chǎn)環(huán)境的權(quán)限。
【日志管理】相關(guān)文章:
Oracle重做日志文件管理技巧10-11
餐飲管理每日工作日志11-26
班級管理研修日志(精選5篇)08-13
班主任管理的工作日志(通用6篇)12-29
WEB日志格式01-21
論文寫作日志10-30
歷史研修日志06-03
經(jīng)典勵志日志12-29
值班日志模板11-30
實(shí)習(xí)講課日志11-26