文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

redis监控脚本

2024-04-02 19:55

关注

配合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



用法也在脚本中有说明

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