1. 0254游戏网首页
  2. 软件教程

zabbix自定义监控项教程

zabbix自定义监控项教程

有的朋友想在zabbix添加额外的监控项,但是不知道zabbix怎么自定义监控项,其实只需要在主界面中进行手动配置即可。

zabbix自定义监控项

1、首先打开zabbix,进入“配置”-“主机”-“监控项”

2、进入后,点击右上角的“创建监控项”

3、再输入需要监控的名称、类型等信息,即可完成添加。

4、添加后,在“监测中”的“最新数据”下就可以看到监控数据了。

5、我们还可以在“主机”的“触发器”中为监控项设置触发器。

6、填写名称和监控数据后,点击“插入”

7、插入触发器后如果数据存在异常就会自动报警。

zabbix 如何监控多实例tomcat,求大神!给指教

方法如下:

首先,需要创建个文档test.txt,将服务和端口写进去。

tomcat|8080|
tomcat|8089|

然后,server_port.py来读取文档并输出json串(服务:端口)。
此脚本经过修改,可以输出多个参数。也加上简单的异常处理。注意修改文件路径。

#!/usr/bin/env python
import os
import json
import sys

f = open("/../test.txt", "r")
ports = []
for port in f.readlines():
if not port.strip():continue
r = port.strip().split('|')
if len(r)<3:continue
ports +=[{'{#'+r[0].upper()+'PORT}':r[1],'{#'+r[0].upper()+'A}':r[2]}]
# ports +=[{'{#'+r[0].upper()+'PORT}':r[1]},{'{#'+r[0]+'A}':r[2]}]
print json.dumps({'data':ports},sort_keys=False,indent=4,separators=(',',':'))

在tomcat中配置管理用户名和密码。此处开放的权限还是比较大的,生产环境建议做下处理。

$TOMCAT_HOME/conf/tomcat-users.xml
默认的<tomcat-users>是注释掉的,需要放开注释并添加。manager-gui权限太大,改为manager-status则只能查看状态页,而不能做manager操作,更加安全。
<del> <role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="zabbix" password="zabbix" roles="manager-gui,admin-gui"/></del>

<role rolename="manager-status"/>
<user username="zabbix" password="zabbix" roles="manager-status"/>

最后,mon_tomcat.py进行监控,参数有两个:上一步获取的端口和具体的指标信息。注意修改tomcat配置的用户名和密码。
#!/usr/bin/python
import urllib2
import xml.dom.minidom
import sys

url = 'http://127.0.0.1:'<span style="color:#FF6666;">+sys.argv[1]+</span>'/manager/status?XML=true'
username = 'zabbix'
password = 'zabbix'

passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
pagehandle = urllib2.urlopen(url)
xmlData = pagehandle.read()
doc = xml.dom.minidom.parseString(xmlData)

item =<span style="color:#FF6666;"> sys.argv[2]</span>

if item == "memory.free":
print doc.getElementsByTagName("memory")[0].getAttribute("free")
elif item == "memory.total":
print doc.getElementsByTagName("memory")[0].getAttribute("total")
elif item == "memory.max":
print doc.getElementsByTagName("memory")[0].getAttribute("max")
elif item == "threadInfo.maxThreads":
print doc.getElementsByTagName("threadInfo")[0].getAttribute("maxThreads")
elif item == "threadInfo.currentThreadCount":
print doc.getElementsByTagName("threadInfo")[0].getAttribute("currentThreadCount")
elif item == "threadInfo.currentThreadsBusy":
print doc.getElementsByTagName("threadInfo")[0].getAttribute("currentThreadsBusy")
elif item == "requestInfo.maxTime":
print doc.getElementsByTagName("requestInfo")[0].getAttribute("maxTime")
elif item == "requestInfo.processingTime":
print doc.getElementsByTagName("requestInfo")[0].getAttribute("processingTime")
elif item == "requestInfo.requestCount":
print doc.getElementsByTagName("requestInfo")[0].getAttribute("requestCount")
elif item == "requestInfo.errorCount":
print doc.getElementsByTagName("requestInfo")[0].getAttribute("errorCount")
elif item == "requestInfo.bytesReceived":
print doc.getElementsByTagName("requestInfo")[0].getAttribute("bytesReceived")
elif item == "requestInfo.bytesSent":
print doc.getElementsByTagName("requestInfo")[0].getAttribute("bytesSent")
else:
print "unsupport item."

自定义key是两条,一个是发现端口,一个是tomcat指标。脚本路径根据实际情况修改
UserParameter=server.discovery,/../server_port.py
UserParameter=tomcat.status[*],/../mon_tomcat.py $1 $2

模板改成自动发现的模板,还有将端口加进去。
在此列一条吧:
<name>最大处理时间{#TOMCATPORT}</name>
<key>tomcat.status[{#TOMCATPORT},requestInfo.maxTime]</key>

权限和路径要进行相应的设置和修改

Zabbix介绍与使用

Zabbix是一个基于web界面的提供分布式监控以及网络监视功能的企业级解决方案
能监视各种网络参数,保证服务系统的安全运营,并通知让管理员快速定位与解决问题

zabbix由两部分组成,Zabbix Server和Zabbix Agent,server通过SNMP, agent, ping,端口监视等方法提供对远程服务器的监视,数据收集,可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。

Server可以单独监视服务器的状态,同时也可以与agent配合,可以轮训agent注定接受监视数据,或被动接受agent发送的数据

通过邮件,短信等实现的自动报警机制
通过web界面查看监控状态
通过SNMP协议实现对打印机,路由,交换机等设备的监控
通过agent实现服务器主机的监控
通过ping或者port方式实现ip 端口监控

CPU负载
内存使用率(虚拟内存/交换内存)
网络:网络传输,网络丢包,故障
磁盘:磁盘IO,使用率
Service:进程,界面,TCP端口,响应时间,DNS,NTP
LOg:日志监控
FIle:文件监控
Other:性能

按照时间等级通知对应人员,实现及时报警,拦截问题作用
10分钟未解决,短信或邮件通知管理员
15分钟未解决,通知运维人员
30分钟未解决,通知项目负责人员

主页:系统信息
监控节点信息概览
问题概览

可以选择zabbix提供的公共应用,也可以自定义应用

如果选择了一些通用应用,会自动出现该应用下的通用监控项item,也可以自定义一些item

如果要使用自定义的监控项,需要
4.1

写自己的监控脚本,如果需要接受参数就跟在后面
4.2 添加自定义item

空间占用率大于80%就会出现告警

声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!