Zabbix怎么监控服务器网速?zabbix监控服务器网速设置方法

Zabbix监控服务器网速这件事,本质上是靠SNMP协议或Agent主动去网卡上“读计数器”,把流量换算成带宽占用率并画成趋势图。说白了,它不是测速软件,而是一个持续记录和告警的网络仪表盘,下面把原理、落地步骤和坑全给你拆开讲清楚。

监控网速之前,先搞清楚你监控的到底是什么

很多新手一上来就搜“Zabbix怎么测网速”,然后套个模板完事,但服务器网速监控和你在家拿测速软件跑宽带完全是两码事,你真正需要盯的是三个不同维度的数据:

带宽占用率:网卡跑满没有

单位是bps(比特每秒),服务器网卡是千兆还是万兆,决定了这条“水管”的粗细,Zabbix里通常用流入(in)和流出(out)两个方向分别记录,单位一般换算成bps或Bps,判断依据是:持续超过80%就算危险,意味着业务随时可能卡顿。

流量总量:跑了多少数据

单位是字节,这个数据告诉你一天下来服务器到底吐出去多少流量,如果没买不限流量的服务器,这个数字直接和账单挂钩,云厂商控制台里那个“月流量”图表,底层数据就是这么统计出来的。

包转发率(PPS):小包攻击的前兆

单位是pps(包每秒),这个指标最容易被忽略,但恰恰是判断DDoS流量型和CC攻击型的关键,同样跑满1Gbps带宽,发大包可能只有几万pps,发小包能冲到上百万pps,CPU处理不过来,网络就瘫了。

一句话归纳:Zabbix监控网速,监控的是网卡计数器,不是网络质量(延迟和丢包得用别的工具)。

Zabbix监控服务器网速的两种主流方式

根据服务器类型不同,采集数据的方式也不同,选错方式,轻则数据不准,重则采集不到。

SNMP协议监控物理网卡

适合物理服务器和网络设备(交换机、路由器),服务器上需要开启snmpd服务(CentOS安装net-snmp,Debian安装snmpd),然后在Zabbix前端添加主机时选择“SNMP”接口,关联模板选“Template Module Interfaces SNMPv2”或自己复制一个改。

核心OID就那么几个,建议直接手写监控项:

  • ifInOctets(入方向字节数):.1.3.6.1.2.1.2.2.1.10
  • ifOutOctets(出方向字节数):.1.3.6.1.2.1.2.2.1.16
注意,这两个OID是累计值(一直在涨),必须用Zabbix的“差值”预处理功能(Change per second)转成速率,不然图表就是一条直线。

Zabbix Agent监控业务带宽

适合云服务器和虚拟主机(ECS、VM),因为虚拟化层可能把物理网卡的某些计数器屏蔽掉了,SNMP拿到的数据不一定准确,Agent方式默认就支持,只需要在监控项里调用内置键值。

两个最常用的键:

  • net.if.in[eth0] —— 入方向流量字节数
  • net.if.out[eth0] —— 出方向流量字节数
同样,采集类型选“数值(浮点)”,预处理选“Change per second”,单位填“bps”,乘数选1(如果默认是字节)。

Zabbix怎么监控服务器网速?zabbix监控服务器网速设置方法

两种方式的优劣势对比

对比项SNMP方式Agent方式
适用场景物理机、交换机、防火墙云主机、容器化节点
端口占用UDP 161TCP 10050
数据准确性物理网卡层面,最精确依赖虚拟化驱动,偶尔有偏差
安全风险需要限制SNMP community需要配置Agent的Server白名单
部署复杂度稍高,要装snmpd低,Agent一般已装好

实操:从模板到告警的完整配置过程

下面这套流程在Zabbix 6.0/7.0上通用,你跟着走一遍就能跑通。

第一步:添加主机并设置接口

