首页 > 其他 > 详细

zabbix监控redis状态(五)

时间:2017-01-12 16:11:08      阅读:240      评论:0      收藏:0      [点我收藏+]

1.redis 监控脚本

#!/bin/bash
# by ckl893
ARG1=$1
ARG2=$2

func_connected_clients () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "connected_clients" | awk -F‘:‘ ‘{print $2}‘
}


func_mem_unilization () {
        MEM_USE=$(/app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "\<used_memory\>" | awk -F‘:‘ ‘{print $2}‘)
        MEM_TOT=$(/app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "\<total_system_memory\>" | awk -F‘:‘ ‘{print $2}‘)

        MEM_USE1=`echo $MEM_USE | tr -d ‘\r‘`
        MEM_TOT1=`echo $MEM_TOT | tr -d ‘\r‘`
        mem_unilization=`echo "scale=2;$MEM_USE1 / $MEM_TOT1" | bc | awk ‘{printf "%.2f", $0}‘`
        echo $mem_unilization
}

func_cpu_sys_used () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "\<used_cpu_sys\>" | awk -F‘:‘ ‘{print $2}‘
}

func_cpu_user_userd () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "\<used_cpu_user\>" | awk -F‘:‘ ‘{print $2}‘
}


func_hit_rate () {
        HIT=$(/app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "keyspace_hits" | awk -F‘:‘ ‘{print $2}‘)
        MISS=$(/app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "keyspace_misses" | awk -F‘:‘ ‘{print $2}‘)

        HIT1=`echo $HIT | tr -d ‘\r‘`
        MISS1=`echo $MISS | tr -d ‘\r‘`
        ALL=`expr $HIT1 + $MISS1`
        hit_rate=`echo "scale=2;$HIT1 / $ALL" | bc | awk ‘{printf "%.2f", $0}‘`
        echo $hit_rate
}

func_total_connections_received () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "total_connections_received" | awk -F‘:‘ ‘{print $2}‘
}

func_total_commands_processed () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep "total_commands_processed" | awk -F‘:‘ ‘{print $2}‘
}

func_db_keys () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep db0 | awk -F‘[:=,]+‘ ‘{print $3}‘
}

func_db_expires () {
        /app/local/redis/bin/redis-cli -h 127.0.0.1 -p ${ARG1} info | grep db0 | awk -F‘[:=,]+‘ ‘{print $5}‘
}

case $ARG2 in 
connected_clients)
        func_connected_clients
        ;;
mem_unilization)
        func_mem_unilization
        ;;
cpu_sys_used)
        func_cpu_sys_used
        ;;
cpu_user_userd)
        func_cpu_user_userd
        ;;
hit_rate)
        func_hit_rate
        ;;
total_connections_received)
        func_total_connections_received
        ;;
total_commands_processed)
        func_total_commands_processed
        ;;
db_keys)
        func_db_keys
        ;;
db_expires)
        func_db_expires
        ;;
*)
        echo "what can i do for you!"
        ;;
esac
exit 0

2.添加配置文件参数

vim /usr/local/zabbix-agent/etc/zabbix_agentd.conf
#redis_stat
UserParameter=redis.status[*],/bin/bash /usr/local/zabbix-agent/scripts/redis_stat.sh $1 $2

3.重启zabbix进程

/etc/init.d/zabbix_agentd restart

4.添加模板

技术分享

5.添加item

技术分享

注意

技术分享

7.添加graph

技术分享

8.查看图形

技术分享

本文出自 “深呼吸再出击” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1891388

zabbix监控redis状态(五)

原文:http://ckl893.blog.51cto.com/8827818/1891388

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!