Skip to end of metadata
Go to start of metadata

很多时候由于机器多。加上端口分布在各个OS机器上。对于监控管理起来是一件非常困难的事情。

我们可以使用一个文件管理所有机器的端口。执行机器可以是任何被监控的Linux OS主机。

1.1 脚本配置

vi protlist1.sh

#!/bin/bash
lastline=`tail -1 /home/patrol/zabbix/scripts/portlist1.txt`

echo "{\"data\":["
for i in `cat /home/patrol/zabbix/scripts/portlist1.txt`
do
        ip1=`echo $i |awk -F ',' '{print $1}'`
        port1=`echo $i |awk -F ',' '{print $2}'`
        if [ "$i" != "$lastline" ];then
                echo "          {\"{#IP}\":\"$ip1\",\"{#PORT}\":\"$port1\"},"
        else
                echo "                  {\"{#IP}\":\"$ip1\",\"{#PORT}\":\"$port1\"}"
        fi
done
echo "]}"

1.2 配置port端口list文件

vi portlist.txt

10.184.48.9,7001 #解释IP,端口 使用英文逗号分隔。
10.184.53.33,22

1.3 Zabbix键值配置文件

vi port_userparameter.conf

UserParameter=discover_port,/home/patrol/zabbix/scripts/portlist1.s


1.4
前端配置

配置自动发现规则:

配置监控项:

其中{#PORT}{#IP}键值宏是脚本里定义的。

Zabbix自动生成监控项,在前端。

最后查看最新数据配置告警触发器等。

1.5 维护

由于我们使用执行机形式监控端口。所以最后我们只需要维护文件里的规则就好了。我们最后增加或者删除都很方便操作。最终Zabbix前端监控项会根据文件里的记录来自增或者自减监控项。