1.1 問題
2020-12-04,客戶側redis集群版監控db0 cpu突增至100%,導致資料庫無法正常服務,經排查客戶側業務上存在2m左右的大key導致db0阻塞。並且客戶側使用的集群連線方式為預設proxy模式,如下圖所示,db0阻塞導致其他節點也無法正常服務;處理辦法:客戶側配合切斷大key業務的高頻繁次呼叫,請求恢復。
圖1:proxy模式
1.2 思考
此次問題導致客戶側課程報名入口嚴重受損,進而引發深度思考。在使用redis等產品方面的監控報警手段不夠完善,不夠仔細,並且後續再檢視業務日誌發現錯誤率已經逐漸增多,直至redis層面表現出來才get到問題所在。針對此次redis的大key問題,給客戶提供了關於大key以及熱點key的分析辦法,並建議完善客戶側監控報警的可讀性以及業務日誌介面的錯誤告警。
2.1 redis監控指標分享
redis集群版雲監控指標如下表所示。
監控項單位
metricname
dimensions
statistics
2.2 redis大key分析
1.在控制台選擇對應的例項,進行大key及hot key分析處理。
圖2:例項分析
2.利用api介面進行分析大 key以及hot key。
2.3 資料庫同環比監控
建立分組報警規則目前已更新至分組介面。
2.3.1 建立應用分組
圖3:建立應用分組
2.3.2 建立報警規則
圖4:建立報警規則
圖5:設定報警規則
利用sls接入客戶端日誌,可以通過設定規則建立儀錶盤以及實現報警。此方案日誌接入採取logtail方式內網傳輸。
3.1 安裝logtail
安裝logtail方法可參考文後資料[2]。
3.2 建立project和logstore
登入日誌服務控制台,依次建立對應地域的project及logstore。
圖6:project-logstore建立
3.3 資料接入嚮導
此次客戶側日誌格式分別為json、log4j。
3.3.1 json
選擇json文字日誌》選擇現有機器組》對應logtail配置
圖7:logtail配置
1.設定索引
對於多重json日誌,需要將字段型別更改為json。
圖8:設定索引
2.查詢分析
圖9:查詢分析
3.3.2 log4j
選擇正則文字日誌>選擇現有機器組>對應logtail配置
1.正則識別首行
圖10:設定自動生成
2.提取字段
圖11: 日誌提取字段
3.設定索引
注意:只對新寫入資料生效。
圖12:設定索引
4.查詢分析
圖13:查詢分析
3.4 日誌報警
3.4.1 儀錶盤
圖14:儀錶盤資訊展示
3.4.2 報警
在儀表右上側導航欄中單擊告警,在下拉列表中選擇建立。
圖15:建立告警
圖16:告警內容設定
URL頁面監控最佳實踐
對於我們提供服務的應用來說,特別是web應用,光有埠監控是遠遠不夠的,因此埠還活著並不能代表應用還活著,我們的服務是否還能正常提供 業 務邏輯是否正常等等,都不能由埠還活著來標示,因此我們會通過url頁面監控的方式來進一步監 控 應用可用和業務邏輯可用。一般我們進行url頁 面監控有以下四種方式 1...
Spring Boot 的 Redis 最佳實踐
org.springframework.bootgroupid spring boot starter data redisartifactid dependency configuration public class redisconfig extends cachingconfigurersu...
SAP最佳業務實踐解決業務方案簡介
3.1 sap最佳業務實踐中國通用版 sap最佳業務實踐中國通用版參考很多其他sap最佳業務實踐國家通用版本,並結合中國不同企業實施sap通常的業務流程將其進行總結歸納,同時財務功能配置上採用了中國的會計科目 稅碼 完全符合中國的會計準則。另外,sap最佳業務實踐中國通用版還提供中文版的資產債表 盈...