从零开始:为什么需要网络监控仪表盘
公司路由器突然掉线,客服电话立马响个不停。等你登录设备一看,流量早就爆了,但没人提前通知。这种情况太常见了。与其每次都被动救火,不如主动建一个网络监控仪表盘,把关键指标集中展示,问题一目了然。
仪表盘不是花架子,它是你掌握网络健康状态的“驾驶舱”。CPU 使用率、带宽占用、设备在线状态、延迟波动,这些数据实时摆在眼前,异常情况自然逃不过眼睛。
选工具:别上来就写代码
很多人一听到“做仪表盘”就想自己开发,其实大可不必。市面上成熟的开源工具已经很成熟,拿来就能用。比如 Zabbix、Prometheus + Grafana、或者更轻量的 LibreNMS,都是运维圈里常用的选择。
Grafana 特别适合做可视化。它支持多种数据源,界面也清爽。你可以把它装在一台 Linux 服务器上,通过插件拉取路由器、交换机、防火墙的 SNMP 数据,再配置图表展示出来。
以 Prometheus + Grafana 为例
先部署 Prometheus,用来收集网络设备的指标。比如用 snmp_exporter 抓取华为或 H3C 设备的端口流量。配置文件 snmp.yml 里定义好 OID 映射:
modules:
network_device:
walk:
- 1.3.6.1.2.1.2.2.1.10 # ifInOctets
- 1.3.6.1.2.1.2.2.1.16 # ifOutOctets
version: 2c
auth:
community: public然后在 Prometheus 的 scrape_configs 中加入 job:
scrape_configs:
- job_name: 'network_devices'
static_configs:
- targets: ['192.168.10.1', '192.168.10.2']
metrics_path: /snmp
params:
module: ['network_device']用 Grafana 做出直观图表
启动 Grafana 后,添加 Prometheus 为数据源。新建一个 Dashboard,加几个 Panel。第一个放总出口带宽使用率,可以用下面的 PromQL 查询:
rate(ifOutOctets{device="core-sw01"}[5m]) * 8 / 1000000单位换成 Mbps,一眼看出是否接近带宽上限。再加个折线图显示过去 24 小时的 CPU 利用率,阈值线标上 80%,超过就变红提醒。
还可以做个 Top 5 流量消耗 IP 的柱状图,帮助快速定位是不是有人在下载大文件拖慢全网。
移动端也能看
很多团队习惯用手机处理告警。Grafana 支持响应式布局,图表在手机上也能正常浏览。你甚至可以把关键面板嵌入企业微信或钉钉群,定时推送截图,让领导也清楚网络状况。
小成本也能玩转监控
如果你只有几台设备,不想搞复杂架构,也有简单办法。比如用 Python 写个脚本,每隔几分钟 ping 一下核心设备,记录延迟和丢包,存进 SQLite。再用 Flask 搭个简易页面,前端用 Chart.js 画个动态曲线图,几十行代码就能跑起来。
关键是把数据可视化,而不是追求技术复杂度。哪怕是 Excel 定时导出 SNMP 数据生成图表,只要能解决问题,就是好仪表盘。
真正用起来的系统才有价值。先做一个最小可用版本,再慢慢迭代加功能,比一开始就追求完美强得多。