java10个基础错误_我们处理了10亿个Java记录的错误-这是导致97%的错误的原因
java10個基礎(chǔ)錯誤
97%的記錄錯誤是由10個唯一錯誤引起的
在2016年,一件事在30年內(nèi)沒有改變。 開發(fā)和運(yùn)營團(tuán)隊仍依靠日志文件對應(yīng)用程序問題進(jìn)行故障排除。 由于某些未知原因,我們隱式信任日志文件,因為我們認(rèn)為事實(shí)隱藏在其中。 如果您足夠努力地進(jìn)行g(shù)rep編寫或編寫完美的regex查詢,答案將神奇地呈現(xiàn)在您面前。
是的,諸如Splunk,ELK和Sumologic之類的工具已使搜索日志變得更快,但所有這些工具都受一件事-操作噪音的困擾。 運(yùn)營噪音是當(dāng)今IT和您的業(yè)務(wù)的無聲殺手。 這就是為什么無法發(fā)現(xiàn)應(yīng)用程序問題并需要花費(fèi)數(shù)天才能解決的原因。
新帖:我們處理了10億個Java記錄的錯誤-這是導(dǎo)致97%的錯誤的原因https://t.co/fFht52vkp1 pic.twitter.com/ddHdrTRCjA
— Takipi(@takipid) 2016年5月24日
日志現(xiàn)實(shí)
這是現(xiàn)實(shí),您只會記錄您認(rèn)為會破壞應(yīng)用程序的內(nèi)容,并且會受到記錄的數(shù)量的限制,而不會在應(yīng)用程序上產(chǎn)生不必要的開銷。 這就是為什么通過日志記錄進(jìn)行調(diào)試在生產(chǎn)環(huán)境中不起作用以及為什么大多數(shù)應(yīng)用程序問題都未被發(fā)現(xiàn)的原因。
假設(shè)您確實(shí)設(shè)法找到了所有相關(guān)的日志事件,但這還不是故事的結(jié)尾。 您通常不需要的數(shù)據(jù)就不在其中,并且您還可以添加其他日志記錄語句,創(chuàng)建新的構(gòu)建,測試,部署并希望錯誤再次發(fā)生。 哎喲。
分析時間
在Takipi,我們捕獲并分析Java應(yīng)用程序在生產(chǎn)中引發(fā)的每個錯誤或異常。 通過分析Takipi監(jiān)視的1000多個應(yīng)用程序,我發(fā)現(xiàn)了這些內(nèi)容。
高層次的總體發(fā)現(xiàn):
- 平均 Java應(yīng)用程序每月將引發(fā)920萬個錯誤
- 平均 Java應(yīng)用程序每月產(chǎn)生大約2.7TB的存儲
- 平均 Java應(yīng)用程序每月包含53個唯一錯誤
- 按頻率列出的十大Java錯誤分別是
- 空指針異常
因此,有了它,討厭的NullPointerException就應(yīng)該歸咎于日志文件中所有損壞的內(nèi)容。 具有諷刺意味的是,檢查null是2004年我是Java開發(fā)人員時在第一次代碼審查中獲得的第一個反饋。
正確,以下是過去30天中隨機(jī)選擇的企業(yè)生產(chǎn)應(yīng)用程序中的一些數(shù)據(jù):
- 25個JVM
- 29,965,285個錯誤
- 約8.7TB的存儲空間
- 353個唯一錯誤
- Java發(fā)生頻率最高的錯誤是:
- NumberFormatException
故障排除時間(射擊)
因此,您從事開發(fā)或運(yùn)營工作,并且被要求對上述每天產(chǎn)生一百萬個錯誤的應(yīng)用程序進(jìn)行故障排除,該怎么辦? 好吧,讓我們放大一下應(yīng)用程序出現(xiàn)問題的時間了嗎?
讓我們選擇一個15分鐘的時間段。 但是,在那15分鐘內(nèi),您仍然會看到10,416個錯誤。 您現(xiàn)在看到了稱為操作噪音的問題嗎? 這就是為什么人類今天要努力檢測應(yīng)用程序并進(jìn)行故障排除……并且不會變得更加簡單。
如果我們只修復(fù)了10個錯誤怎么辦?
現(xiàn)在,假設(shè)我們在上述應(yīng)用程序中修復(fù)了10個錯誤。 您認(rèn)為這10個錯誤對本應(yīng)用程序每月產(chǎn)生的錯誤計數(shù),存儲和操作噪聲有何減少?
1%,5%,10%,25%,50%?
大約97.3% 。 是的,你讀過。 在此應(yīng)用程序中僅修復(fù)10個錯誤將減少97.3%的錯誤計數(shù),存儲和操作噪聲。
在過去30天內(nèi)拋出的總29,965,285個錯誤中,該應(yīng)用程序中按頻率排列的前10個錯誤負(fù)責(zé)29,170,210個錯誤。
廢話少說
絕大多數(shù)應(yīng)用程序日志文件包含重復(fù)的廢話,您需要支付這些廢話來管理IT環(huán)境中的每一天。
您支付:
- 磁盤存儲以托管服務(wù)器上的日志文件
- 日志管理軟件許可證可通過網(wǎng)絡(luò)解析,傳輸,索引和存儲此數(shù)據(jù)
- 運(yùn)行您的日志管理軟件的服務(wù)器
- 人類來分析和管理這種運(yùn)行噪音
解決操作噪音的最簡單方法是修復(fù)應(yīng)用程序錯誤而不是忽略它們。 這不僅可以極大地改善團(tuán)隊的運(yùn)營洞察力,還可以幫助他們發(fā)現(xiàn)更多問題并更快地進(jìn)行故障排除,因為他們實(shí)際上會看到損害您的應(yīng)用程序和業(yè)務(wù)的事物。
解決方案
如果要確定并修復(fù)應(yīng)用程序中的前10個錯誤,請免費(fèi)下載Takipi ,將其粘貼在一些生產(chǎn)JVM上,等待幾個小時,按頻率對捕獲的錯誤進(jìn)行排序,然后單擊一下Takipi將向您顯示準(zhǔn)確的引起它們的源代碼,對象和變量值。 您的開發(fā)人員將在幾個小時內(nèi)就能進(jìn)行所需的修復(fù),而Bob將成為您的叔叔 。
下次在生產(chǎn)環(huán)境中進(jìn)行代碼部署時,Takipi將立即通知您所引入的新錯誤,您可以重復(fù)此過程。 我們通過兩種方式在Takipi使用Takipi來檢測SaaS平臺中的新錯誤:
Slack實(shí)時通知 ,可在發(fā)生錯誤時立即通知我們的團(tuán)隊生產(chǎn)中出現(xiàn)的每一個新錯誤,并提供一鍵式鏈接以準(zhǔn)確地找出根本原因(導(dǎo)致錯誤的源代碼,對象和變量值)。
電子郵件部署摘要報告顯示了前5大新錯誤,并直接鏈接到確切的根本原因。
最后的想法
我們一次又一次地看到生產(chǎn)中記錄在前的錯誤中的大部分時間都在浪費(fèi)時間并在記錄資源。 這些最嚴(yán)重的事件造成的損害(每次發(fā)生數(shù)百萬次)與解決這些問題所花費(fèi)的時間和精力不成比例。
本周晚些時候,我們將發(fā)布導(dǎo)致這些錯誤的十大異常類型。 敬請關(guān)注。
翻譯自: https://www.javacodegeeks.com/2016/05/crunched-1-billion-java-logged-errors-heres-causes-97.html
java10個基礎(chǔ)錯誤
總結(jié)
以上是生活随笔為你收集整理的java10个基础错误_我们处理了10亿个Java记录的错误-这是导致97%的错误的原因的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cloud foundry_介绍“又一个
- 下一篇: 结果集 tostring_关于避免对to