Zabbix监控多实例Redis
软件名称 | 软件版本 |
---|---|
Zabbix Server | 6.0.17 |
Zabbix Agent | 5.4.1 |
Redis | 6.2.10 |
Zabbix客户端配置
编辑自动发现脚本
vim /usr/local/zabbix/scripts/redis_discovery.sh
#!/bin/bash
#Fucation:redis low-level discovery
#Script_name redis_discovery.sh
redis() {#port=($(netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))#port=($(ps aux|grep redis-server|grep -v grep|awk -F ":" '{print $3}'|awk '{print $1}'))port=($(ps aux|grep redis-server|grep -v grep|awk -F "[ :]+" '{print $14}'))printf '[\n'for key in ${!port[@]}doif [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];thenprintf "\t{\"{#REDISPORT}\":\"${port[${key}]}\"},\n"else [[ "${key}" -eq "((${#port[@]}-1))" ]]printf "\t{\"{#REDISPORT}\":\"${port[${key}]}\"}\n"fidoneprintf ']\n'
}
$1chmod +x /usr/local/zabbix/scripts/redis_discovery.sh
测试
# ./redis_discovery.sh redis
[{"{#REDISPORT}":"6381"},{"{#REDISPORT}":"6384"}
]
编辑信息获取脚本
调整主机名及密码
vim /usr/local/zabbix/scripts/redis_stats.sh
/usr/local/bin/redis-cli -h 192.168.62.31 -a Redis -p $1 info 2> /dev/null|awk -F ':' '{if ($1=="'$2'") print $2}'chmod +x /usr/local/zabbix/scripts/redis_stats.sh
测试
./redis_status.sh 6381 used_cpu_sys
705.29
编辑配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/multiple_redis.conf
UserParameter=redis_discovery[*],/bin/bash /usr/local/zabbix/scripts/redis_discovery.sh $1
UserParameter=redis_stats[*],/bin/bash /usr/local/zabbix/scripts/redis_stats.sh $1 $2
Zabbix服务端配置
测试数据获取
zabbix_get -s 192.168.62.31 -p 10050 -k redis_discovery[redis]
zabbix_get -s 192.168.62.31 -p 10050 -k redis_stats[6381,used_cpu_sys]
创建模板
配置模板名称及群组
创建自动发现规则
配置自动发现名称,键值,更新间隔
创建监控项原型
配置名称,键值,更新间隔
其他监控项使用相同的方式进行配置即可
彩蛋
附上配置的模板
zbx_export_templates.yaml
https://www.aliyundrive.com/s/m6oUapHmyWD
提取码: r63m
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
心得
初次配置自动发现时获取的数据为如下格式,配置一直存在问题
{"data":[{"{#REDISPORT}":"6381"},{"{#REDISPORT}":"6384"}]
}
后面观察其他自动发现才确认正确的数据格式