SpringBoot+Logback+Sentry(日誌監控平臺)

相關地址:

官網:https://getsentry.com/welcome/

github:https://github.com/getsentry/sentry

安裝手冊:https://docs.getsentry.com/hosted/quickstart/

別人家的:http://blog.gaoyuan.xyz/2013/12/18/deploy-sentry-in-product/

Sentry介紹:

無論測試如何完善的程序,bug總是免不了會存在的,有些bug不是每次都會出現,測試時運行好好的代碼可能在某個用戶使用時就歇菜了,可是當程序在用戶面前崩潰時,你是看不到錯誤的,當然你會說:”Hey, 我有記日誌呢”。 但是說實話,程序每天每時都在產生大量的日誌,而且分佈在各個服務器上,並且如果你有多個服務在維護的話,日誌的數量之多你是看不過來的吧。等到某天某個用戶實在受不了了,打電話來咆哮的時候,你再去找日誌你又會發現日誌其實沒什麼用:缺少上下文,不知道用戶什麼操作導致的異常,異常太多(從不看日誌的緣故)不知如何下手 等等。

Sentry就是來幫我們解決這個問題的,它是一款精緻的Django應用,目的在於幫助開發人員從散落在多個不同服務器上毫無頭緒的日誌文件裏發掘活躍的異常,繼而找到潛在的臭蟲。

Sentry是一個日誌平臺, 它分爲客戶端和服務端,客戶端(目前客戶端有Python, PHP,C#, Ruby等多種語言)就嵌入在你的應用程序中間,程序出現異常就向服務端發送消息,服務端將消息記錄到數據庫中並提供一個web節目方便查看。Sentry由python編寫,源碼開放,性能卓越,易於擴展,目前著名的用戶有Disqus, Path, mozilla, Pinterest等。

不管你用什麼編程語言,都會面臨如何處理錯誤日誌的問題。很多程序員對錯誤日誌放任自流,直到出現故障了才追悔莫及,如果問我怎麼辦,我會推薦 Sentry!

Sentry 是一個錯誤記錄和聚合的平臺,只要看看它漂亮的界面就會喜歡上它:


Logback集成:



下面這段logback集成配置xml:




總結:

雖然從上面測試看起來,程序效率下降了大概1/4左右,但測試畢竟和實際應用有一些差距,實際運行的應用有更復雜的邏輯,更多的運算和更多的io操作,所以實際上sentry的影響會很小,而帶來的好處則很多,並且,Sentry是一個平臺級的服務,一旦構建好,所有應用都可以使用受益。

當然,Sentry和log不是相互重疊的東西,他們各有用處,不能把Sentry當做log來使用,大量的網絡操作對應用程序來說還是會有影響的。而且有了Sentry後log還是需要的,Sentry在服務器網絡異常時會失效,並且業務邏輯的跟蹤等等也離不開log。


祝大家生活愉快,(*^__^*)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章