监控端口

客户端

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

你可能感兴趣的:(监控端口)