【Day48】Redis监控主要指标及采集方法
来源:互联网 发布:网络安全法的全面性 编辑:程序博客网 时间:2024/05/13 16:41
公司的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、异常页面
2、状态页面
1 0
- 【Day48】Redis监控主要指标及采集方法
- 数据库监控及指标
- 监控指标数据采集和展示
- 摄像机主要指标及参数
- Loadrunner主要监控指标计数器的添加
- Java虚拟机监控指标及监控配置
- zabbix采集软件指标实现方法
- 肝纤维化及肝硬化主要检测指标
- mysql性能监控指标及分析
- mysql性能监控指标及分析
- mysql性能监控指标及分析
- mysql性能监控指标及分析
- 业务指标可视化及监控系统搭建
- mysql性能监控指标及分析
- 性能测试指标及常用监控工具
- 主机系统监控指标获取方法
- 数据库监控相关:连接方式、主要采集信息
- ganglia监控hadoop相关配置及监控指标说明
- jquery代码实现点击全选和取消全选只执行一次的问题
- DSP:C54x定时器及使用定时器产生led的1s周期闪烁
- TNS:listener does not currently know of SID given in connect descriptor
- 怎么写一个侧边栏(一)
- 《MySQL基础语句及命令大全*图文一》
- 【Day48】Redis监控主要指标及采集方法
- BZOJ1922: [Sdoi2010]大陆争霸
- JSP的JavaBean和动作元素(三)
- 内核对轮询IO(阻塞/非阻塞)的实现
- 哈希学习简介
- MySQL重装
- Docker学习记录
- Redis进阶
- hdu1568 Fibonacci(log取对数 / Fib数通项公式)