客户端
mkdir /etc/zabbix/script
vi /etc/zabbix/script/port_alert.sh
#/bin/bash
CONFIG_FILE=/etc/zabbix/script/port.conf
Check(){
grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -vE '^ *[0-9]+' &> /dev/null
if [ $? -eq 0 ]
then
echo Error: ${CONFIG_FILE} Contains Invalid Port.
exit 1
else
portarray=($(grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -E '^ *[0-9]+'))
fi
}
PortDiscovery(){
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"
}
port(){
Check
PortDiscovery
}
port
vi /etc/zabbix/script/port.sh #要监控的接口
22
80
#
#3306
chmod 777 ./*
vi /etc/zabbix/zabbix_agentd.conf #追加一下语句
UserParameter=port.alert,/etc/zabbix/script/port_alert.sh
#重启zabbix客户端服务
systemctl restart zabbix-agent
服务端
zabbix_get -s 192.168.1.120 -k port.alert
{
"data":[
{"{#TCP_PORT}":"3306"}
]
}
服务端web配置
新增模板
新增模板新增自动发现规则
自动发现规则新增监控项原型
监控项原型新增触发器
触发器表达式
关联主机
查看最新数据
查看告警
模拟端口命令
nc -l 0.0.0.0 3306
网友评论