1、新建客户端需要的脚本

# vim discovertcpport.sh

#!/bin/bash
portarray=(`sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`)
length=${#portarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"

2、客户端增加discovery的key

UserParameter=tcpportlisten,/usr/local/zabbix_agent/sbin/discovertcpport.sh "$1"

3、重启zabbix_agentd服务

# /etc/init.d/zabbix_agentd restart

4 、服务端测试

# /usr/local/zabbix/bin/zabbix_get  -s 192.168.0.111   -k tcpportlisten
{
"data":[
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""}
]
}

返回类似以上内容即为正常

5、在Linux模板中创建端口自动发现规则

然后创建项目原型

此处要确实注意端口变量{#TCP_PORT}名称要与上面脚本中的保持一致。

再创建触发器原型

到此,监控端口已经完成。

-------------------------------------------------------

可能遇到的问题:

1 、 执行脚本的时候发现提示  Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) 应该是没权限的意思,

2  、添加完自动发现规则之后,提示  Value should be a JSON object 这个错误

解决办法是 vim /etc/sudoers

#Defaults    requiretty  注释掉这个

zabbix  ALL=(ALL)      NOPASSWD: ALL 添加此行

然后在上面的脚本里面加上sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq

--------------------------------------------

附:tomcat端口监控脚本

#!/bin/bash
sudo netstat -tnlp|grep "java"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq >/tmp/tomcat
portarray=(`sudo grep "^$1$" /tmp/tomcat`)
length=${#portarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#TOMCAT_PORT80}\":\"${portarray[$i]}\"}"
if [ $i -lt $[$length-] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"

UserParameter=tomcat_port8080[*],/etc/zabbix/monitor_scripts/discover_tomcat8080.sh $1

#  zabbix_get -s 172.17.213.62 -k tomcat_port8080[8080]

{
"data":[
{"{#TOMCAT_PORT8081}":"8081"}
]
}

Zabbix实现自动发现端口并监控的更多相关文章

  1. zabbix 添加自动发现端口并监控

    最近在部署zabbix监控  有些服务器上开启的服务端口非常多  如果一个个添加监控会很繁琐,于是想到了自动发现规则  自动发现服务器上的服务端口并进行监控. 在zabbix客户端服务器上进行操作 1 ...

  2. zabbix—自动发现端口并监控

    自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控:  如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...

  3. zabbix 自动发现端口服务监控教程

    目录 创建数据表(收集haproxy服务的信息) 针对生成的数据表做监控 在haproxy服务机器上配置 在zabbix上添加监控 前言: 1.线上业务使用了几十上百台haproxy服务,需要针对这些 ...

  4. zabbix的日常监控-自动发现端口并监测(服务器开启的所有端口或监控指定端口)(十三)

    动批量检查agent开放的端口 注:此方法给监控磁盘IO(即十二)篇过程一样: 注释:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控:  如果服务器会随机出现端口且每次启动程 ...

  5. 分布式监控系统Zabbix--完整安装记录-批量添加主机和自动发现端口

    一.Zabbix-3.0.3批量添加主机的配置如下: 0)被监控机上要安装zabbix_agent,并配置好zabbix_agentd.conf (如下172.29.8.50是zabbix_serve ...

  6. zabbix 自动发现端口并添加监控设置

    自动发现端口并添加监控设置UserParameter=net.listen.discovery,sudo /etc/zabbix/scripts/discovery_listport.sh #!/bi ...

  7. zabbix 网络模板自动发现端口时,过滤掉某些特定规则的端口,减少item的方法

    1.需求描述        默认情况下Zabbix 模板 中网络接口自动发现接口时,会产生很多item,有时候会有我们不需要的一些接口,这时候需要过滤掉他们.        比如我有一台运行kvm的服 ...

  8. zabbix的自动发现、自定义添加监控项目、配置邮件告警

    1.zabbix的自动发现这里的自动发现,所显示出来的是规则的上自动了现 然后 可以对其内容进行相关的配制,如时间或周期 注意:对于单个主机的规则,可以自行添加或删除, 但对于已经添加好了的规则,若需 ...

  9. zabbix使用自动发现监控esxi的磁盘存储storage

    zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi. ...

随机推荐

  1. Mybatis 系列9-强大的动态sql 语句

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  2. Mysql 之分库分表方案

    Mysql分库分表方案 为什么要分表 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. mysq ...

  3. CentOS的文件属性:命令 ls -l

    第一列:有11位 1)第一位表示文件类型 1)l表示链接文件 2)d表示目录 3)-普通文件 4)b块设备  磁盘分区就是这种类型 5)c 串行端口设备文件(字符设备文件),比如键盘,鼠标,打印机,t ...

  4. delphi版本对应

    delphi 7 delphi 8delphi 2005 ----- 9delphi 2006 ----- 10 delphi 2007 ----- 11delphi 2009 ----- 12 de ...

  5. (转)C#动态webservice调用接口

    原文地址:http://www.cnblogs.com/zouhao/p/6236785.html   ,此处仅测试了使用Http post请求调用webservice 调用类: using Syst ...

  6. 物体检测之FPN及Mask R-CNN

    对比目前科研届普遍喜欢把问题搞复杂,通过复杂的算法尽量把审稿人搞蒙从而提高论文的接受率的思想,无论是著名的残差网络还是这篇Mask R-CNN,大神的论文尽量遵循著名的奥卡姆剃刀原理:即在所有能解决问 ...

  7. wordpress写文章添加gif图片变成静态图片的解决办法

    添加文章时gif只能静态,记得在添加时选择完整尺寸,不要压缩即可

  8. linux下部署jdk+Tomcat

    部署jdk (如果是普通用户,先切换到管理员 su root) 1.下载jdk压缩包 2.用xftp将jdk压缩包传输 /opt 目录下 3.解压(在/opt 目录下对压缩包解压) tar -xzvf ...

  9. [转]ORA-12560: TNS: 协议适配器错误

    转自:http://worms.blog.51cto.com/969144/1293265 Sqlplus 登陆oracle时报错ORA-12560:TNS: 协议适配器错误 如下:C:\Users\ ...

  10. 改变jupyter notebook默认初始文件路径 - 关于快捷方式

    jupyter notebook home path changing - %USERFROFILE% and Configure file 如何改变jupyter notebook默认初始文件路径, ...