阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix监控指定端口

194次阅读
没有评论

共计 1842 个字符,预计需要花费 5 分钟才能阅读完成。

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

主机名 ip 操作系统 zabbix 版本
zabbix-server172.27.9.63CentOS7.3.1611zabbix_server (Zabbix) 3.4.8
zabbix-agent172.27.9.65Centos7.3.1611zabbix_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 ‘\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
[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. 新建模板,创建自动发现规则

新建模板:

Zabbix 监控指定端口

新建自动发现规则:

Zabbix 监控指定端口

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

Zabbix 监控指定端口

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

Zabbix 监控指定端口

添加表达式:

Zabbix 监控指定端口

模板关联主机:

Zabbix 监控指定端口

查看最新数据:

Zabbix 监控指定端口

查看告警信息:

Zabbix 监控指定端口

查看微信端告警:

Zabbix 监控指定端口

查看邮件报警:

Zabbix 监控指定端口

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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计1842字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中