zabbix自动发现端口

目的:

通过批量实现自动发现端口,避免傻傻的一个一个添加

解决方案:

使用zabbix的discovery功能来实现监控。

注意:自动发现端口,需要在sysctl.conf中修改下系统自动打开端口的范围如果不修改,net.ipv4.ip_local_port_range = 10240 65535会导致自动发现的端口有系统自动打开的端口,导致频繁报警
1、安装zabbix,跳过
2、通过脚本实现:
cd /usr/local/zabbix/etc/zabbix_scripts.d/
vim discovertcpport.sh

注意:这里的netstat 后面不用加p参数,否则需要在agent配置文件中开启root权限

#!/bin/bash
portarray=(`netstat -tnl|grep -v -e "127.0.0.1" -e "::1:" |egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort -n |uniq | grep -E -v "[0-9]{5}"`)
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"

3、在zabbix_agentd.conf中添加相关的key

Include=/data/usr/local/zabbix/etc/zabbix_agentd.conf.d/*
UnsafeUserParameters=1
UserParameter=tcpportlisten,/usr/local/zabbix/etc/zabbix_script.d/discovertcpport.sh "$1"

或者:
在zabbix_agentd.conf.d目录下创建文件,zabbix_post.conf

UserParameter=tcpportlisten,/usr/local/zabbix/etc/zabbix_script.d/discovertcpport.sh "$1"

4、重启agent就可以实现了。
5、zabbix仪表板配置:
这里写图片描述
6、上图,不废话
这里写图片描述
7、上图,不废话
这里写图片描述
8、上图,不废话
这里写图片描述
注意:count(#5,0,”eq”)}>2意思是,最近5个值等于0的次数大于2
参考:http://www.jianshu.com/p/0c800a095e6c
9、上图,不废话
这里写图片描述

希望能帮上大家!温暖在此祝大家工作顺利!如果文档有不足的地方请及时联系我。QQ:345186121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值