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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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端添加模板
5.创建应⽤集
6.添加监控项
键值的话,需要传递两个,⽤,分割,其中port_status和刚刚⼦配置⽂件中设置的⾃定义参数
7.应⽤模板
8.配置触发器报警
这⾥的监控项就选刚刚添加的,功能函数选择str(),因为我们脚本中echo输出的是字符串,V表⽰最新的值open或者closed(还有其他⼏种情况),那么这句表达式的意思为:最新的值中没有找到open就会报警
9.完成。

相关文档
最新文档