服务端配置
shell
cat nc_port.sh
代码语言:javascript复制#!/bin/bash
ipaddr=$1
port=$2
nc -w 1 ${ipaddr} -z ${port} && echo 0 || echo 1
cat /usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/nc_port.key
代码语言:javascript复制# 端口检测
UserParameter=nc.port[*],/usr/local/zabbix-agent/scripts/nc_port.sh $1 $2
重新启动agent
代码语言:javascript复制pkill zabbix_agentd && /usr/local/zabbix-agent/sbin/zabbix_agentd
# 重新载入配置
zabbix用户运行权限
vi /etc/sudoers
代码语言:javascript复制Defaults:zabbix !requiretty
zabbix ALL=(ALL) NOPASSWD: /bin/netstat, /usr/bin/nmap
测试
代码语言:javascript复制/usr/local/zabbix/bin/zabbix_get -s 172.16.140.118 -p 10050 -k "nc.port[114.242.151.66,8829]"
web界面制作模板
创建模板:
监控项:
触发器:
代码语言:javascript复制# 端口3次等于1就报警
{remote_ports:nc.port[172.16.140.107,6379].count(#3,1,"eq")}=3
图形视图: