转自天宇骑士博客随笔,表示感谢

# vim discovertcpport.sh

#!/bin/bash
port_array=(`netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort |uniq 2>/dev/null`)
length=${#port_array[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#TCP_PORT}\":\"${port_array[$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"

我实验环境是zabbix 3.0 在tcpportlisten后面必须加上[*],否则会显示Item does not allow parameters

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}":"10050"},{"{#TCP_PORT}":"22"},{"{#TCP_PORT}":"80"}]
}

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

5、在Linux模板中创建端口自动发现规则,点击配置-模板,在下面找到 Template OS Linux

然后点开Template OS 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

还有个可能就是是否安装net-tools,也就是netstat命令,还有就是agentd.conf配置文件中是否设置allowroot=1,和UnsafeUserParameters=1,还有就是脚本是否有执行权限

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

附: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=0;i<$length;i++))doprintf '\n\t\t{'printf "\"{#TOMCAT_PORT80}\":\"${portarray[$i]}\"}"if [ $i -lt $[$length-1] ];thenprintf ','fidone
printf  "\n\t]\n"
printf "}\n"

转载于:https://www.cnblogs.com/hh2737/p/8257389.html

Zabbix实现自动发现端口并监控相关推荐

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

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

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

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

  3. Zabbix通过自动发现监控端口

    安装环境 Zabbix server和agent通过编译方式安装在服务器192.168.25.106上.Zabbix server/agent的安装目录为:/usr/local/zabbix. 创建脚 ...

  4. zabbix自动发现端口

    目的: 通过批量实现自动发现端口,避免傻傻的一个一个添加 解决方案: 使用zabbix的discovery功能来实现监控. 注意:自动发现端口,需要在sysctl.conf中修改下系统自动打开端口的范 ...

  5. zabbix通过自动发现功能实现自动识别网络设备接口

    可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值 ...

  6. zabbix无法自动发现并监测华为AR路由器设备温度的解决办法

    使用zabbix的Template Net Huawei VRP SNMPv2模板(zabbix6.2的华为监测模板为Huawei VRP SNMP)监测华为交换机和路由器的状态,在使用中发现自动发现 ...

  7. zabbix 监控项自动发现过滤_Zabbix监控之配置Linux自动发现与自动注册报警

    1.关于linux客户端的部署上篇已经介绍不清楚的可以去看一下(Zabbix监控之agent和邮件报警配置) 1.1.一.配置自动发现: 1.1.1.1.1.打开Zabbix Web管理界面,创建Za ...

  8. zabbix自动发现实现批量监控docker状态

    最近在搞zabbix监控docker以及docker内部应用状态信息,网上找的资料好少,只找到了一个大神的一篇文章,用的是python实现监控docker容器的基本状态,我在他给的脚本基础上进行修改, ...

  9. zabbix 监控项自动发现过滤_通过Zabbix的自动发现(规则)自动创建监控项

    下图是一个已配置并启用的自动发现规则: 应用到165.194这个主机后,自动发现的监控项: 服务端配置创建Template 创建Discovery rule 键值readPorts跟被监控端配置的参数 ...

  10. 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)

    目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...

最新文章

  1. 由浅入深C A S,小白也能与BAT面试官对线
  2. dynamic_cast详解
  3. WEB前端 vue学习一使用 vue-cli 搭建项目
  4. 论文浅尝 | 基于潜在类别信息的实体链接
  5. python2 http请求post、get
  6. 生产环境Go程序内存泄露,用pprof如何快速定位
  7. 《集体智慧编程》代码勘误:第六章
  8. 如何预防销售人员带走客户?
  9. 本质矩阵 基础矩阵 单应矩阵 (2)
  10. Android 开发 学习网站
  11. 基于visual Studio2013解决C语言竞赛题之0405阶乘求和
  12. SQL数据库的创建及其详细操作(作业)
  13. platform.pk8,platform.x509.pem生成keystore的方法
  14. 【阿里云生活物联网架构师专题 ⑥】ESP8266接入阿里生活飞燕平台国际版,实现亚马逊Alexa Echo音响语音控制;
  15. 沈寅鑫银行内训实战专家
  16. React中文文档 7. 条件渲染
  17. kibana.bat文件闪退问题
  18. 稀疏问题的解决——数据平滑 - yiyi_xuechen
  19. 关于使用cin的返回值终止循环输入
  20. 扭矩扭力测量——扭矩传感器

热门文章

  1. 楚留香服务器维护时间,2019年06月28日官方维护公告
  2. c语言水库抽样算法代码,LeetCode---蓄水池抽样算法
  3. 【Django 2021年最新版教程12】GET POST请求参数 如何接收、判空、默认值
  4. 区块链 什么是RLP编码
  5. python二分查找例题_Python查找数组中数值和下标相等的元素示例【二分查找】
  6. Android范围自定义,android – 如何在dagger 2.10中创建自定义范围模块
  7. Linux添加浮动路由,Linux路由配置详情
  8. 5-7Linux 起源,与Unix的联系,与Windows的不同
  9. Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
  10. python3.7怎么安装的_怎么安装python3.7:python 3.7入门教程