Zabbix 自动发现规则(LLD) Redis实例监控

######## Created by luxf, https://www.luxifan.com ########

本文不会讲zabbix基础设置,基础内容请自己了解。
1.监控指标分析(根据自己实际场景分析,此处只是简单指标。)
在这里插入图片描述
2.创建redis监控脚本 redis_monitor.sh

vim redis_monitor.sh
 
#!/bin/bash
#Created by luxf Url:   https://www.luxifan.com
#source /etc/profile
 
echo ${1} |egrep "^[0-9]{4,5}$" >/dev/null
if [ ${?} == 0 ];then
        #获取内网地址
        Redis_Ip=$(ip addr|awk '/inet 10./ {print $2}'|sed -r 's/\/([0-9]{2})//g'|head -n 1)
        #获取redis密码
        Redis_Pass=$( (grep "^requirepass " /etc/redis/redis*${1}.conf|| echo '0 0')|head -n 1|awk '{print $2}'|tr -d "\"")
        #参数1传递端口号
        if [ ${Redis_Pass} == 0 ];then
                redis-cli -h ${Redis_Ip} -p ${1} info > /tmp/redis_${1}.log
        else
                redis-cli -h ${Redis_Ip} -p ${1} -a ${Redis_Pass} info > /tmp/redis_${1}.log
        fi
        #查询数据,redis info文本为doc格式,非unix格式,使用tr去除换行符
        Total_Keys=$( (egrep "^db[0-9]{1,2}:" /tmp/redis_${1}.log ||echo '0,0')|awk -F',' '{print $1}'|awk -F'=' '{SUM += $2} END {print SUM}'|tr -d "\r")
        Clients=$(grep "^connected_clients:" /tmp/redis_${1}.log |awk -F':' '{print $2}'|tr -d "\r")
        QPS=$(grep "^instantaneous_ops_per_sec:" /tmp/redis_${1}.log |awk -F':' '{print $2}'|tr -d "\r")
        Rss_Mem=$(grep "^used_memory_rss:" /tmp/redis_${1}.log |awk -F':' '{print $2}'|tr -d "\r")
        #部分redis没有配置MAX_MEM 输出为0
        Max_Mem=$( (grep "^maxmemory:" /tmp/redis_${1}.log || echo '0:0')|awk -F':' '{print $2}'|tr -d "\r")
        Used_Mem=$(grep  "^used_memory:" /tmp/redis_${1}.log |awk -F':' '{print $2}'|tr -d "\r")
 
        #输出Json数据结果
        echo '{"Total_Keys":"'${Total_Keys}'","Clients":"'${Clients}'","QPS":"'${QPS}'","Rss_Mem":"'${Rss_Mem}'","Max_Mem":"'${Max_Mem}'","Used_Mem":"'${Used_Mem}'"}'
else
        echo "Redis Port Error"
fi

3.使用通用自动Tcp Port发现Redis,并增加redis自定义key

#zabbix-agent.conf 中的Tcp Port自定义key
UserParameter=tcpportlisten[*],/etc/zabbix/scripts/discovertcpport.sh $1
 
#zabbix-agent.conf 中的Redis自定义key
UserParameter=check_redis[*],sudo /etc/zabbix/scripts/redis_monitor.sh $1

自发现脚本discovertcpport.sh :
https://blog.luxifan.com/api/file/getAttach?fileId=5d5e6ede491628000c000076

4.Zabbix控制台创建自发现规则
在这里插入图片描述
5.创建监控原型
在这里插入图片描述
6.创建相关项目监控
在这里插入图片描述
7.并且选择进行,进行数据解析
在这里插入图片描述
8.监控原型列表如下,跟第6步相似,修改Key即可。
在这里插入图片描述
9.创建触发,此处只写一个demo,为内存使用达到最大内存的90%进行触发(因有没有做最大内存限制的实力,固对最大内存限制为0的进行排除)。其他触发器自行根据实际需求进行添加。

触发器及图形 ,以及grafana配置 请到https://blog.luxifan.com查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值