監控最佳實踐 redis及業務介面

2021-10-21 14:00:16 字數 2466 閱讀 4859

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最佳業務實踐中國通用版還提供中文版的資產債表 盈...