• zabbix监控指定端口


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

    主机名 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 "{
    "
        printf  '	'""data":["
        for ((i=0;i<$length;i++))
          do
             printf '
    		{'
             printf ""{#TCP_PORT}":"${portarray[$i]}"}"
             if [ $i -lt $[$length-1] ];then
                        printf ','
             fi
          done
        printf  "
    	]
    "
        printf "}
    "
    }
    port(){
        Check
        PortDiscovery
    }
    port
    

     

    [root@zabbix-agent script]# more port.conf
    22
    80
    #  abc 1
    #ebc
    50
    3306  
    8080
    10050
    10051
     3822
    21
    9100

    配置文件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

    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.新建模板,创建自动发现规则

    新建模板:

    图片.png

    新建自动发现规则:

    图片.png

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

    图片.png

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

    图片.png

    添加表达式:

    图片.png

    模板关联主机:

    图片.png

    查看最新数据:

    图片.png

    查看告警信息:

    图片.png

    查看微信端告警:

    图片.png

    查看邮件报警:

    图片.png

    微信、邮件告警搭建链接:http://blog.51cto.com/3241766/2108769

    添加报警动作:

  • 相关阅读:
    《构建之法》第四章的感悟
    单复利软件单元测试
    实验一 操作系统模仿cmd
    <构建之法>第一二三章感悟
    近期工作量统计
    复利计算3.0
    复利运算
    单利运算1
    复利计算6.0
    汉堡包
  • 原文地址:https://www.cnblogs.com/st666/p/9890762.html
Copyright © 2020-2023  润新知