zabbix 实现批量监控端口状态 批量监控无固定端口的进程服务状态_zabbix不监控指定网口

   日期:2024-12-25    作者:sk20k 移动:http://oml01z.riyuangf.com/mobile/quote/11799.html

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导,让我们一起学习成长

 

脚本的作用就是从被监控的服务器上面采集数据,并且转换为特定的字典格式,这种格式是zabbix可以识别的一种数据字典格式,使用python来编写相对shell来说更加便捷。

在/etc/zabbix/zabbix_agentd.d/下创建目录externalscripts

 

将脚本放在客户端 /etc/zabbix/zabbix_agentd.d/externalscripts 路径下面。并赋予执行权限。

 

2. 在 /etc/zabbix/zabbix_agentd.d/ 下创建 userparameter_checkport.conf 文件,并编辑。内容如下

 

敢这么做是因为

通常在zabbix_agentd.conf文件中有这段代码 include zabbix_agentd.d/*.conf。(如果注释掉的话就解除注释

重启客户端服务。

 

3. 服务端测试

执行命令: zabbix_get -s 192.168.158.141 -p 10050 -k tcpport.listen

会发现zabbix报错,报错信息(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.

解决方法

zabbix_agentd端执行命令

 

服务端再次使用zabbix_get 测试,便不会有报错信息。

出现上面格式的数据,说明脚本编写成功

如果客户端对check_port.py赋权方式采用的 chmod u+x check_port.py  即-rwxr–r-- 则,在服务端zabbix_get进行测试时,会报没有权限。如下所示

[root@zabbix_nginx ~]# zabbix_get -s 192.168.158.141 -p 10050 -k tcpport.listen
sh: /etc/zabbix/zabbix_agentd.d/externalscripts/check_port.py: Permission denied

二 页面配置

1. 创建端口监控专用主机群组

配置 > 主机群组 > 创建主机群组

2. 创建模板

配置 > 模板 > 创建模板

3. 添加自动发现规则

在上面创建的模板中点击 ----> 自动发现规则 ----> 然后选择创建发现规则

说明:上面的key 一定要和监控客户端配置文件中的 key 保持一致。

4. 创建监控项原型

创建自动发现规则后,点击该规则下的 “监控项原型” ----> 创建监控项原型

上面中的键值中的 {#TCP_PORT} 和我们的脚本 check_port.py 中的参数一致

5. 创建触发器原型

其中,表达式详情如图

注意,这里的表达式中的 count(#3,0,eq) > 1表示最近3次的返回值为0,这个条件触发一次则报警。

配置到这里我们就完成了,zabbix自动扫描并监控的功能。

三 将端口监控模板链接到相关主机

将端口监控模板链接到相关主机上即可

配置到这里我们就完成了,zabbix自动扫描端口并监控的功能。

报警效果



扩展1

批量添加指定端口

有时候我们不需要监控自动扫描出来的所有端口,要监控的这些端口需要我们指定,这个需求也是比较常见的,有了上面的基础,实现这个东西其实是比较简单,其实仔细看看脚本就能实现。

要实现这个功能我们只需要,将脚本替换成下面的内容即可以只监控8080,3306两个端口为例

 



扩展2
自动发现批量监测指定端口方案优化

前面的方式以及扩展1的报警效果都是下面这个样子

而我们优化后想要的报警效果则是这样的

(报警信息上很明了的指明是哪台机器上的哪个服务挂了

要实现这样的效果,那么我们要理清思路

实现上面效果,我们从zabbix客户端传数据到zabbix服务端,就要传两个变量参数,一个是端口,另一个是端口对应的服务

下面开启优化之旅

1 对 check_port.py 脚本进行优化

check_port.py 脚本优化后内容如下

 

或者

 

或者


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号