zabbix利用discovery批量添加端口监控

首先是写脚本,输出当前windows机器监听的tcp端口

check_port.py

#!/usr/bin/python
__author__ = 'Yan'
import os
import json

data = {}
tcp_list = []
port_list = []
command = 'netstat -ano -p tcp| find "LISTENING" '
lines = os.popen(command).readlines()
for line in lines:
    port = line.split()[1].split(':')[1]
    port_list.append(port)

for port in list(set(port_list)):
    port_dict = {}
    port_dict['{#TCP_PORT}'] = port
    tcp_list.append(port_dict)

data['data'] = tcp_list
jsonStr = json.dumps(data, sort_keys=True, indent=4)
print jsonStr
这个脚本当前只能用在windows下面,linux需要用的话,大家可以自己写,只要脚本的结果输出如下格式就行了。这个脚本运行的结果如下:

{
    "data": [
        {
            "{#TCP_PORT}": "1025"
        },
        {
            "{#TCP_PORT}": "25"
        },
        {
            "{#TCP_PORT}": "1028"
        }
    ]
}
修改win下zabbix_agent的配置文件zabbix_agentd.win.conf

UnsafeUserParameters=1
UserParameter=tcpportlisten,python C:\zabbix-2.2.2_agent\check_port.py
修改完成后重启zabbix_agent服务。

这个时候在zabbix_server端就可以用zabbix_get来测试是否正常。

zabbix_get -s ip -k tcpportlisten

返回的结果和在agent上运行脚本返回的结果一致就表示正常。

在页面添加discover

在模版或者主机的页面上点击Discovery(探索),然后在右上角点击Create discovery rule(创建探索规则)

 


然后在这个新建的tcp port discover里面建立一个Item

最后创建报警的trigger

注意这个地方的表达式

