Zabbix实现自动发现端口并监控
转自天宇骑士博客随笔,表示感谢
# 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 注释掉这个
然后在上面的脚本里面加上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实现自动发现端口并监控相关推荐
- zabbix—自动发现端口并监控
自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...
- zabbix的日常监控-自动发现端口并监测(服务器开启的所有端口或监控指定端口)(十三)...
动批量检查agent开放的端口 注:此方法给监控磁盘IO(即十二)篇过程一样: 注释:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程 ...
- Zabbix通过自动发现监控端口
安装环境 Zabbix server和agent通过编译方式安装在服务器192.168.25.106上.Zabbix server/agent的安装目录为:/usr/local/zabbix. 创建脚 ...
- zabbix自动发现端口
目的: 通过批量实现自动发现端口,避免傻傻的一个一个添加 解决方案: 使用zabbix的discovery功能来实现监控. 注意:自动发现端口,需要在sysctl.conf中修改下系统自动打开端口的范 ...
- zabbix通过自动发现功能实现自动识别网络设备接口
可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值 ...
- zabbix无法自动发现并监测华为AR路由器设备温度的解决办法
使用zabbix的Template Net Huawei VRP SNMPv2模板(zabbix6.2的华为监测模板为Huawei VRP SNMP)监测华为交换机和路由器的状态,在使用中发现自动发现 ...
- zabbix 监控项自动发现过滤_Zabbix监控之配置Linux自动发现与自动注册报警
1.关于linux客户端的部署上篇已经介绍不清楚的可以去看一下(Zabbix监控之agent和邮件报警配置) 1.1.一.配置自动发现: 1.1.1.1.1.打开Zabbix Web管理界面,创建Za ...
- zabbix自动发现实现批量监控docker状态
最近在搞zabbix监控docker以及docker内部应用状态信息,网上找的资料好少,只找到了一个大神的一篇文章,用的是python实现监控docker容器的基本状态,我在他给的脚本基础上进行修改, ...
- zabbix 监控项自动发现过滤_通过Zabbix的自动发现(规则)自动创建监控项
下图是一个已配置并启用的自动发现规则: 应用到165.194这个主机后,自动发现的监控项: 服务端配置创建Template 创建Discovery rule 键值readPorts跟被监控端配置的参数 ...
- 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)
目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...
最新文章
- 由浅入深C A S,小白也能与BAT面试官对线
- dynamic_cast详解
- WEB前端 vue学习一使用 vue-cli 搭建项目
- 论文浅尝 | 基于潜在类别信息的实体链接
- python2 http请求post、get
- 生产环境Go程序内存泄露,用pprof如何快速定位
- 《集体智慧编程》代码勘误:第六章
- 如何预防销售人员带走客户?
- 本质矩阵 基础矩阵 单应矩阵 (2)
- Android 开发 学习网站
- 基于visual Studio2013解决C语言竞赛题之0405阶乘求和
- SQL数据库的创建及其详细操作(作业)
- platform.pk8,platform.x509.pem生成keystore的方法
- 【阿里云生活物联网架构师专题 ⑥】ESP8266接入阿里生活飞燕平台国际版,实现亚马逊Alexa Echo音响语音控制;
- 沈寅鑫银行内训实战专家
- React中文文档 7. 条件渲染
- kibana.bat文件闪退问题
- 稀疏问题的解决——数据平滑 - yiyi_xuechen
- 关于使用cin的返回值终止循环输入
- 扭矩扭力测量——扭矩传感器
热门文章
- 楚留香服务器维护时间,2019年06月28日官方维护公告
- c语言水库抽样算法代码,LeetCode---蓄水池抽样算法
- 【Django 2021年最新版教程12】GET POST请求参数 如何接收、判空、默认值
- 区块链 什么是RLP编码
- python二分查找例题_Python查找数组中数值和下标相等的元素示例【二分查找】
- Android范围自定义,android – 如何在dagger 2.10中创建自定义范围模块
- Linux添加浮动路由,Linux路由配置详情
- 5-7Linux 起源,与Unix的联系,与Windows的不同
- Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
- python3.7怎么安装的_怎么安装python3.7:python 3.7入门教程