• DB监控-redis监控


      公司的redis业务很多,redis监控自然也是DB监控的一大模块,包括采集、展示、监控告警。本文主要介绍redis监控的主要指标和采集方法。

      1、redis服务进程 ip-port

    约定所有redis服务都必须以内网ip来绑定,可以有多个端口,即多个redis实例。采集程序读取ip端口信息文件来判断有多少个实例

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

    约定所有redis客户端安装标准路径是

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

    如果发现不是标准路径会有 No such file or directory 的提示,则采集程序会在每天早上10点发送弹窗给DBA(DBA也可以根据前台页面图表展示来判断该采集器有无上报数据,无上报数据则可以上机查看采集器日志)

    采集器使用下面的命令来采集redis实例的所有信息,然后根据信息筛选出需要的指标上报到mysql

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

    如果redis实例没有绑定在内网IP或者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,方便前台画图展示

     

    原创文章,转载请备注原文地址 http://www.cnblogs.com/lxmhhy/p/6034549.html

  • 相关阅读:
    (转)vim重复命令
    (转)Linux 目录结构
    (转)Linux 文件权限
    (转)Linux查看用户及其权限管理
    linux banner命令
    redmine和svn server的部署
    OpenCV学习 7:图像形态学:腐蚀、膨胀
    OpenCV学习 6:平滑滤波器 cvSmooth()——2
    《将博客搬至CSDN》
    OpenCV学习 5:关于平滑滤波器 cvSmooth()函数
  • 原文地址:https://www.cnblogs.com/lxmhhy/p/6034549.html
Copyright © 2020-2023  润新知