{xxxxx:net.tcp.listen[{#TCP_PORT}].count(#3,0,eq)}>1
如果你是在单个机器上添加的,这里xxxxx就应该是某个机器的具体名称,如果是模版,这里就是模版的名称

.count(#3,0,eq)}>1
表示最后三次的值等于0,触发次数大于一次则报警

如果你是在主机上添加的,这个时候就能看到监控项里面多了好多端口,如果是模版添加的,则需要把模版关联到响应的主机上才能看到有监控的端口。

如下监控的端口


端口的阀值

时间: 2024-09-30 18:55:38

zabbix利用discovery批量添加端口监控的相关文章

Windows批量添加防火墙例外端口的批处理代码_DOS/BAT

Windows批量添加防火墙例外端口 复制代码 代码如下: echo off cls set var=30000 set end=30010 :continue set /a var+=1 echo add port %var% netsh firewall add portopening TCP %var% ftp_data_%var% if %var% lss %end% goto continue echo complete pause 下面的文章特色就是,如果是按顺序的可以手工添加,也可

辉哥用的这种方法实现ZABBIX的MYSQL批量监控

不错的.集中和分布式,总是一对要解决的问题.应该可以再想更好的策略~~     一.方案需求及思路 因跑MySQL服务的服务器比较多,并且每台服务器可能会运行多个不同端口的数据库,如果单独手动一台一台去修改agent.conf,web添加监控,这样太麻烦,费时费力.此时有两种方案:其一:在每台跑mysql的服务器上部署一个自动发现脚本,修改agent.conf 并自定义KEY:其二:统一由一台服务器来监控所有服务器上所有运行的mysql服务.发现好像方案二比较更简便些. 方案二思路: 假设有A.

IIS6批量添加主机头 IIS6批量绑定主机头(利用IIS6导入导出XML)_win服务器

最近配置服务器,发现设置IIS需要添加上百个主机头域名,我很快就想到批量添加主机头的方法:把IIS站配置导出一个XML,然后把所有主机头编辑到这个XML里边,最再导回到IIS6里覆盖原来的站点,这样就完成主机头的批量添加. 将网站导出为xml文件时打开我们导出的xml文件发现 复制代码 代码如下: MimeMap=".7z,application/octet-stream .iso,application/octet-stream .torrent,application/octet-strea

Linux利用nc命令监控服务器端口的方法_Linux

最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理.批量的系统监控比较好的是用nagios软件来实现,这样小项目专门装一个nagios软件,有点繁琐了.在网上查了一些资料,总结实验了一下,可以用简单的nc命令来实现. 一.nc命令检测端口的用法# nc  -v  -w 10 %IP%   -z  %PORT%-v  显示指令执行

用PS现成Action给照片批量添加个性边框

现在网上的免费电子相册受到很多喜欢拍照的朋友的欢迎,大家常常把拍摄的照片简单的用Photoshop处理一下就可以放到网上让大家来欣赏品评.在Photoshop处理图像时,为图片添加一个漂亮的边框放到网页上看起效果更美.利用Photoshop现成的Action工具可以快速.批量添加图像边框. 大家可以从这个网站下载到不少制作好的Action,网站上展示了每种边框的效果,大家可以选择自己喜欢的边框,然后下载网站提供的对应Action文件. 由于是国外的朋友提供的免费Action文件,因此其中不少执行

巧妙为Excel表格中数据批量添加各种符号

将数据录入到Excel表格中有什么难的?这可是Excel最基本的操作,只要会打字不就行了吗?然而在实际工作中,这项看似简单的操作有时却并没有那么容易完成. 由于不同的工作内容需要不同格式的数据,所以在Excel工作表中,会有各种各样类型的数据,所以在录入数据时,必须要先理解这份工作表中数据类型的含义,理清它们之间的区别.其实各类数据在输入.使用和修改的时候,都有很多小技巧可以利用,了解和掌握了这些技巧,就可以帮助我们高效并圆满地完成工作. 在Excel中快速输入各类数值 概括地说,数值类数据可以

Excel表格中批量添加符号

将数据录入到Excel表格中有什么难的?这可是Excel最基本的操作,只要会打字不就行了吗?然而在实际工作中,这项看似简单的操作有时却并没有那么容易完成. 由于不同的工作内容需要不同格式的数据,所以在Excel工作表中,会有各种各样类型的数据,所以在录入数据时,必须要先理解这份工作表中数据类型的含义,理清它们之间的区别.其实各类数据在输入.使用和修改的时候,都有很多小技巧可以利用,了解和掌握了这些技巧,就可以帮助我们高效并圆满地完成工作. 在Excel中快速输入各类数值 概括地说,数值类数据可以

为Excel表格中的数据批量添加各种符号

将数据录入到Excel表格中有什么难的?这可是Excel最基本的操作,只要会打字不就行了吗?然而在实际工作中,这项看似简单的操作有时却并没有那么容易完成. 由于不同的工作内容需要不同格式的数据,所以在Excel工作表中,会有各种各样类型的数据,所以在录入数据时,必须要先理解这份工作表中数据类型的含义,理清它们之间的区别.其实各类数据在输入.使用和修改的时候,都有很多小技巧可以利用,了解和掌握了这些技巧,就可以帮助我们高效并圆满地完成工作. 在Excel中快速输入各类数值 概括地说,数值类数据可以

给Excel表格中的数据批量添加各种符号

将数据录入到Excel表格中有什么难的?这可是Excel最基本的操作,只要会打字不就行了吗?然而在实际工作中,这项看似简单的操作有时却并没有那么容易完成. 由于不同的工作内容需要不同格式的数据,所以在Excel工作表中,会有各种各样类型的数据,所以在录入数据时,必须要先理解这份工作表中数据类型的含义,理清它们之间的区别.其实各类数据在输入.使用和修改的时候,都有很多小技巧可以利用,了解和掌握了这些技巧,就可以帮助我们高效并圆满地完成工作. 在Excel中快速输入各类数值 概括地说,数值类数据可以