docker部署vnStat轻量级流量监控神器
一、项目速览
vnStat(项目地址:https://github.com/vergoh/vnstat-docker)是一款基于Linux内核统计数据的轻量级网络监控工具。它就像给你的服务器装了个”流量透视眼”,无需抓包分析就能实时掌握每个网卡的带宽使用情况!
二、四大核心优势
- 零资源消耗:直接读取/proc伪文件系统数据,内存占用不到10MB
- 数据持久化:自动保存48小时内5分钟粒度数据+2个月日粒度数据
- 监控维度全:支持JSON/Prometheus格式输出,完美对接可视化大屏
- 容器友好:原生支持过滤docker虚拟网卡,避免监控数据污染
三、Dockge极简部署方案
用这个docker-compose.yaml文件完成部署:
1 | version: "3.3" |
部署完成后浏览器访问 http://你的服务器IP:8685
,马上看到这样的清爽界面:
四、高阶玩法揭秘
1. 精准监控单个容器
假设要监控zentao容器的流量,执行以下命令获取网卡ID:
1 | docker network ls | grep zentao |
将获取的网卡ID(如docker-144f6cdd)添加到监控列表:
1 | docker exec vnstat vnstat -i docker-144f6cdd --add |
2. 生成流量报告
访问 http://IP:8685/json.cgi
获取JSON格式数据,配合Grafana可以生成这样的炫酷看板:
五、避坑指南
- 数据延迟问题:新添加的监控对象需要等待5-10分钟才会显示数据
- 网卡过滤技巧:EXCLUDE_PATTERN参数支持正则表达式,可设置如
^docker|^veth
过滤多种虚拟接口 - 历史数据迁移:将旧服务器的/var/lib/vnstat目录挂载到容器内即可继承监控记录
六、总结推荐
项目适合人群:
✅ 家庭NAS玩家 ✅ 中小运维团队 ✅ 云服务器管理员❌ 需要秒级监控的金融交易系统 ❌ 超大规模容器集群
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 马斯克的赛博空间!
评论