zabbix监控之自定义监控项目

zabbix搭建好后,除了调用默认的模板,还要监控其它常用的进程,有redis,rsync,nginx,gunicorn,mysql等等都要进行监控。

自定义监控的配置过程如下:

1、编写进程监控脚本,获取监控项的具体值

2、在zabbix_agentd.conf文件中定义UserParameter

3、在界面配置item,通过键值来控制传参

4、查看监控数据情况

5、配置触发器,用来报警

6、宕服务测试

对于zabbix的安装与邮件报警设置,可参考两篇文章。

http://yangrong.blog.51cto.com/6945369/1541810  zabbix监控之基于LNMP环境安装

http://yangrong.blog.51cto.com/6945369/1541822  zabbix监控之同时向多人邮件报警

1、编写进程监控脚本,获取监控项的具体值

进程监控脚本构思:

根据名称或端口号来判定该程序是否存在。

如果传参包含端口号,则根据端口号判断进程,有返回1,没有返回0。

如果不包含端口号,根据进程名判断进程,有返回1,没有返回0。

注:所编写的脚本只需要输出具体值即可,无须像nagios那样返回退出值,描述信息等。

[[email protected] python]# catprocess_port.py
#!/usr/bin/python
#Auth:yangrong
#function:check process_nameor check process_port
#date:2014-8-18
 
 
import os,sys,commands
 
 
 
def help():
        print "Usage:  "
        print "       %s process_name [process_port]"%sys.argv[0]
        print "Example: "
        print "       %s mysql         ;If the process_nameexists, output 1, otherwise 0"%sys.argv[0]
        print "       %s nginx  80     ;If the process_port exists, output 1,otherwise 0"%sys.argv[0]
        print "       %s mysql  3306 "%sys.argv[0]
 
 
def check_process_name():
       process_num=commands.getstatusoutput("ps -ef|grep -v grep|grep -v%s|grep -v ‘\[%s\]‘|grep %s|wc -l "%(sys.argv[0],sys.argv[1],sys.argv[1]))
        #print process_num
        if not process_num[1]:
                print "0"
                return
        if int(process_num[1]) >= 1:
                print "1"
        else:
                print "0"
 
 
 
def check_process_port():
       process_num=commands.getstatusoutput("netstat -lnt|grep -v grep|grep ‘:%s ‘|wc -l"%sys.argv[2])
        if int(process_num[1]) >=1:
                print "1"
        else: 
                print "0"
 
 
###start execute
if len(sys.argv) == 2:
        check_process_name()
        sys.exit()
elif len(sys.argv) == 3:
        check_process_port()
        sys.exit()
else:
        help()
        sys.exit()

2、在zabbix_agentd.conf文件中定义UserParameter

在zabbix agent端修改zabbix_agentd.conf文件:

用户参数=键值[*],命令

echo ‘UserParameter =check_process[*],/usr/bin/python /python/process_port.py $1 $2 ‘ >>/usr/local/zabbix/etc/zabbix_agentd.conf  #添加用户参数

/etc/init.d/zabbix_agentdrestart    #重启zabbixagent服务

agent端本机测试:

在中括号中内容为传参内容,如果要传参多个,用逗号隔开,第一个则是$1,第二个则是$2。

[[email protected] python]#/usr/local/zabbix/sbin/zabbix_agentd -t check_process[hello]

check_process[hello]                          [t|0]

#返回结果为0,代表hello进程不存在。

[[email protected] python]#/usr/local/zabbix/sbin/zabbix_agentd -t check_process[mysql]

check_process[mysql]                          [t|1]

#返回结果为1,代表mysql进程存在。

[[email protected] python]#/usr/local/zabbix/sbin/zabbix_agentd -t check_process[mysql,3306]

check_process[mysql,3306]                     [t|1]

测试可用,接下来在主界面配置监控

3、在界面配置item,通过键值来控制传参

【组态】à【主机】à【项目】à【创建监控项】

此处键值的用法和zabbix_agentd.conf中定义的UserParameter一致。

4、查看监控数据情况

【监控中】à【最新数据】 最新数据为1,监控正常。

5、配置触发器,用来报警

【组态】à【主机】à【触发器】à【创建触发器】

6、宕服务测试

在agent client端,宕掉mysql。邮箱1分钟后收到报警。

成功收到报警邮件,自定义监控及报警配置完成。

zabbix监控之自定义监控项目,布布扣,bubuko.com

