• Zabbix自动监控windows端口(主动监控方式)


    第一部分:服务器上的操作(脚本&配置)

    创建脚本文件

    在客户端新建discovertcpport.bat文件,放在C:\Program Files\Zabbix Agent目录中,内容如下:

    1. @echo off
    2. echo {
    3. echo "data":[
    4. for /F "tokens=2 delims= " %%i IN ('netstat -anp tcp^|find /i "LISTENING"') DO for /F "tokens=2 delims=:" %%j IN ("%%i") DO echo {"{#TCP_PORT}":"%%j"},
    5. echo {"{#TCP_PORT}":"10050"}
    6. echo ]
    7. echo }

    脚本说明:

          命令netstat -anp tcp ^|find /i "LISTENING" 用来查看监听状态的TCP端口;

          for /F "tokens=2 delims= "表示循环输出的截取值,即每行以空格(delims= )分隔的第2段(token=2)值,以变量%%i输出;之后以同样的循环截取出端口号并格式化输出结果;

          这里的输出格式必须按JSON对象格式输出,否则报错“Value should be a JSON object”;

          特别要注意最后一行没有逗号,因此单独添加一行echo {"{#TCP_PORT}":"10050"}来结束,以满足JSON对象格式。

    修改客户端配置

        在客户端的zabbix_agentd.conf中添加以下内容:

    1. UnsafeUserParameters=1
    2. UserParameter=tcpportlisten,C:\Program Files\Zabbix Agent\discovertcpport.bat

    说明:

    第一条表示允许使用用户自定义参数,

    第二条设置用户参数,名称tcpportlisten是自定义的KEY名,后接KEY要执行的命令或脚本文件。

     第三:重新启动zabbix agentd服务

    第二部分:zabbix页面控制台的操作(其实就是创建配置Discovery )

    1、这里我配置在了(​Template OS Windows by Zabbix agent active​)这里

    1. Name:tcpportlisten
    2. Type:Zabbix agent(active)
    3. Key:tcpportlisten (这个需要和zabbix_agend.conf里配置的一致)
    4. Keep lost resources period:按需设置我这里设置30d

    2、配置 Item prototypes

    1. Name:Windows Tcp Port $1
    2. Type: Zabbix agent(active)(主动方式,可以根据实际情况调整)
    3. Key:net.tcp.listen[{#TCP_PORT}]
    4. Update interval:

    3、配置: Trigger prototypes

    1. Name:Windows Server Tcp Port $1  Status
    2. Expression:{Template OS Windows by Zabbix agent active:net.tcp.listen[{#TCP_PORT}].count(10m,0,eq)}>=6
    3. #注解(10分钟内有6次出现值为0,最大限度的杜绝误报)
    4. count(10m,0,eq)}>=6

    4、配置:Graph prototypes 

    Name:Windows Tcp Port {#TCP_PORT}  (其他项目按需配置即可) 

    效果图如下

     

  • 相关阅读:
    docker 安装 minio (单体架构)
    SpringBoot接收前端传来的json数据
    电力电子转战数字IC20220815day60——uvm入门实验2
    系统架构设计师之备考攻略(2022年修订版)——一篇就够
    【C基础篇】之数据类型
    go语言中的数组指针和指针数组的区别详解
    莱佛士学生服装设计作品登知名时尚杂志NÜYOU
    Qt基于Qml向左边滑动删除列表项
    快速切换目录工具c之windows版本
    2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务(三)
  • 原文地址:https://blog.csdn.net/ethnicitybeta/article/details/128080187