监控redis进程使用的内存

本文分享了一个用于监控Redis服务器内存使用情况和性能指标的Shell脚本。该脚本通过解析Redis的信息命令输出来获取关键性能指标,如keyspace命中率、miss率以及过期键的数量,并结合ps命令获取Redis进程的内存使用百分比和大小等信息。根据这些信息,脚本会判断Redis服务器的状态是否正常,并输出相应的警告级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
STAT_OK=0
STAT_WARNING=1
STAT_CRITICAL=2
STAT_UNKNOWN=3
rds='/home/rediserver/bin/redis-cli'
stats=`$rds info Stats`
]+/,"","g",$1)}'`ho "$stats"| awk '/keyspace_hits/{print gensub(/[a-z_:\n
]+/,"","g",$1)}'`echo "$stats"| awk '/keyspace_misses/{print gensub(/[a-z_:\n
]+/,"","g",$1)}'`o "$stats"|awk '/expired_keys/{print gensub(/[a-z_:\n
summary="keyspace_hits:$keyspace_hits keyspace_misses:$keyspace_misses expired_keys:$expired_keys" 
pmem=`ps -eo pmem,rsz,comm,pcpu|grep redis-server`
eval $(echo $pmem|awk '{print "precent="$1,"res="$2,"name="$3,"cpu="$4}')
prec=`echo $precent|awk '{print int($1)}'`
mem=$[ $res/1024]
msg_ok="Memory OK - Used: $precent%,${mem}MB,CPU: $cpu% $name | $summary"
msg_warn="Memory Warning - Used: $precent%,${mem}MB,CPU: $cpu% $name | $summary"
msg_critical="Memory Critical - Used: $precent%,${mem}MB,CPU: $cpu% $name | $summary"
if [ $prec -gt 90 ];then
        echo $msg_critical
        exit $STAT_CRITICAL
elif [ $prec -gt 80 ];then
        echo $msg_warn
        exit $STAT_WARNING
else
        echo $msg_ok
        exit $STAT_OK
fi

转载于:https://my.oschina.net/sskxyz/blog/490337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值