对于多实例部署的tomcat.redis等应用,可以利用zabbix的low level discovery功能来实现监控,减少重复操作.  注:Zabbix版本: Zabbix 3.0.2 一.服务端配置 1.创建模板 模板名称: Template_Redis_Monitor   2.创建自动发现规则 给已创建好的模板Template_Redis_Monitor添加自动发现规则.       3.添加监控项原型 从上面截图可以看到,我已经创建了4个,具体如下:   看看其中一个:   再来看看…
1.自动发现实例端口脚本,用于zbx item prototypes #!/bin/bash REDIS_PORT=`ps aux |grep redis-server | grep -v 'grep'|awk -F'[:]' '{print $4}'` COUNT=`echo "$REDIS_PORT" | wc -l` INDEX=0 echo '{"data":[' echo "$REDIS_PORT" | while read LINE;…
今天我们来聊一聊Low level discovery这个功能,我们为什么要用到loe level discovery这个功能呢? 很多时候,在使用zabbix监控一些东西,需要对类似于Itens进行添加,这些items具有一些共同特性, 如果说某些特定的参数是变量,而其他设置都一样,例如:一个程序有多个端口,需要多端口进行监控并配置Itmes,还有磁盘分区,·网卡名称等等, 都是具有不确定性,如果我们配置固定的Items的话,会出现无法通用的问题,所以呢,我们需要来了解一下low level …
1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些Iterms具有共同的特征,表现为某些特定的参数是变量,而其他设置都是一样的,例如:一个程序有多个端口,而需要对端口配置Iterms.再如,磁盘分区,网卡的名称等等,由于具有不确定性,古配置固定的Items会出现无法通用的问题. Low level discovery的Key可以对网卡.文件系统等进行自动发现,当然也支持自定义. Low level discovery的使用过程分如下两步: (1)自动发现特定变量的…
概述 zabbix采用Trapper方式监控redis status 原理 redis-cli info命令得到redis服务器的统计信息,脚本对信息分两部分处理: (1)# Keyspace部分为Zabbix agent,因为不确定db的数目所以此段的items也不确定,Zabbix server需要low level discovery(redis.discovery脚本)来确定db的数目以确定对redis服务器发起哪些items请求 (2)其余部分为Zabbix trapper,脚本整理这…
一.zabbix 自动发现并监控redis多实例 1.1 编写脚本 1.1.1 redis_low_discovery.sh 用于发现redis多实例 [root@redis02 homed]# cat /usr/local/zabbix/redis_low_discovery.sh #!/bin/bash # line: V1.0 # mail: gczheng@139.com # data: 2018-08-06 # script_name: redis_low_discovery.sh #…
利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://github.com/blacked/zbx_redis_template,此处采用python版本. 需要下载的文件: zbx_redis.conf zbx_redis_stats.py zbx_redis_templates.xml 本例先用python版本. 1.安装python需要的库: pip…
Zabbix 监控redis 1.监控脚本,github上的 [root@localhost ~]# cat /etc/zabbix/script/redis-status.sh #!/bin/bash #Redis status METRIC="$2" SERV="$1" DB="$3" PORT=" if [[ -z "$1" ]]; then echo "Please set server"…
准备 先准备两台服务器,已经部署好了zabbix-sever和zabbix-agent zabbix-server 192.168.1.70 centos7.2 zabbix-agent 192.168.1.70 centos7.2 zabbix-agent端 安装部署redis redis的部署过程就不介绍了,百度一大堆 安装好redis之后,用redis info命令查看redis信息 [root@localhost zabbix_agentd.d]# redis-cli -a ac1234…
一:安装redis-python模块 wge  thttps://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz tar xf redis-2.9.1.tar.gz cd redis-2.9.1 python setup.py install 二:配置zabbix (1) 将zabbix-redis.py 放入到/usr/local/zabbix/etc/scripts目录下 (2) 更改zabbix_agentd.conf…
agent上起了多了 mysql实例,占用不同的端口,agent 仅在初始状况下,塞入脚本和 键配置,然后重启. 以后维护的时候(mysql端口变动),要做到 不能 动agent,力争 只在 web端 或者server端做修改 就能自动监控到对应端口. 用到的主要工具: 宏(分为模板宏,主机宏,自动发现宏) 主机宏格式:$MACRO (直接就可以 填 值) 自动发现宏:#MACRO (需要配合 创建的 key 取值) 大体架构 1.agent主机 -- agent 主机创建 宏变量 $MYSQL…
导入监控模板 点击[configuration]-->[templates]-->[import],导入xml监控模板. 配置客户端key 在被监控的主机上,新建/etc/zabbix/zabbix_agentd.d/userparameter_redis.conf配置文件,在最后一行加入: UserParameter=redis_stats[*],redis-cli -h 127.0.0.1 -p $1 info|grep $2|cut -d : -f2 重启服务应用最新的配置文件 #注意确…
创建采集脚本 mkdir -p /etc/zabbix/scripts chown -R zabbix.root /etc/zabbix/scripts vim redis_status.sh  #!/bin/bashREDISPATH="/usr/local/redis/bin/redis-cli"HOST="127.0.0.1"PORT="6379"REDIS_INFO="$REDISPATH -h $HOST -p $PORT -…
1)agent端配置 安装redis yum install epel-release -y yum install redis -y 配置认证密码 #vim /etc/redis.conf requirepass redhat #systemctl restart redis 获取redis的item值shell脚本 #vim /etc/zabbix/zabbix_agentd.d/redis_status.sh #/bin/bash R_COMMAND="$1" R_PORT=&q…
1.创建redis监控项[配置]-[主机]-[监控项]-创建监控项,监控6379端口(注意关闭防火墙或者开启防火墙端口6379) redis配置文件设置允许任何地址监听: 添加监控项 2.创建redis触发器,[配置]-[主机]-[触发器]-创建触发器,端口为0时触发(端口为1表示正常,端口为0表示断开) 主机有一个监控项和触发器 3.创建动作触发器,[配置]-[动作]-右上角事件源,下拉选择触发器-创建动作 redis 挂掉后发送信息给微信,执行远程命令重启redis 注意:zabbix远程命…
redis  可以直接使用zabbix官方的模板 模板地址: https://github.com/blacked/zbx_redis_template redis 主机通过脚本把数据推送到zabbix server 1.下载模板文件导入模板 2.把模板关联到redis主机上 3.在redis 主机上编辑Python脚本 vim /data/app/zabbix/script/zbx_redis-stats.py #!/usr/bin/python import sys, redis, json…
配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加  Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本对redis连接情况进行取值 [root@-node01 scripts]# cat redis_agent_monitor.sh #!/bin/bash agent_monitor_result=`/usr/local/bin/redis-cli -h r*****aliyuncs.com -p 6379…
配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加  Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本对redis key值进行取值 [root@ scripts]# cat spider_failed_times.sh #!/bin/bash failed_keys=`/usr/local/bin/redis-cli -h ********* -p -a ****** keys "(m****or)*&q…
一.zabbix 监控 PHP-FPM应用实战Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP-FPM呢,我们说PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHP FastCGI管理器,它提供了更好的PHP进程管理方式,可以有效控制内存和进程.可以平滑重载PHP配置,对于PHP 5.3.3之前的php来说,它是一个补丁包,而从PHP5.3.…
zabbix监控redis脚本 #!/bin/bash #此脚本用来获取redis-cli info信息 redis_cli="/usr/local/redis/bin/redis-cli" redis_host="127.0.0.1" redis_pass="123456" redis_port="6379" if [[ $# == 1 ]];then result=`$redis_cli -h $redis_host -p…
前言:Redis作为缓存服务器我想大家都比较的熟悉,那么,如果想要更好的维护和监控,那么我们会对其redis服务器统一监控起来,如何监控呢?如果在生产环境一台服务器部署多个redis,这样就会出现多个端口,如何实施有效的监控呢?下面看下多给出的实录~ [redis-agent端] 主要用于接受redis性能参数 # vim  /etc/zabbix/zabbix_agentd.d/redis_status  #!/bin/bash REDISCLI="/usr/local/redis/bin/r…
前面已经介绍过Tomcat单机多实例部署,接下来就在他的基础上进行下一步操作:Tomcat多实例监控! Tomcat多实例监控过程和之前的redis多实例原理一样,分为以下4步: 1.获取多实例 2.采集数据 3.制作模板 4.主机套模板 一.获取多实例 在前面我们已经知道Tomcat多实例的目录结构如下: 获取多实例之前,需要进行如下设置: 1.在bin目录下的catalina.sh脚本增加如下内容 # ----- Execute The Requested Command ---------…
基于zabbix 的memached 多实例监控 zabbix agentd 配置文件新增配置: UserParameter=memcached.server.discovery[*],ps uax |grep $1|grep -v grep | while read line; do if [[ -n "$line" ]]; then echo "{"; memcached_host=echo $line |grep -Eo '\-l[[:space:]]+(([…
一 Tomcat监控 1.1.1 Tomcat 端配置 JMX 编辑catalina.sh文件,配置如下: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote # 启用远程监控JMX -Dcom.sun.management.jmxremote.port=12345 # 默认启动的JMX端口号,要和zabbix添加主机的端口一致 -Dcom.sun.management.jmxremote.authenticate=false…
运行环境: OS:CentOS 6.8 / Python: 2.6.6 / Pip: 7.1.0 / Redis:3.0 / Zabbix:3.0.3 Zabbix官方提供的监控模板. 项目地址:https://github.com/blacked/zbx_redis_template 官方提供Python和Nodejs两种版本的监控脚本,本文使用Python脚本. 运行环境配置: 1. 修改Host文件: [root@localhost /] vim /etc/hosts 添加如下内容: 17…
说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监控tomcat实例.本文就以监控tomcat线程为例,来实现这个自动发现的功能.这里zabbix版本为3.0. 创建自动发现脚本 可以理解为这个脚本能够打印出当前服务器上所有的tomcat实例名称.zabbix会定期执行这个脚本,做到自动发现当前所有的tomcat实例,脚本放在zabbix-agen…
为了监控Redis3的运行状况,去zabbix官网查找资料,根据提示,找到了这个项目:https://github.com/blacked/zbx_redis_template 但是文档和内容已经不匹配了,比如这个配置项: hostname = 'redis.srv.name' # Name of monitored server, like it shows in zabbix web ui 试验了 trap-message mode 和 Zabbix Agent mode 均以失败告终,然后…
一.启动redis-server cd /data/redis redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据): seq |while read line; do redis-cli set key_${line} value_${line}; done 二.redis-cli info查看redis的运行信息 used_memory_rss #占用系统的内存 used_memory #key所占用的内存 mem_fragment…
一.系统环境: 物理机:dell R640 操作系统:centos7 二.安装MegaCli 监控主要是通过MegaCli 软件获取到物理主机的read及硬盘相关状态信息.然后通过zabbix的自定义报警进行监控. MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定,一般通过机房人员巡检来完成,有没有通过软件的方式来检查确定这个问题呢.MegaCli…
zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SNMP interfaces) 关联监控模版. IPMI 建议使用自定义item监控服务器硬件,在本地执行ipmitool命令来获取数据 可以在本地执行ipmitool命令获取数据(命令需要安装)连接远程控制卡监控 JMX(使用Zabbix Java Gateway代理) 用来获取java数据,实现监…