最近一个月没啥更新,身边发生太多事,毕业几年来霉运太多,虽然不信命,但我信有些人命的确好,有些人命的确差,其它不说也罢。(大家一定要注意身体啊,健康比任何东西都重要)
本文要监控的这个脚本,是在一个月前左右,对于线上redis中项指令操作需要进行统计分析时写的一个工具:
一.需求
由于是其于client的分布式缓存,需要知道每个结点,当前每秒所处理的指令有哪些,主要集中在哪些操作,哪些操作过多,可以进行优化等.基于这些需求,需要知道现在线上每个redis结点下有哪些操作。
二.背景
redis-monitor指令可以导出当前redis结点所有操作的二进制文件(此操作不建议常开,只是分析时用,对redis结点有性能影响)。
其中业界使用比较多的redis-live,此监控还基于图形化的方式部署,中间我也 部署过,安装的东西很多,一堆流程,而且我们不需要这么详细的监控,只是一个分析帮助工具,所以太笨重了,其也是基于redis-monitor的脚本分析来进行监控的。
三.工具
考虑到我们只是需要对redis-monitor所导出的二进制文件进行一些统计,因此这样就相对比较简单了,java,shell脚本都可以实现,当然如果要做shell是首选。
可是考虑到shell对处理文本的局限性,因此考虑使用python来实现(解析性语言,总体感觉是,简单,易用,还不需要像java那样烦锁的打包,发布等