阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix自动发现Redis端口并监控Redis性能

228次阅读
没有评论

共计 2691 个字符,预计需要花费 7 分钟才能阅读完成。

不得不说,我在监控 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

Zabbix 自动发现 Redis 端口并监控 Redis 性能

其他问题:
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

Zabbix 自动发现 Redis 端口并监控 Redis 性能

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

Zabbix 自动发现 Redis 端口并监控 Redis 性能

创建自动发现监控项

Zabbix 自动发现 Redis 端口并监控 Redis 性能

3. 配置正则

Zabbix 自动发现 Redis 端口并监控 Redis 性能

Zabbix 自动发现 Redis 端口并监控 Redis 性能

 4、添加监控项原型

Zabbix 自动发现 Redis 端口并监控 Redis 性能

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

Zabbix 自动发现 Redis 端口并监控 Redis 性能

 6. 查看监控数据图

Zabbix 自动发现 Redis 端口并监控 Redis 性能

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

一些 Zabbix 相关教程集合

Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装  http://www.linuxidc.com/Linux/2015-05/117657.htm

安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/136933.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2691字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中