-
部署Redis-CentOS7
yum install epel-release -y
yum install redis -y
vim /etc/redis.conf
bind 0.0.0.0
systemctl restart redis
systemctl enable redis
-
编写监控脚本
cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
vim redis_monitor.sh
#!/bin/bash
redis_status(){
R_PORT=$1
R_COMMAND=$2
(echo -en "INFO \r\n";sleep 1;) | nc 127.0.0.1 "$R_PORT" > /tmp/redis_"$R_PORT".tmp
REDIS_STAT_VALUE=$(grep ""$R_COMMAND":" /tmp/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
添加执行权限
chmod a+x redis_monitor.sh
测试脚本
bash redis_monitor.sh redis_status 6379 used_memory
Zabbix agent添加自定义监控项
vim /usr/local/zabbix/etc/zabbix_agentd.conf +299
UserParameter=redis.status[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/redis_monitor.sh "$1" "$2" "$3"
重启agentd
systemctl restart zabbix-agent
systemctl enable zabbix-agent
-
zabbix server测试监控项数据
/usr/local/zabbix/bin/zabbix_get -s 172.24.77.243 -p 10050 -k "redis.status["redis_status","6379","connected_clients"]"
-
zabbix web模板制作
创建模板
配置--模板--创建模板
模版名称:redis-monitor
群组:Templates
创建监控项一:
配置--模板 --监控顶--redis-monitor--创建监控项
名称:redis-connectios
类型:zabbix客户端主动模式
键值:redis.status["redis_status","6379","connected_clients"]
信息类型:数字(无正负)
更新间隔:3s
历史数据保留时长:Storage period 90d
趋势存储时间:Storage period 365d
创建监控项二:
名称:redis-mem
键值:redis.status["redis_status","6379","used_memory"]
创建触发器
配置--模板 --监控顶--redis-monitor--触发器--创建触发器
名称:redis-connections
严重性:严重
表达式:{redis-monitor:redis.status["redis_status","6379","connected_clients"].last()}>2000
redis-mem
表达式:{redis-monitor:redis.status["redis_status","6379","used_memory"].last()}>21474
创建图形
配置--模板--redis-monitor--图形--创建图形
名称:redis-conncetions
名称:redis-mem
监控项:[memcache: memcache-当前连接数]
模板关联主机
配置--主机--模板--连接指示器-redis-monitor--添加--更新
监控测试结果