zabbix 自动发现规则 触发器_zabbix 自动发现并监控所有端口

本文介绍了如何利用Zabbix的自动发现规则和触发器实现对Linux服务器上所有端口的自动监控。通过结合Linux命令ss,配置Zabbix Agent和LLD规则,可以避免手动设置,实现端口监控的自动化。详细步骤包括修改zabbix_agentd.conf,设置UserParameter,使用正则提取端口号,创建监控项和触发器,最终导入选定模板。
摘要由CSDN通过智能技术生成

背景

端口监控是很普遍的一个需求,当一台机器上跑了几十个服务,就想着能不能自动发现并监控所有的端口呢?

毕竟我们的宗旨是能自动绝不手动,摸鱼才是工作的真谛。

7ea8cfd45fdaf47eb2ecba2a66e20bdf.png

实施

解决方案基于 Linux 命令 ss,下面看下输出:

AllowKey=system.run["ss --tcp --listening --numeric"]

如果希望在模板中整合命令而不是使用 UserParameter ,则需要将此 items keys 写入 zabbix_agentd.conf或zabbix_agent2.conf :

AllowKey=system.run["ss --tcp --listening --numeric"]

如果是 zabbix 5.0 之前的版本,则需要修改该参数

EnableRemoteCommands=1

如果服务器上没有远程执行命令的条件,则使用 UserParameter:

UserParameter=ss.tcp.listening,ss --tcp --listening --numeric

接下来配置 zabbix 自动发现(lld)

37f94c1d90e7dc9885061587b9f1fa9b.png

如果你使用 UserParameter,则是这样

2109479a12cbb8f9046d7ab91f4ac31b.png

接下来看下输出:

ss --tcp --listening --numeric

输出:

State    Recv-Q   Send-Q  Local Address:Port    Peer Address:PortLISTEN   0        128           0.0.0.0:17500        0.0.0.0:*LISTEN   0        50            0.0.0.0:445           .0.0.0:*LISTEN   0        128              [::]:17500           [::]:*LISTEN   0        50               [::]:445             [::]:*LISTEN   0        128                 *:3306               *:*LISTEN   0        50               [::]:139             [::]:*

我们只需要获取第四列的数据,这里使用 JavaScript 正则表达式预处理

  1. 获取所有端口号
return value.match(/:[0-9]+ /gm);
  1. 删除重复项
return value.reduce(function(a,b){if(a.indexOf(b) < 0)a.push(b);return a;},[]);
  1. 删除所有冒号和空格
return value.join("").replace(/:/g,"").replace(/ /g,"").split("");

完整代码如下:

var lld = [];var lines = value.match(/:[0-9]+ /gm).reduce(function(a,b){if(a.indexOf(b) < 0)a.push(b);return a;},[]).join("").replace(/:/g,"").replace(/ /g,"").split("");var lines_num = lines.length;for (i = 0; i < lines_num; i++){var row = {};row["{#PORT}"] = lines[i]lld.push(row);}return JSON.stringify(lld);

创建监控项

f605de309a849a6325c3add29701cc87.png

创建触发器

83d317d4217f488d63cc5edcf708904c.png

最后导入模板即可

https://share.zabbix.com/operating-systems/linux/listening-tcp-port-discovery-and-monitoring

d98b04552ab5f2faccb024f897a6bbb9.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值