redis监控脚本

配合redis-cli工具,编写的shell脚本。按照规则,可以监控info页面写的所有数据信息

redis-cli用法:

# redis-cli -h 127.0.0.1 -p 6379 -a passwoed     //连接指定的redis
# redis-cli info        //没有密码的情况下,打印本地redis-srv的状态信息
# redis-cli info Keyspace     //查看指定状态域的信息

脚本通过执行的参数,查看所有状态信息,匹配输出,可用参数

-p 端口,默认是6379

-s 状态域,info信息中’#‘开头的那个字段,必须指定

-k 具体key,状态域内具体的项;若该值为‘dbs‘,则是查看当前实例有几个库在使用

-d 指定当前实例的库

-o 某个库的统计选项,可以是:keys,expires,avg_ttl

脚本如下:redis_sts.sh

#!/bin/bash
host="127.0.0.1"
passwd1="password1"
passwd2="password2"
passwd3="password3"
if [ $# -lt 4 ];then
        echo "Usage: bash $0 -p [6379] -s section [-k] keys [-d] db [-o] opt"
        exit 1
else
        port=6379
        db=‘‘
        opt=‘‘
        while [ $# -gt 0 ]
        do
                if [ $1 == "-p" ];then
                        port=$2
                fi
                if [ $1 == "-s" ];then
                        section=$2
                fi
                if [ $1 == "-k" ];then
                        key=$2
                fi
                if [ $1 == "-d" ];then
                        db=$2
                fi
                if [ $1 == "-o" ];then
                        opt=$2
                fi
                shift 2
        done
fi
case $port in
        6379)
                passwd=$passwd1
                ;;
        6380)
                passwd=$passwd2
                ;;
        6381)
                passwd=$passwd3
                ;;
        *)
                passwd=""
                ;;
esac
if [[ $section == "Keyspace" && $key == "dbs" ]];then
        cmd="/usr/local/redis/bin/redis-cli -p $port -a $passwd info Keyspace |grep ‘^db[0-9]\{1,2\}:*‘|wc -l"
elif [[ ! -z $db && ! -z $opt ]];then
        cmd="/usr/local/redis/bin/redis-cli -p $port -a $passwd info Keyspace |grep $db |tr -s ‘,‘ ‘\n‘|grep $opt|cut -d ‘=‘ -f 2"
        #cmd="/usr/local/redis/bin/redis-cli -p $port -a $passwd info Keyspace |grep $db |tr -s ‘,‘ ‘\n‘ |awk -F [=] -v akey=$opt ‘/$akey/{print """$NF"""}‘"
else
        cmd="/usr/local/redis/bin/redis-cli -p $port -a $passwd info $section|grep ${key}: |cut -d ‘:‘ -f 2"
fi
#echo $cmd
eval $cmd

用法也在脚本中有说明

时间: 2024-11-05 13:03:44

redis监控脚本的相关文章

zabbix 监控redis python3脚本

一:安装redis-python模块 wge  thttps://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz tar xf redis-2.9.1.tar.gz cd redis-2.9.1 python setup.py install 二:配置zabbix (1) 将zabbix-redis.py 放入到/usr/local/zabbix/etc/scripts目录下 (2) 更改zabbix_agentd.conf

Redis监控方案

Redis介绍 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表.哈希.集合和有序集合5种.支持在服务器端计算集合的并.交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务器.Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”):也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为

Redis监控技巧总结

Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Redis 系统的状态报告. redis-cli info 内存使用 如果 Redis 使用的内存超出了可用的物理内存大小,那么 Redis 很可能系统会被OOM Killer杀掉.针对这一点,你可以通过 info 命令对used_memory和used_memory_peak进行监控,为使用内存量设定阀值,并设定相应的报警机制.当然,报警只是手段,重要的是你得预先计划好,当内存使用量过

Zabbix-2.X/3.X监控工具监控Redis以及zabbix Redis监控模板下载

为了监控Redis3的运行状况,去zabbix官网查找资料,根据提示,找到了这个项目:https://github.com/blacked/zbx_redis_template 但是文档和内容已经不匹配了,比如这个配置项: hostname = 'redis.srv.name' # Name of monitored server, like it shows in zabbix web ui 试验了 trap-message mode 和 Zabbix Agent mode 均以失败告终,然后

通过collectd工具获取虚拟机的nagios监控脚本简单例子

在宿主机上安装collectd工具后,可以通过collectd工具来获取宿主机上的虚拟机的cpu,memery,if-traffic等数据.可以通过nagios监控脚本来实现对这些数据监控. 以下是一个简单的监控虚拟机内存脚本: #!/bin/bash #Desc:to check memory about vm instance STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 COLLECTD_HOME=/usr/loca

[主机/oracle/msyql] 监控脚本

为了方便自己测试和监控,写了三个监控的脚本. 分别监控: 主机[cpu,mem,disk,fs,net] oracle mysql 脚本如下: hmon.py: monitor Linux os system including cpu,memory,disk,net,file system at a regular interval. mmon.py: monitor MySQL DataBase with innodb engine on Linux platform at a regula

Nagios中官方iptables监控脚本调整

在Nagios的官方网站上有提供一个用于监控iptables的状态的脚本,但是官方提供的脚本直接是不能使用的需要修改才能使用,在这里就大致所以下,因为Nagios的中命令机制是使用Nagios用户运行的,所以在官网上提供的脚本没有做出调整前是无法正常使用的,官网提供的iptables监控脚本很简单,是使用iptables的指令统计出INPUT上实时的条数的有多少,如果条数-1小于0就告警.但是在普通用户是无法正常使用iptables的命令,如果没有做出调整在Nagios中会出现NRPE:Unab

Memcached,redis监控详解

一.监控采集依据: 类似吞吐量,缓存的查询次数,命中率之类的 二.主要监控指标解析,通过stats命令进行采集: Uptime                   ##memcached运行时长 curr_connections          ##当前的连接数 total_connections         ##曾经打开的连接总数 connection_structures     ##服务器分配的连接数 cmd_get                   ##执行get命令总数 cmd

Cacti 模板(图形模板、数据模板、主机模板)与自定义监控脚本

Cacti定义了三种类型的模板,分别是 主机模板 数据模板 图形模板     主机模板(Host templates),它是图像模板和数据查询的一个集合,描述了监控某一类型的机器需要生成那些图像. 数据模板(Data templates),它描述了 Cacti 存储哪些数据到指定类型的 RRD 文件.该模板与 RRDTool 工具的 create 命令相关. 图形模板(Graph templates),描述了生成的一张图像应该是什么样子的.包括使用哪些数据模板.展示哪些元素.是否使用 CDEF