zabbix自动发现redis端口并监控redis性能

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

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

这里参考的文章:

http://dl528888.blog.51cto.com/2382721/1366309

http://www.cnblogs.com/mushroom/p/4738170.html

一:客户端配置

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/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

wKioL1gZpyuyttEPAAAR6gws7xI000.png

其他问题:

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

这里我使用了sudo

1
2
3
4
vim  /etc/sudoers
#Defaults    requiretty
Defaults:zabbix    !requiretty
zabbix  ALL=(root)      NOPASSWD: /bin/netstat

2.添加zabbix_agent配置文件

1
2
3
[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数据

1
2
[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

wKiom1gZp8yQNL-bAABx2u1pCZE867.png


2、创建自动发现规则

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


wKioL1gZqJqyuPipAABhpmB3N3M828.png


创建自动发现监控项


wKiom1gZqCajQJq6AACbFfHvhew318.png


3.配置正则


wKioL1gZqMDSRNxtAABDwoyI5YY995.png

wKioL1gZqNWC5qCHAABNkuFkQ1k613.png


 4、添加监控项原型


wKiom1gZqQLhGHbWAACRPfUQeM4791.png


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


wKiom1gZqR7hraXFAACWt4xrgmg479.png


 6.查看监控数据图


wKioL1gZqTXiWopXAAC4yH9f4nc357.png





本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1868574,如需转载请自行联系原作者
相关文章
|
1月前
|
监控 应用服务中间件 nginx
基于Zabbix的SLA监控体系构建与实践
本文由Zabbix社区专家褚凤彬分享,详解SLA在Zabbix中的应用。通过Trigger与Service联动,构建Web应用的多层级监控体系,并介绍SLA计算规则、维护期处理及升级注意事项,助力企业精准掌控服务可用性。
324 36
|
2月前
|
存储 缓存 NoSQL
Redis持久化深度解析:数据安全与性能的平衡艺术
Redis持久化解决内存数据易失问题,提供RDB快照与AOF日志两种机制。RDB恢复快、性能高,但可能丢数据;AOF安全性高,最多丢1秒数据,支持多种写回策略,适合不同场景。Redis 4.0+支持混合持久化,兼顾速度与安全。根据业务需求选择合适方案,实现数据可靠与性能平衡。(238字)
|
6月前
|
NoSQL 算法 安全
redis分布式锁在高并发场景下的方案设计与性能提升
本文探讨了Redis分布式锁在主从架构下失效的问题及其解决方案。首先通过CAP理论分析,Redis遵循AP原则,导致锁可能失效。针对此问题,提出两种解决方案:Zookeeper分布式锁(追求CP一致性)和Redlock算法(基于多个Redis实例提升可靠性)。文章还讨论了可能遇到的“坑”,如加从节点引发超卖问题、建议Redis节点数为奇数以及持久化策略对锁的影响。最后,从性能优化角度出发,介绍了减少锁粒度和分段锁的策略,并结合实际场景(如下单重复提交、支付与取消订单冲突)展示了分布式锁的应用方法。
503 3
|
7月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
362 8
|
9月前
|
消息中间件 缓存 NoSQL
Redis原理—5.性能和使用总结
本文详细探讨了Redis的阻塞原因、性能优化、缓存相关问题及数据库与缓存的一致性问题。同时还列举了不同缓存操作方案下的并发情况,帮助读者理解并选择合适的缓存管理策略。最终得出结论,在实际应用中应尽量采用“先更新数据库再删除缓存”的方案,并结合异步重试机制来保证数据的一致性和系统的高性能。
Redis原理—5.性能和使用总结
|
9月前
|
NoSQL API Redis
Redis Plus 来了,性能炸裂!
Redis Plus 来了,性能炸裂!
175 21
|
8月前
|
运维 监控 NoSQL
【赵渝强老师】监控Redis
Redis 实例的监控是运维管理中的关键内容,主要包括内存、吞吐量、运行时信息和延时的监控。 1. **监控内存**:使用 `info memory` 可查看 Redis 内存使用情况,包括已用内存、峰值内存等。 2. **监控吞吐量**:通过 `info stats` 获取每秒处理命令数(OPS)、网络输入输出流量等。 3. **监控运行时信息**:利用 `info` 命令结合 `grep` 过滤出客户端连接数、拒绝连接数等重要信息。 4. **监控延时**:可以通过客户端手动监控或服务器内部延迟监控来检测延时问题。
267 3
|
9月前
|
存储 缓存 监控
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
161 23
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
246 25

推荐镜像

更多