zabbix 监控Linux TCP/UDP端口流量

本文介绍了如何利用zabbix-agent和iptables在Linux上监控特定端口和IP的流量。通过iptables的规则设置和自定义脚本,结合zabbix的自定义监控键,实现了对服务器流量的详细统计,包括22端口和特定IP访问9080端口的流量监控。此外,还分享了如何处理权限问题和配置zabbix-server以展示监控数据。
摘要由CSDN通过智能技术生成

zabbix-agent客户端在Linux服务器安装之后,服务器端配置上Template OS Linux这个模板 ,就会自动搜索该服务器上的所有网卡,然后实时记录income流量和outcome流量,并绘制成图标显示,如下。

 有这个粗略的统计可以帮助运维人员了解服务器的健康情况,但是有时候我们需要更加精细的监控,监控粒度要精细到某个端口和IP,比如统计80端口,443端口以时间为轴的流量变动情况。或者统计来自192.168.1.*和192.168.2.*流量的变化情况,甚至更进一步,统计192.168.1.1访问本机80端口产生的流量。这种需求使用基于网卡的监控已经不足以实现,必须使用新方法。

好在Linux网络流量都会经过iptables内核模块,iptables能够以极高的效率进行IP协议数据包和流量的统计,在记录和统计时几乎不影响系统性能,而且查询计数器和清零计数器也以毫秒为单位。通过iptables灵活的过滤命令,我们可以像配置防火墙一样配置我们需要监控的流量,然后配合zabbix自定义轮训取值功能,将客户机iptables统计的结果收集到zabbix server当中,并绘制图形,就可以直观准确的分析流量了。

首先我们要补充一些iptables知识,这里我就不赘述了,可以看下面这篇文章

https://www.cnblogs.com/pangguoping/p/5715539.html

大体来说,就是通过在Filter表中添加相关端口和IP的监控条目,然后定时使用iptables -v命令查看数据包的数量和流量大小,并定期使用iptables -Z命令清空计数器。最后就得到每分钟或每小时某端口的流量了。

我目前设计了两个场景,一个是统计某Linux服务器22端口的流量变化情况,另一个是统计192.168.1.1访问某LInux服务器9080端口的流量情况,zabbix服务器每30秒收集一次数据,并清空iptables计数器,然后把收集到的数据除以30,就是平均每秒的流量。

首先我们设置iptables规则

iptables -I INPUT -p tcp --dport 22
iptables -I INP
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值