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.完成

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 8,107评论 0 37
  • 一、架构设计及环境规划: 架构设计图: 架构设计说明: 1. 基础架构为LAMP环境,采用keepalived实现...
    放纵不基阅读 10,653评论 0 10
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,568评论 0 16
  • 生活有那么多美好的事情 ——真好。不要着急是你的终究回来临,认认真真体验生活每一刻奇妙。不恋过去,不着急于未来。努...
    不想要不明了阅读 309评论 0 1