前言
在日常运维中,我们需要清楚在每台服务器上都监听了哪些端口,可以利用zabbix来实现
1.客户端配置
1.1编写自动发现端口脚本
在zabbix客户端,编写脚本来实现扫描所有在监听的端口
cat discover_port.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"
执行结果如下
1.2编写自定义监控
2.服务端配置
2.1 导入监控模版
2.2 将模版应用到主机
Configuration——>Hosts——>单机主机——>Templates——>Link new templates——>选择相应模版