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