3306 端口 要不要修改_zabbix 自动发现并监控所有端口

907fc855b4e7bf24d69b2704a7ba6919.png

背景

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

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

f8bdd70122106f788065e018c6a85ea5.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)

73d0534c7e34d203c29f562bddc016d1.png

如果你使用 UserParameter,则是这样

167e7c5f3c4e176b334f7b77680366e1.png

接下来看下输出:

ss --tcp --listening --numeric

输出:

State    Recv-Q   Send-Q  Local Address:Port    Peer Address:Port
LISTEN   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("n").replace(/:/g,"").replace(/ /g,"").split("n");

完整代码如下:

var lld = [];
var lines = value.match(/:[0-9]+ /gm).reduce(function(a,b){if(a.indexOf(b) < 0)a.push(b);return a;},[]).join("n").replace(/:/g,"").replace(/ /g,"").split("n");
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);

创建监控项

96db4fb3d8d85d2a80a69c771854d0a0.png

创建触发器

8227283be559e002ed745532388ea9c1.png

最后导入模板即可

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

264f8af548da2eeb4f113884cb17f3eb.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值