zabbix监控远程端口

需求:监控api端口状态

查找资料,没有找符合需求的zabbix自有监控项,改变策略,查看linux是否有命令可以检测api端口是否开通,然后使用zabbix自定义脚本监控

参考:https://www.cnblogs.com/pizitai/p/6519872.html

一、linux检测远程端口方法:

1、telnet

[root@ck-110-152 etc]# telnet 114.242.151.66 8829 Trying 114.242.151.66... Connected to 114.242.151.66. Escape character is '^]'.

脚本方法:

[root@ck-110-152 etc]# echo -e "\n" | telnet 114.242.151.66 8829 | grep Connected Connected to 114.242.151.66. Connection closed by foreign host.

2、nmap

[root@ck-110-152 etc]# nmap 114.242.151.66 -p 8829 Starting Nmap 5.51 ( http://nmap.org ) at 2017-12-05 17:00 CST Nmap scan report for 114.242.151.66 Host is up (0.026s latency). PORT STATE SERVICE 8829/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

脚本方法:

[root@ck-110-152 scripts]# port_stats=`nmap 114.242.151.66 -p 8829 |grep open | wc -l`;[[ $port_stats -ge 1 ]] && echo 0 || echo 1 0

3、nc

[root@ck-110-152 scripts]# nc -w 5 114.242.151.66 8829 && echo ok ||echo fail ok [root@ck-110-152 scripts]# nc -w 5 114.242.151.166 8829 && echo ok ||echo fail fail

确认检测方法后,发现zabbix自定义还不会,又在网上学习,总结经验如下

参考:https://www.cnblogs.com/xiaolinstudy/p/7271861.html

二、zabbix自定义监控

1、相关概念

  • item: Items是从agnet主机里面获取的所有数据。通常情况下我叫itme为监控项,item由key+参数组成
  • Key:我们可以理解为key是item的唯一标识,在agent端有很多监控项,zabbix-server根据key区分不同的监控项
  • trigger:触发器是建立在item数据上的,具有阈值触发事件的功能
    基本格式: :.()}
    server:agent名称,加入主机时配置的
    key:就是上面说的key
    function:对阈值进行操作的函数,以下函数
    operate:表达式
    constant:常量

2、自定义脚本格式

key[*],[command|sh]
# <key[参数]>,<命令或者脚本>
# [*]:固定格式,表示server端是否传过来参数,在命令或者脚本中用$1,23...引用,shell脚本中的引用$$1,2,3..引用, # 如果server端不传参数,[*]可以不写

/etc/zabbix/zabbix_agentd.conf

Include=/apps/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1

创建配置目录

[root@ck-110-152 /] mkdir /apps/zabbix/etc/zabbix_agentd.conf.d/
[root@ck-110-152 /] mkdir /apps/zabbix/script/
[root@ck-110-152 /] chown -R zabbix.zabbix /apps/zabbix

创建zidingyikey

[root@ck-110-152 zabbix_agentd.conf.d] touch UserParameter.conf
UserParameter=mport.nc,nc -w 5 192.168.151.66 8829 && echo 0 || echo 1
UserParameter=mport.nmap[*],/data/zabbix/scripts/mport_namp.sh $1 $2

测试

zabbix_get -s 192.168.56.131 -p 10050 -k "mport.nc"
zabbix_get -s 192.168.56.131 -p 10050 -k "mport.nmap[192.168.151.66,8829]"
#测试时,会提示权限不够,脚本需要755权限,并给zabbix sudo权限
[root@ck-110-152 /] chmod 755 /data/zabbix/scripts/mport_namp.sh
[root@ck-110-152 /] echo 'zabbix        ALL=(ALL)       NOPASSWD: ALL' /etc/sudoers
[root@ck-110-152 /] vim /etc/sudoers
#Defaults specification

3、web设置

【配置】--【主机】-- 【Zabbix server】

 

【监控项】--【创建监控项】

【名称】:按需填写

【类型】:Zabbix客户端

【键值】:填写UserParameter.conf中对应的键值

重启zabbix_agent

 

转载于:https://www.cnblogs.com/loki717/p/7991081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值