文档章节

zabbix自动发现监控redis数据库

鸿弟
 鸿弟
发布于 2016/11/12 12:57
字数 621
阅读 3345
收藏 128
点赞 3
评论 0

zabbix自动发现监控redis数据库与自动发现mongo,mysql的思路差不多。这次汇总完就把模板,脚本上传到git上。如果公司使用的redis都是6379端口的话,那么还是建议创建一套模板,然后链接到各个服务器即可。如果公司的redis使用的端口比较多,各个都不一样,那还是自动发现并监控redis比较方便。还是一样,先来看下监控的效果图:

上述图形是使用zabbix的筛选功能汇总在一起的图片。监控redis的客户端连接数,使用的内存,实际使用的内存和redis的内存碎片化情况。

 

下面来讲讲自动发现redis的实现,首先,还是先看下redis自动发现的配置:

探索规则配置完后,同样的在zabbix agentd端需要添加如下配置然后重启zabbix_agentd,配置如下:

UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py

其中/usr/local/zabbix/discover_redis.py自动发现的脚本内容如下 :

#coding:utf-8
import json
import commands

(status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'redis-server'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u''')
outputs = output.split('\n')
ports = []
for port in  outputs:
    ports += [{'{#REDISPORT}': port}]

print json.dumps({'data':ports},sort_keys=True,indent=4)

同样的,还是使用netstat发现正在监听的端口,visudo的权限也是需要加入netstat的权限。visudo添加如下:

zabbix ALL= NOPASSWD: /bin/netstat
Defaults:zabbix   !requiretty

 

探索完端口后,zabbix server就会以端口为参数向zabbix agentd获取数据,其中项目原型配置如下:

其中redis.status的键值需要在zabbix agentd客户端进行配置,配置如下:
UserParameter=redis.status[*],sh /usr/local/zabbix/check_redis.sh -k $1 -p $2 (如果有密码的话,加个-P参数,例如-P 'xxxx')

获取redis数据的/usr/local/zabbix/check_redis.sh脚本如下,其中-k表示获取redis info的哪个值,-p表示端口,如果redis有密码的话,-P参数也需要传入。

#!/bin/sh
while getopts "p:k:P:" opt
do
        case $opt in
                p ) redis_port=$OPTARG;;
                k ) info_key=$OPTARG;;
                P ) redis_passwd=$OPTARG;;
                ? )
                echo 'parameter is wrong!'
                exit 1;;
        esac
done
if [ ! "${redis_port}" ] || [ ! "${info_key}" ];then
        echo "parameter is null"        
        exit 1
fi

if [ "${redis_passwd}" ];then
        result=`/usr/local/bin/redis-cli -a ${redis_passwd} -p ${redis_port} info|grep "${info_key}:"|cut -d: -f2`
else
        result=`/usr/local/bin/redis-cli -p ${redis_port} info|grep "${info_key}:"|cut -d: -f2`
fi
echo $result

通过以上的配置,就能实现自动发现并监控redis了,监控完把数据添加到筛选里面,就能得到如图1的那张数据图。

模板见:https://git.oschina.net/zhuangweihong/ops

© 著作权归作者所有

共有 人打赏支持
鸿弟
粉丝 65
博文 51
码字总数 33082
作品 0
杭州
运维
zabbix如何监控多个JMX/Redis等实例

本文主要主要是谈思路,不谈具体的配置过程。推荐有zabbix基础的人看,特别是有zabbix自动发现、lld(low-level-discovery)经验的同学。 zabbix自动发现 如果没有了解过zabbix自动发现,请看...

胡雨生 ⋅ 2017/05/14 ⋅ 0

zabbix自动发现监控redis数据库

zabbix客户端: 添加redis自动发现脚本如下: 添加获取redis数据的脚本如下:其中-k 表示获取redis.info的哪个值,-p表示端口,-P表示密码,如果有需要的话可以加入。 chmod +x /etc/zabbix...

ly8006 ⋅ 01/16 ⋅ 0

zabbix监控系统的介绍及zabbix监控系统的高级应用

监控系统:zabbix 数据的采集-》存储-》报警(告警)-》展示 监控对象:包括主机,主机之间的数据流量 主机:硬件设备 系统指标:CPU,memory io(disk磁盘io network网络io) cpu:sys(系统空...

paomom ⋅ 2017/12/05 ⋅ 0

利用zabbix API进行管理

zabbix 现在之所以那么流行,个人感觉跟zabbix 强大的API有一个很大的关系,利用API可以帮我们完成很多事情: 1、获取相关组,主机信息。 2、比如有人喜欢获取历史数据重新出图。 3、添加删除...

小罗ge11 ⋅ 2016/07/17 ⋅ 0

Redis 学习(Zabbix 监控Redis)

Redis 学习(Zabbix 监控Redis) 前面redis的配置文件盒常用命令、redis info信息都解释完了,接下来就是监控我们的redis了,我使用的是zabbix监控软件,所有在这里我在这里详细介绍下怎么设...

Aloneforyou ⋅ 2014/08/08 ⋅ 0

京东MySQL监控之Zabbix优化、自动化

随着京东业务的飞速发展, MySQL数据库的使用更加普及、服务器量级飞速增长,这对京东MySQL DBA团队的要求也越来越高。监控系统为数据库管理和维护提供了精确的数据依据,是数据库运维人员的...

lover007 ⋅ 2016/08/02 ⋅ 0

zabbix lld结合pycurl批量监控网站服务质量

前两天看到博客有监控web的,之前也写过pycurl的监控状态;后面想想web监控咱们何不直接通过zabbix的方式监控;zabbix确实是个万花筒,这个也是我喜欢zabbix的一个原因之一吧;pycurl可以参考...

小罗ge11 ⋅ 2016/07/24 ⋅ 0

利用微信公众号实现zabbix告警

之前觉得没必要写这个,这两天有同学问到zabbix关于微信告警的相关问题,于是昨天就注册了一个微信公众号,当做学习交流一下; 首先;我们要明白我们创建微信公众号发送消息到底需要哪些参数...

小罗ge11 ⋅ 2016/08/12 ⋅ 0

Zabbix监控Redis

了解Redis的info 要获得Redis的当前情况,使用info命令即可。具体用法:#redis-cli -h 127.0.0.1 -p 6379 -a redispasswd info [参数] 。针对不同的参数就会看到具体的数字,如果没有带参数,...

苏幕遮618 ⋅ 2017/12/04 ⋅ 0

企业级监控 Zabbix 的安装与使用

Zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。目前Git@OSC的服务器均使用Zabbix进行集群监控,写这篇博客也是为了记录安装使用过程中的一些总结。...

Zoker ⋅ 2015/04/30 ⋅ 10

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 7分钟前 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 22分钟前 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 今天 ⋅ 8

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部