当前环境中使用 node_exporter 采集服务器流量指标,但在 Grafana 中绘制指定自然周期的流量数据遇到困难,原因主要是 Prometheus 的时间序列数据库(TSDB)模型和滑动窗口查询机制。这使得 Prometheus 只能提供实时监控和近期趋势信息,而缺乏固定时间边界的聚合功能。
因此,为了实现按自然周期(月)统计流量,并且解决计数器重置问题,可以依赖外部工具 vnStat 来记录网络接口流量。vnStat 是一个轻量级的网络流量监控工具,可以生成流量报告。结合 node_exporter 自定义指标收集流量数据,通过定时任务运行 Shell 脚本,利用 vnStat 提取数据并输出为 Prometheus 可读格式,从而完成需求。
文章中包括了安装 vnStat 的步骤、常用命令以及如何通过 shell 脚本与 node_exporter 集成。这一方法有效填补了直接采集流量指标无法满足的需求,能够准确为自然周期内的数据提供监控支持。