Zabbix端口监控

版权声明:QQ:1009002494 https://blog.csdn.net/Doudou_Mylove/article/details/84327065

zabbix-agent端操作

mkdir /etc/zabbix/script

cd /etc/zabbix/script

more 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

我们只测试监控9099和7077端口

more port.conf

9099
7077

注意两个脚本属主为zabbix:zabbix。

chown zabbix.zabbbix port.conf port_alert.sh

 

修改被监控端的zabbix_agent.conf配置文件,新增KEY值port.alert

viw /etc/zabbix/zabbix_agentd.conf

UserParameter=port.alert,/etc/zabbix/script/port_alert.sh

 

重启zabbix-agent

systemctl restart zabbix-agent

 

#zabbix-server端测试

zabbix_get -s 10.7.12.23  -k port.alert

测试成功,返回json格式的合法端口号

 

web端配置

新建模板,创建自动发现规则

新建自动发现规则:

键值必须和zabbix-agentd.conf编写的key一致

自动发现清单中新建监控项原型:

下面键值选择net.tcp.listen[port]稍作修改

自动发现清单中新建触发器:

触发器表达式项目要“选择原型”

模板关联主机:

查看最新数据:

上面看到两个端口最新数据都为“1”,说明每个端口都在监听状态,到此端口监控配置完毕。

 

反之如果进程挂掉端口监控就会报警,面板和微信都可以收到。

 

猜你喜欢

转载自blog.csdn.net/Doudou_Mylove/article/details/84327065
今日推荐