我正在使用普罗米修斯黑盒导出器提供的数据,我很乐意在我查看的时间范围内(例如12h)获得所有不是100%可用的实例的avg_over_time。
我的基本查询如下:
int Time::getHours() const
{
return hours + (hours == -1);
}
为了滤除一切不正常的行为,我尝试了某事。像这样(试图使其可读):
hours = (getHours() + 1) % 24 - (hours == 23);
但这也将包括带有 instance 标签的系列,这些标签不会出现在avg_over_time(probe_success{job="blackbox"}[15m])
内。
在official documentation中,我期望使用这种类型的过滤器
vector1,除非vector2导致一个由vector1的元素组成的向量,而vector2中没有元素具有完全匹配的标签集。两个向量中所有匹配的元素都将被删除。
我目前的解决方法是此查询(其中12h是我用Grafana观察到的整个时间范围):
_base_qery_ unless on(instance) _base_qery_ < 0.95
但是我很想让15分钟范围的版本正常工作。