Prometheus sum 没有数据,我可以设置为默认值吗?

Prometheus sum get no data , can i set to default value?

我正在尝试汇总来自不同 IDC 的网络流量 in/out,也使用 snmp_export 来获取这些信息,但有时 snmp 导出无法获取某些交换机的信息,可能超时或丢失.所以这个开关没有日期更新,“/metric”将只显示部分交通信息。问题是当我使用

sum(irate(ifInOctets{ifIndex=...,instance=...})) + 
sum(irate(ifInOctets{ifIndex=...,instance=...}))+ 
sum(irate(ifInOctets{ifIndex=...,instance=...}))

要获取所有流量总值,expr 将 return 没有数据并破坏图表。

我是普罗米修斯的新手。不确定使用方法是否错误。

谢谢

解决这个问题的方法是使用 rate() 足够长的范围来容忍失败的抓取。例如,如果您每分钟抓取一次,那么 5m 就足够了,因此您可以使用 sum without(instance) (rate(ifInOctects[5m]))