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
用法也在脚本中有说明
分享题目:redis监控脚本
网站链接:http://scyanting.com/article/gessci.html