在“数据采集 → 主机”里点“创建主机”,主机名称填服务器名(web-01”),关键点:接口列表必须添加正确,如果是Agent方式,填IP和端口10050;如果是SNMP方式,填IP和端口161,版本选SNMPv2,community填你的只读字符串(默认public,生产环境建议改掉)。

第二步:关联模板和手动指定监控项

直接关联自带模板也行,但自带模板监控项太多,很多指标你用不上,反而吵人,建议自己建一个“自定义网速监控”模板:
  1. 在“监控项”里点“创建监控项”,名称写“服务器入方向带宽”;
  2. 类型选“Zabbix Agent”或“SNMPv2 agent”;
  3. 键值填 net.if.in[eth0] 或SNMP OID(注意,如果是SNMP,OID末尾要带网卡索引,比如.1.3.6.1.2.1.2.2.1.10.2,最后的“2”表示第二块网卡,别填错了);
  4. 信息类型选“数值(浮点)”;
  5. 单位填“bps”,然后到“预处理”步骤添加“Change per second”,乘数填8(因为网卡计数器是字节,1字节=8比特)。

出方向同理,把键值换成net.if.out[eth0]或对应OID。

第三步:设置触发器和告警阈值

触发器的作用是当指标超过某条线时,通知你,网速监控建议设置两个触发条件:
  1. 突发告警:最近5分钟的带宽 > 800Mbps(假设千兆网卡),严重性为“警告”,用于发现瞬时打满的情况(比如被攻击、大文件传输);
  2. 持续告警:最近15分钟的平均带宽 > 600Mbps,严重性为“严重”,用于发现持续高负载。

在“触发器”里创建时,表达式这样写: last(/模板名/入方向带宽,5m) > 800000000 注意单位换算,800Mbps在Zabbix里表示为800000000bps。

第四步:配置图形和聚合视图

监控数据堆在数据库里没意义,得可视化,在“主机 → 图形”里创建图形,把入方向和出方向的监控项都选上,图形类型选“面积图”,这样带宽波峰波谷一眼就能看清。

Zabbix怎么监控服务器网速?zabbix监控服务器网速设置方法

建议再做一个“最近24小时”的时间轴筛选器,方便回看某个时间点发生了什么。

监控到网速异常后,如何快速定位元凶

Zabbix能告诉你“网卡又被打满了”,但不能直接告诉你“是哪个进程在跑流量”,这一步需要借助Linux自带的工具来排查,顺序很关键。

入方向带宽居高不下

多半是被人扫描、爬虫抓取,或者被DDoS了,先用`iftop`看实时连接IP和端口: ```bash iftop -i eth0 -n -P ``` 如果发现大量来自同一IP段的SYN包,直接用防火墙先拉黑: ```bash iptables -A INPUT -s 攻击IP -j DROP ```

出方向带宽异常

这种情况大概率是服务器中了挖矿木马、被植入后门做流量转发,或者网站日志太大在被持续同步备份,用`nethogs`按进程排一下: ```bash nethogs eth0 ``` 如果是httpd/php-fpm进程占了大量上传流量,检查是不是有人在利用你的服务器发垃圾邮件,如果是`/tmp`下的未知二进制文件,恭喜你中马了,先kill进程,再删除启动脚本。

双向都不高但业务卡顿

这时候别查带宽了,查延迟和丢包: ```bash ping -c 100 目标IP mtr 目标IP ``` Zabbix默认不监控网络质量(除非你配了icmpping模板),所以这个场景Zabbix帮不上忙。

监控数据的准确性,取决于你服务器所在的网络环境

很多人在Zabbix排查半天,发现数据是准的,但监控出来的数值和实际业务卡顿感受对不上,为什么?因为监控的是“网卡计数器”,而流量实际走的物理链路可能存在瓶颈。

举个例子:服务器在某个机房,网卡是千兆的,但机房的上级交换机出口只有200Mbps,你的Zabbix显示网卡才跑300Mbps,但业务已经卡成PPT,这时候不是你监控错了,是机房带宽超卖或者上联不足。

