11.log

XI. 日志

把日志當(dāng)作事件流

日志 使得應(yīng)用程序運(yùn)行的動(dòng)作變得透明。在基于服務(wù)器的環(huán)境中,日志通常被寫(xiě)在硬盤(pán)的一個(gè)文件里,但這只是一種輸出格式。

日志應(yīng)該是 事件流 的匯總,將所有運(yùn)行中進(jìn)程和后端服務(wù)的輸出流按照時(shí)間順序收集起來(lái)。盡管在回溯問(wèn)題時(shí)可能需要看很多行,日志最原始的格式確實(shí)是一個(gè)事件一行。日志沒(méi)有確定開(kāi)始和結(jié)束,但隨著應(yīng)用在運(yùn)行會(huì)持續(xù)的增加。

12-factor應(yīng)用本身從不考慮存儲(chǔ)自己的輸出流。 不應(yīng)該試圖去寫(xiě)或者管理日志文件。相反,每一個(gè)運(yùn)行的進(jìn)程都會(huì)直接的標(biāo)準(zhǔn)輸出(stdout)事件流。開(kāi)發(fā)環(huán)境中,開(kāi)發(fā)人員可以通過(guò)這些數(shù)據(jù)流,實(shí)時(shí)在終端看到應(yīng)用的活動(dòng)。

在預(yù)發(fā)布或線上部署中,每個(gè)進(jìn)程的輸出流由運(yùn)行環(huán)境截獲,并將其他輸出流整理在一起,然后一并發(fā)送給一個(gè)或多個(gè)最終的處理程序,用于查看或是長(zhǎng)期存檔。這些存檔路徑對(duì)于應(yīng)用來(lái)說(shuō)不可見(jiàn)也不可配置,而是完全交給程序的運(yùn)行環(huán)境管理。類(lèi)似 LogplexFluent 的開(kāi)源工具可以達(dá)到這個(gè)目的。

這些事件流可以輸出至文件,或者在終端實(shí)時(shí)觀察。最重要的,輸出流可以發(fā)送到 Splunk 這樣的日志索引及分析系統(tǒng),或 Hadoop/Hive 這樣的通用數(shù)據(jù)存儲(chǔ)系統(tǒng)。這些系統(tǒng)為查看應(yīng)用的歷史活動(dòng)提供了強(qiáng)大而靈活的功能,包括:

  • 找出過(guò)去一段時(shí)間特殊的事件。
  • 圖形化一個(gè)大規(guī)模的趨勢(shì),比如每分鐘的請(qǐng)求量。
  • 根據(jù)用戶(hù)定義的條件實(shí)時(shí)觸發(fā)警報(bào),比如每分鐘的報(bào)錯(cuò)超過(guò)某個(gè)警戒線。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 首席工程師揭秘:LinkedIn大數(shù)據(jù)后臺(tái)是如何運(yùn)作的1http://mp.weixin.qq.com/s?__b...
    葡萄喃喃囈語(yǔ)閱讀 2,237評(píng)論 0 7
  • Zookeeper用于集群主備切換。 YARN讓集群具備更好的擴(kuò)展性。 Spark沒(méi)有存儲(chǔ)能力。 Spark的Ma...
    Yobhel閱讀 7,602評(píng)論 0 34
  • 云原生概念12個(gè)因素 簡(jiǎn)介 如今,軟件通常會(huì)作為一種服務(wù)來(lái)交付,它們被稱(chēng)為網(wǎng)絡(luò)應(yīng)用程序,或軟件即服務(wù)(SaaS)。...
    若與閱讀 1,306評(píng)論 0 8
  • 是因?yàn)榉偶偃颂e了,還是因?yàn)槭艿阶穭〉母腥荆@幾日,心中的悲傷愈來(lái)愈甚,老是不能自已的去想那些前塵往事。那些...
    蘆蘆葦閱讀 317評(píng)論 0 0
  • 所有的結(jié)局都已寫(xiě)好,所有的淚水都已啟程。卻忽然忘了,是怎樣的一個(gè)開(kāi)始,在那個(gè)古老的,不再回來(lái)的夏日,無(wú)論我如何的去...
    551019ab46da閱讀 312評(píng)論 0 1

友情鏈接更多精彩內(nèi)容