时间: 2024-10-14 16:54:04

zabbix监控之自定义监控项目的相关文章

Spring Boot 揭秘与实战(九) 应用监控篇 - 自定义监控端点

文章目录 1. 继承 AbstractEndpoint 抽象类 2. 创建端点配置类 3. 运行 4. 源代码 Spring Boot 提供的端点不能满足我们的业务需求时,我们可以自定义一个端点. 本文,我将演示一个简单的自定义端点,用来查看服务器的当前时间,它将返回两个参数,一个是标准的包含时区的当前时间格式,一个是当前时间的时间戳格式. 继承 AbstractEndpoint 抽象类 首先,我们需要继承 AbstractEndpoint 抽象类.因为它是 Endpoint 接口的抽象实现,此

基于zabbix的Mysql自定义监控

Mysql自定义监控 需求:公司需要做mysql的数据监控,对mysql的状态,流量进行监控. 分析:zabbix自动就有Template App MySQL模版,我们只要添加mysql监控脚本就可以实现自定义监控. 配置如下: zabbix的服务端搭建,这里不再演示,我这里的zabbixserver已经配置好的了,直接进入mysql监控构建. 1.建立mysql host groups组 mysql模板是 zabbix系统提供的,进入 zabbix web 后台,配置-->主机群组-->点击

按照zabbix客户端及自定义监控nginx连接状态

一.下载客户端按照包,这里用rpm包安装 [[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.4-1.el7.x86_64.rpm 修改客户端配置文件 Server=127.0.0.1 ServerActive=127.0.0.1 改为zabbix server实际的IP地址(比如zabbix server的IP地址为10.0.0.100) Server=

2019.11.2 Zabbix agent端监控及自定义监控项配置

一.Linux-agent端的操作: vim /etc/hostname HOSTNAME=agent.zabbix.com hoastname agent.zabbix.com bash cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdo

Zabbix添加SNMP自定义监控项OID出现“No Such Instance currently exists at this OID”

原因:zabbix 是用snmpget来获取指定的OID数据,snmpwalk是遍历某个OID下的数据. 所以一定要用snmpget来验证某个OID是否正确. snmptranslate 获取的OID,用snmpwalk可以获取数据,但是snmpget需要多加一个.0 [[email protected] externalscripts]# snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysClientsslStatTotConns1m.1.3.6.1.4.1.

自定义监控(阿里云&zabbix)

自定义监控(阿里云&zabbix) 目前阿里云对25端口有限制,无法在阿里云上搭建邮件服务器发送告警邮件,如果需要邮件通知,可以采取下面方法: 1.开同阿里云企业邮箱 2.使用阿里云监控告警 3.第三方zabbix自定义脚本监控 一.阿里云自定义监控 阿里云提供自定义监控SDK,这有助于我们定制化的根据自身业务来做监控,下面我就根据业务需求来介绍一个简单的自定义监控配置. 阿里提供了2个版本的自定义监控接口: 自定义监控SDK(python版) :cms_post.py 自定义监控SDK(bas

阿里云自定义监控tomcat进程数

阿里云提供自定义监控SDK,这有助于我们定制化的根据自身业务来做监控,下面我就根据业务需求来介绍一个简单的自定义监控配置. 阿里提供了2个版本的自定义监控接口:自定义监控SDK(python版) :cms_post.py自定义监控SDK(bash版) :cms_post.sh下载地址:http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974901 本文使用shell版本做演示       这里说下我的简单需求,我们需要监控ECS服务

zabbix服务器添加监控主机,使用监控模板及自定义监控项

上一篇博文记录了<Ubuntu系统LNMP环境下安装配置zabbix3.04>,这里我记录了添加监控主机,添加监控模板和自定义监控CPU 添加监控主机 1.监控主机安装zabbix-agent $ sudo apt-get install zabbix-agent 2.修改zabbix_agent.conf配置文件 $ sudo vi /etc/zabbix/zabbix_agentd.conf - Server=120.40.*.* #zabbix-server端IP - ServerAct

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警 监控端配置:(192.168.4.5) 1基础环境:(实验环境可以关闭防火墙,但生产环境不能关闭,否则不安全,要设置相应规则) [[email protected]桌面]# /etc/init.d/iptables stop [[email protected]桌面]# setenforce 0 2搭建lamp平台,(它运行在lamp平台上) [[email protected]桌面]# yum -y install htt