# HELP vnstat_total_bytes Total network traffic in bytes
# TYPE vnstat_total_bytes gauge
vnstat_total_bytes{direction="rx",interface="eth0"} 254803008
vnstat_total_bytes{direction="tx",interface="eth0"} 163842048
扩展建议
如果需要更精细的控制,可以添加以下功能:
// 在 updateMetrics 函数中添加日期过滤
const now = new Date();
const thirtyDaysAgo = new Date(now.setDate(now.getDate() - 30));
months.forEach(month => {
const monthDate = new Date(`${month.year}-${String(month.date).padStart(2, '0')}-01`);
if (monthDate >= thirtyDaysAgo) {
totalTraffic.labels({ /* ... */ }).inc(month.tx * 1024); // 使用 counter 类型时
}
});
1
普罗米修斯和grafana真是完美,比那一众面板好多了
bd
@Bene #0
楼主辛苦了,一直在用你的监控,不错~!
中文的贴图能否上一下,看看什么样子?
另外能否增加每个VPS在一定期间内,例如30天,的流量统计?
@tioman #164
中文版可以参照主页:https://grafana.com/grafana/dashboards/22869-node-information-cn/
然后每个 VPS 的流量统计本来就是三十天的哦
@Bene #71
好看
@Bene #165
收到,能否在Instance Overview中每一行增加对应VPS30天流量统计?这个信息的优先级还是很高的。
@tioman #167
当时没有放上去是出于两个原因:
有这方面的需要,我觉得用 vnStat 更适合(当然有空的时候我也想一想怎么把 vnStat 的数据结合进面板里面
@Bene #168
有道理,用vnstat会更准确
可以参考下面两个作者的代码:
https://github.com/jhfoo/vnstat-exporter
https://github.com/joaomnmoreira/vnstat-exporter
因为目前楼主用的node_exporter, 让AI写了一个使用 Node.js 实现的 vnStat Exporter 代码,供楼主参考(假设vnstat已经安装):
配套文件说明
1. 安装依赖
2. 启动方式
3. 验证指标
访问
http://localhost:9118/metrics应该能看到类似以下输出:扩展建议
如果需要更精细的控制,可以添加以下功能:
常见问题处理
权限问题:
vnstat命令sudo setcap cap_net_raw+ep $(which vnstat)解决权限问题时间范围不匹配:
单位不一致:
vnstat --config查看UnitMode)