Zabbix监控指定端口

2022-07-19 16:57:28 浏览数 (1)

生产上经常会监控某些具体端口状态,下面介绍具体步骤:

主机名

ip

操作系统

zabbix版本

zabbix-server

172.27.9.63

CentOS7.3.1611

zabbix_server (Zabbix) 3.4.8

zabbix-agent

172.27.9.65

Centos7.3.1611

zabbix_agentd (daemon) (Zabbix) 3.4.8

1.脚本编写

两个脚本,port_alert.sh为端口自发现脚本,port.conf为指定的监控端口号

[root@zabbix-agent ~]# cd /etc/zabbix/script/

[root@zabbix-agent 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 'ntt{'

        printf ""{#TCP_PORT}":"${portarray[$i]}"}"

        if [ $i -lt $[$length-1] ];then

                    printf ','

        fi

      done

    printf  "nt]n"

    printf "}n"

}

port(){

    Check

    PortDiscovery

}

port

[root@zabbix-agent script]# more port.conf

22

80

#  abc 1

#ebc

50

3306 

8080

10050

10051

 3822

21

9100

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

配置文件port.conf每个端口号一行,每行的被监控端口可以有空格,空行和注释行#会被过滤。

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

[root@zabbix-agent ~]# view /etc/zabbix/zabbix_agentd.conf UserParameter=port.alert,/etc/zabbix/script/port_alert.sh

重启agent端zabbix服务

[root@zabbix-agent ~]# systemctl restart zabbix-agent

3.server端测试

[root@zabbix-server ~]# zabbix_get -s 172.27.9.65 -k port.alert {         "data":[                 {"{#TCP_PORT}":"22"},                 {"{#TCP_PORT}":"80"},                 {"{#TCP_PORT}":"50"},                 {"{#TCP_PORT}":"3306"},                 {"{#TCP_PORT}":"8080"},                 {"{#TCP_PORT}":"10050"},                 {"{#TCP_PORT}":"10051"},                 {"{#TCP_PORT}":"3822"},                 {"{#TCP_PORT}":"21"},                 {"{#TCP_PORT}":"9100"}         ] }

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

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

新建模板:

新建自动发现规则:

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

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

添加表达式:

模板关联主机:

查看最新数据:

查看告警信息:

查看微信端告警:

查看邮件报警:

微信、邮件告警搭建链接:https://www.linuxidc.com/Linux/2018-09/154433.htm

0 人点赞