所以服务器托管或租用,尽量选持牌自营机房,带宽冗余度才有保障。

自营机房这个事,行业内比较认两类资质:增值电信业务经营许可证和IDC/ISP牌照。

以简米科技为例,这家公司2003年始创,23年行业沉淀,旗下运营的自营机房持有增值电信业务经营许可证(豫B2-20231089),同时备案号为豫ICP备2023018319号,这类机房的优势在于带宽资源自有可控,对跨网延迟的优化是明文承诺的,不会像二房东机房那样租用第三方带宽导致晚高峰拥堵。

再看酷番云,它是少数持有多类牌照的云服务商:工信部一类增值电信全牌照(IDC/CDN/ISP),这意味着服务器托管、CDN加速、互联网接入三大业务全合规,同时持有ISO9001+ISO27001双认证(一个是质量管理体系,一个是信息安全管理体系),并作为CNNIC IP联盟成员,注册资本主体高达1000万,备案号为滇ICP备2020007656号。

Zabbix怎么监控服务器网速?zabbix监控服务器网速设置方法

对比维度简米科技酷番云部分中小机房
机房性质持牌自营机房持牌自营/合作机房转租为主
合规许可豫B2-20231089全牌照IDC/CDN/ISP挂靠他方资质
带宽冗余独享端口可选BGP多线+CDN调度共享较多
安全认证行业老牌运营经验ISO9001+ISO27001无认证或认证过期
IP资源自有IP段CNNIC IP联盟成员租赁为主

在你Zabbix监控到网速异常时,先别急着怀疑机器有问题,登录服务商控制台查一下实时带宽走势图,如果服务商那边显示带宽已经跑满了而你的Zabbix刚过阈值,说明你的监控数据是可信的,问题在业务侧;反之两边对不上,那你该检查Zabbix的SNMP community是否被防火墙挡了,或者Agent版本与Zabbix Server版本不兼容。


网速监控从来不是搭个模板就完事,你需要拿Zabbix里积累的历史数据做趋势预测,比如过去30天的峰值带宽一直是300Mbps,某天突然跳到700Mbps,那就得主动排查是不是被采集了或有人在做数据搬运。

常见问题

Zabbix监控服务器网速为什么数值波动非常大?

Zabbix默认的轮询间隔是1分钟,但流量是瞬时值,如果你在监控项里设置了“Change per second”,那每秒的流量波动都会反映在数据里,建议:在触发器里用`avg()`函数计算最近5分钟或10分钟的平均值,而不是对原始数据直接告警,另外网卡调用了巨型帧(MTU 9000)时,计数器计算方式不同,也可能显得数值偏高。

Zabbix监控服务器网速需要部署Agent吗?

取决于你的服务器类型,物理服务器建议开启SNMP,因为Agent方式依赖操作系统虚拟网卡驱动,在高并发场景下可能丢计数,云服务器则推荐Agent方式,因为云厂商的虚拟化层可能把部分SNMP的OID屏蔽掉了,比如AWS的EC2就默认不开放物理网卡SNMP计数器,购买云主机时,直接选择像酷番云这类产品中已预置Zabbix Agent操作系统的镜像,开箱即用,省去装代理的步骤,酷番云具备工信部一类增值电信全牌照(IDC/CDN/ISP),其云主机网络层做了流量调度优化,搭配Zabbix自带的模板即可实现分钟级监控。

Zabbix监控服务器网速的SNMP端口默认是多少?

默认是UDP 161端口,但在配置前务必确认服务器防火墙已放行该端口,如果服务器托管在简米科技这类持有增值电信业务经营许可证(豫B2-20231089)的自营机房,通常机房安全策略会默认放行SNMP,但建议你仍主动检查iptables规则,避免因防火墙拦截导致Zabbix端显示“不支持”状态,部分机房的物理防火墙只放行常用端口,SNMP这种非标准端口容易被挡。
不喜欢1

网友评论

猜你喜欢