zabbix 监控redis
1. 在zabbix_agent 配置脚本
#!/bin/bash
redis_status(){
R_PORT=$1
R_COMMAND=$2
(echo -en "INFO \r\n";sleep 1;) | ncat 127.0.0.1 "$R_PORT" > /usr/local/zabbix/redis_"$R_PORT".tmp
REDIS_STAT_VALUE=$(grep ""$R_COMMAND":" /usr/local/zabbix/redis_"$R_PORT".tmp | cut -d ':' -f2)
echo $REDIS_STAT_VALUE
}
help(){
echo "${0} + redis_status + PORT + COMMAND"
}
main(){
case $1 in
redis_status)
redis_status $2 $3;;
*)
help ;;
esac
}
main $1 $2 $3
root@Z4:~# mkdir /usr/local/zabbix
root@Z4:~# chown zabbix.zabbix /usr/local/zabbix -R
root@Z4:/etc/zabbix/zabbix_agentd.d# chmod +x redis.sh
2. 调用脚本
先再本机测
root@Z4:/etc/zabbix/zabbix_agentd.d# bash redis.sh redis_status 6379 connected_clients
1
再修改zabbix-agent.conf
UserParameter=redis.status[*],/etc/zabbix/zabbix_agentd.d/redis.sh "$1" "$2" "$3"
再在proxy 或server 上测,若遇到以下问题 ,是由于/usr/local/zabbix/redis_6379.tmp 刚才脚本用bash执行过,删除即可
root@z2:~
/etc/zabbix/zabbix_agentd.d/redis.sh: 7: /etc/zabbix/zabbix_agentd.d/redis.sh: cannot create /usr/local/zabbix/redis_6379.tmp: Permission denied
1
在server或proxy 上测
root@z2:~# zabbix_get -s 192.168.1.104 -p 10050 -k redis.status[redis_status,6379,connected_clients]
2
root@z2:~# zabbix_get -s 192.168.1.104 -p 10050 -k redis.status[redis_status,6379,used_memory]
881992
3. 创建模板、监控项、图形
4.创建触发器
当redis 连接数大于3时报警
验证
当redis 连接数大于3时报警
长黑虚线为3 ,触发器的准线