• zabbix自定义脚本监控服务器端口状态


    zabbix可以通过客户端的[net.tcp.port[<ip>,port]]该item监控项来判断本地/远程服务器TCP端口是否正常,不过当时没有想起来,就用了自定义脚本去写的,很久没有写完全忘了,以下是步骤:


    1.在客户端打开子配置文件选项,默认是已经打开的

    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    

    2.开始编写脚本,大致就是通过shell脚本参数传入ip地址和port,通过namp命令去获取端口状态

    ip=$1
    port=$2
    
    port_status=`nmap $1 -p$2 | grep $2 | awk '{print $2}'`
    echo $port_status 
    

    最后其实就是通过echo得到一个字符,然后在zabbix中进行判断
    3.指定用户自定义参数,就是刚刚我们说的子配置文件选项

    cd /etc/zabbix/zabbix_agentd.d/
    vim check_port_status.sh
    
    UserParameter=port_status[*],/etc/zabbix/check_scripts/port_status.sh $1 $2
    

    这里写的目的就是当我们在web界面填写item时,zabbix如果不知道的话就会过来找这些自定义参数port_status

    4.在web端添加模板
    模板.png

    5.创建应用集
    图片.png

    6.添加监控项
    图片.png

    键值的话,需要传递两个,用,分割,其中port_status和刚刚子配置文件中设置的自定义参数

    7.应用模板

    8.配置触发器报警
    触发器.png

    这里的监控项就选刚刚添加的,功能函数选择str(),因为我们脚本中echo输出的是字符串,V表示最新的值open或者closed(还有其他几种情况),那么这句表达式的意思为:最新的值中没有找到open就会报警

    9.完成

  • 相关阅读:
    如何将Python项目发布到PyPI
    hashlib的md5计算
    使用hexo和coding建立静态博客站点
    mysql 使用记录
    linux QA
    linux 使用记录
    转载-linux内核长什么样
    mysql 更改默认字符集
    Say goodbye
    SSH proxycommand 不在同一局域网的机器ssh直连
  • 原文地址:https://www.cnblogs.com/hzxyf/p/13857408.html
Copyright © 2020-2023  润新知