日志-告警

日志規(guī)范

服務指標

image.png

1.事前預防(預防降低故障幾率)

? 監(jiān)控預警
? 日常健康度巡檢
? 穩(wěn)定性checklist
? 研發(fā)規(guī)范
? 容量規(guī)劃
? 壓測
? 回滾措施
? 容錯設計
? 依賴治理
? 慢sql 治理
? 故障演練
? 應急預案

2.事中處理(處理應對,止損恢復)

? 監(jiān)控告警
? 重啟
? 回滾
? 快速擴容
? 熔斷降級
? 服務流控
? 服務補償
? 問題快速定位
? 信息同步

3.事后復盤(復盤優(yōu)化)

? 故障案例復盤
? 損失統(tǒng)計
? 系統(tǒng)優(yōu)化
? Checklist 完善

規(guī)范日志目的

為了達到發(fā)生error異常告警后,開發(fā)立馬能介入并且快速定位問題。目前監(jiān)控主要是針對error日志,其實后面將會根據(jù)情況,對關(guān)鍵接口的接口請求、耗時等等都做監(jiān)控。

目前存在的問題

  1. 日志打印的不是太規(guī)范,導致error太多,真正有效的信息也被淹沒了
  2. 沒有及時關(guān)注異常
  3. 日志不夠細膩,打印的太泛

改造后的要求

遇到ERROR告警必須解決,找到原因,排期上線

統(tǒng)一好工具等

  1. 全局異常攔截類對日志的打印
    @ControllerAdvice的類,對于業(yè)務異常,只打印warn級別,其他的使用自帶的攔截器,需要自己排查一下項目這個全局異常攔截的打印情況

  2. 異常類(BusinessException等)
    使用統(tǒng)一的異常攔截類

  3. http的公共工具類,都需要支持打印返回值,方便排查

  4. 使用LocalDate, 使用javax.validation-api對接口參數(shù)進行校驗

1.如何打好日志

INFO

  1. 核心的配置加載,變化等都需要打?。喝?code>kafka是否啟動,加載xxx是否成功定時任務是否啟動等等
  2. 處理核心、重要任務時候流程中,比如在開始計算每個任務的開始信息等等。會參與計算,以及比較核心的信息都可以打出來。
  3. 核心、重要業(yè)務的增,刪,改在修改后都必須打印日志
  4. 對于核心、重要業(yè)務在開始走流程的時候,都建議打印入?yún)?,以及開始標志,結(jié)束后打印出參,以及結(jié)束標志。耗時的話根據(jù)業(yè)務情況增加

WARN

  1. 對于程序出現(xiàn)異常,但是并不需要人工介入,依靠代碼容錯機制等即可恢復的就可考慮打印warn,例如:配置文件未配置,但是有默認值
  2. 對于業(yè)務異常,但是是屬于正常業(yè)務的范圍內(nèi),也僅需要打warn,同時根據(jù)業(yè)務情況可以考慮不打印。
    例如:
    • 調(diào)用參數(shù)異常
    • 一些異常數(shù)據(jù),但是這些異常數(shù)據(jù)是老的數(shù)據(jù)并不影響主流程
  3. 對于業(yè)務并無影響,或者就算報錯了,也沒關(guān)系,不影響其他的,可以考慮僅打印warn

ERROR

  1. 對于rpc,http等形式調(diào)用其他服務,都需要考慮try-catch異常,打印包括入?yún)?/strong>, 出參,返回結(jié)果等錯誤信息。
    改造后需要考慮catch住異常和拋出去的區(qū)別,如果不知道有什么影響可以先catch住,打印錯誤信息后,再次拋出
  2. 對于業(yè)務,出現(xiàn)程序無法處理,需要人工介入才能恢復的問題,也是需要打印error日志,將詳細的參數(shù)信息打印好

告警處理

  1. 細分錯誤種類
  • 對于已知錯誤閾值可調(diào)高(例如調(diào)用不穩(wěn)定的下游超時),配置好熔斷
  • 對于未知錯誤要做到靈敏,有錯誤就解決
  1. 告警分組,靈敏、非核心的告警盡量只知會系統(tǒng)相關(guān)的人,出現(xiàn)大量的錯誤,嚴重的錯誤,告知范圍擴大到全組,方便所有人跟進

監(jiān)控

監(jiān)控大屏的搭建,對于一些核心指標必須有(多個維度的:業(yè)務指標、基礎組件、性能指標等等),例如:


image.png

這些指標也需要設置對應的告警,大于、小于多少的閾值,各種環(huán)比的閾值等等

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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