Redis監控主要指標及采集方法


公司的Redis業務很多,Redis監控自然也是DB監控的一大模塊,包括采集、展示、監控告警。本文主要介紹Redis監控的主要指標和采集方法。

一、Redis監控系統邏輯

1、DBA通過前台頁面添加redis監控,填寫ip和端口,配置閾值、負責人等信息

2、前台調用自動調度平台接口將redis監控采集Agent發送到目標機器上的固定文件夾,並添加crond,每分鍾運行(采集Agent包含采集程序和ip端口信息文件)

3、redis監控Agent采集相關指標通過http接口上報到mysql服務器(目標機器無法直接連接mysql)

4、前台讀取mysql數據進行展示

5、解析程序每分鍾通過讀取配置信息和Agent上報的數據進行解析並發送告警(Rtx/Wechat/Sms)給指定負責人

二、采集指標和命令

1、redis服務進程 ip-port

約定所有redis服務都必須以ip1(內網ip)來綁定,每個機器只有一個ip1,可以有多個端口,即多個redis實例。采集程序讀取ip端口信息文件來判斷有多少個實例

ps aux | grep -E "redis-server.*$port"

約定所有redis客戶端安裝標准路徑是

REDISPATH_CLI="/usr/local/redis/bin/redis-cli"

如果發現不是標准路徑會有 No such file or directory 的提示,則采集程序會在每天早上10點發送Rtx彈窗給DBA(DBA也可以根據前台頁面圖表展示來判斷該采集器有無上報數據,無上報數據則可以上機查看采集器日志)

采集器使用下面的命令來采集redis實例的所有信息,然后根據信息篩選出需要的指標上報到mysql

$REDISPATH_CLI -h ${agentIp} -p ${port} info > ${tmpFile} 2>&1

如果redis實例沒有綁定在ip1或者127.0.0.1上面則會提示Connection refused

2、連接客戶數

grep "connected_clients:" ${tmpFile} | awk -F ":" '{print $2}'

3、阻塞連接數

grep "blocked_clients:" ${tmpFile} | awk -F ":" '{print $2}'

4、 redis占用內存,單位Byte轉成MB

grep "used_memory:" ${tmpFile} | awk -F ":" '{print $2}' | awk '{printf "%.2f",$1/1024/1024}'

5、內存峰值,單位Byte轉成MB

grep "used_memory_peak:" ${tmpFile} | awk -F ":" '{print $2}' | awk '{printf "%.2f",$1/1024/1024}'

6、主從角色

grep "role:" ${tmpFile} | awk -F ":" '{print $2}' # master(主),slave(從)

7、 master_link_status

grep "master_link_status:" ${tmpFile} | awk -F ":" '{print $2}' # up down

down: Master 已經不可訪問了,Slave依然運行良好,並且保留有AOF與RDB文件

8、執行命令總數和qps

grep "total_commands_processed:" ${tmpFile} | awk -F ":" '{print $2}'

計算qps需要計算兩次total_commands_processed,然后除以時間差。邏輯是第一分鍾將total_commands_processed的值和當時采集該值的時間保存到last.cache中,第二分鍾采集的時候獲取值和時間,和上次相減得到兩個差值相除即可。

9、上報時間

reportTime=`date +'%Y-%m-%d %H:%M:00'`

時間的秒數是0,方便前台畫圖展示

三、解析告警

分析上報的指標是否異常,根據reportTime判斷Agent心跳情況,將狀態和異常信息存入mysql,發送告警給相關負責人。數據庫分表如下:

redisMonitor庫:配置表redisConf、當前狀態redisCurrentStatus、異常信息表redisDisplay

歷史庫按月分庫,按照ip分表,保存redis采集器上報數據,Ex: redisStatus167872716

四、前台展示

1、異常頁面


Redis監控主要指標及采集方法

2、狀態頁面


Redis監控主要指標及采集方法

下面關於 Redis 的文章您也可能喜歡,不妨參考下:

Ubuntu 14.04下Redis安裝及簡單測試 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis主從復制基本配置 http://www.codesec.net/Linux/2015-03/115610.htm

Redis集群明細文檔 http://www.codesec.net/Linux/2013-09/90118.htm

Ubuntu 16.04環境中安�php7.0 Redis擴展 http://www.codesec.net/Linux/2016-09/135631.htm

CentOS 7.0 安裝Redis 3.2.1詳細過程和使用常見問題 http://www.codesec.net/Linux/2016-09/135071.htm

Ubuntu 16.04環境中安裝PHP7.0 Redis擴展 http://www.codesec.net/Linux/2016-09/135631.htm

Ubuntu 15.10下Redis集群部署文檔 http://www.codesec.net/Linux/2016-06/132340.htm

Redis實戰 中文PDF http://www.codesec.net/Linux/2016-04/129932.htm

Redis 的詳細介紹 : 請點這里

Redis 的下載地址 : 請點這里

本文地址 : http://www.codesec.net/Linux/2016-11/136783.htm

本文系統(linux)相關術語:linux系統 鳥哥的linux私房菜 linux命令大全 linux操作系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM