linux监听redis服务,Zabbix自动发现Redis端口并监控Redis性能

不得不说,我在监控redis 这里卡了有一天半的时间,zabbix_get也可以获取到数据,就是没有自动生成监控项和监控图像,后来干脆把别人的模板抛弃,自己重新建立模板和监控项,就都出来了。真是无语的很。大概因为是zabbix的版本号不一样导致的吧

一:客户端配置

1.自动发现redis端口的脚本,脚本要给755权限,属主是zabbix

chmod 755  /etc/zabbix/alertscripts/zabbix_discovery_redis.sh

chown zabbix.zabbix /etc/zabbix/alertscripts/zabbix_discovery_redis.sh

1234567891011121314151617181920212223 #!/bin/bash

#Fucation:MySQL low-level discovery

#Script_name zabbix_discovery_redis.sh

redis() {

port=($(sudo netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))

printf '{\n'

printf '\t"data":[\n'

for key in ${!port[@]}

do

if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then

socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`

printf '\t {\n'

printf "\t\t\t\"{#REDISPORT}\":\"${port[${key}]}\"},\n"

else [[ "${key}" -eq "((${#port[@]}-1))" ]]

socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`

printf '\t {\n'

printf "\t\t\t\"{#REDISPORT}\":\"${port[${key}]}\"}\n"

fi

done

printf '\t ]\n'

printf '}\n'

}

$1

因为要在模板里面套用redis端口。所以脚本检测出来的端口格式必须是json

6a874e70873a5ddbf3b6fdd977610f1e.png

其他问题:

zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,因此可以配置sudo解决,也可以使用chmod +s /bin/netstat进行解决。

这里我使用了sudo

vim /etc/sudoers

#Defaults    requiretty

Defaults:zabbix    !requiretty

zabbix  ALL=(root)      NOPASSWD:/bin/netstat

2.添加zabbix_agent配置文件

[root@test zabbix_agentd.conf.d]# cat /etc/zabbix/zabbix_agentd.conf.d/check_redis.conf

UserParameter=redis.discovery[*],/etc/zabbix/alertscripts/zabbix_discovery_redis.sh $1

UserParameter=redis_stats[*],(echo info; sleep 1) | telnet 127.0.0.1 $1 2>&1 |grep $2|cut -d : -f2

测试zabbix_get是否能获取到redis数据

[root@test alertscripts]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k redis_stats[6379,connected_clients]

1

3.重启zabbix_agent

service zabbix_agentd restart

二.服务器端配置

1、创建模板

模板名称: Template_Redis_Monitor,创建应用check_redis

931eccffa8686f73484c4529676687b5.png

2、创建自动发现规则

给已创建好的模板Template_Redis_Monitor添加自动发现规则。

5165ef45f246a7043e5bf1401cef3616.png

创建自动发现监控项

f3ca299f4d6c8cfa78bfb5138bc97e09.png

3.配置正则

7f5470ed18ce12db25c19d84927c44eb.png

7b146b8c9303ce600f71eafe5d02e95a.png

4、添加监控项原型

1cf635db7ea0ce292aa87654443e4b07.png

5.再来看看主机关联模板后的监控项:

b2693759b0b747d6dcc209153dc48e0e.png

6.查看监控数据图

a5cac60d201a1d6cbc69a4e6db36bb3b.png

这里我只是监控了一个项。其他的请自行拓展,如有问题请留言。

一些Zabbix相关教程集合:

ZABBIX 的详细介绍:请点这里

ZABBIX 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值