背景
以前做监控的时候,一台机器上就几个重要端口,手动添加一下监控就可以了。这次公司一个新业务上了很多服务器,每台服务器上的业务端口很多,而且还不一样。着手动添加会累死人的。所以想zabbix怎么批量添加端口监控。通过查了资料发现 zabbix可以通过 “自动发现” 的机制来批量添加端口。
一、客户端配置
1.修改agent配置文件
开启自定义key功能
vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf
#添加以下内容
AllowRoot=1
#允许用户创建自定义key
UnsafeUserParameters=1
# 自定义key key的名称为tcpport_list,后边脚本的执行结果赋值给tcpport_list
UserParameter=tcpport_list,/usr/local/zabbix_agent/shell/check_port.py
2.编写脚本
编写脚本,收集agent上的处于listen状态的端口列表
[root@node-2 ~]# cd /usr/local/zabbix_agent/
[root@node-2 zabbix_agent]# mkdir shell
解释:
脚本中{#TCP_PORT}是zabbix的LLD宏。格式就是{#自定义大写变量名}
一般用户宏是{$自定义大写变量名}
[root@node-2 shell]# cat check_port.py
#!/usr/bin/env python
import os,json
port_list = []
zabbix_data = {
}
zabbix_data_json = {
}
#过滤服务器上所有listen的端口号
cmd = """netstat -anpt |awk '/LISTEN/{print $4}' |awk -F: '{print $NF}' |sort |uniq"""
port_ret

本文详细介绍了如何在Zabbix中通过自动发现机制批量添加服务器端口监控,包括修改客户端配置启用自定义key、编写收集端口的脚本、服务端创建模板、自动发现规则和监控项原型,以及处理权限问题和资源周期管理。
最低0.47元/天 解锁文章
688

被折叠的 条评论
为什么被折叠?



