【21-7】Grafana 如何配置 Thanos 查询历史数据
使用 Thanos 作为 Prometheus 的集群方案组件以后,在 Grafana 中进行配置的时候和使用 Prometheus 作为查询接口的时候时候是不一样的,我们来看看区别。
Grafana 配置
在 Thanos Compactor 组件进行了如下的数据留存策略以后
在 Grafana 的 Prometheus 数据源配置时,应该在 Misc
添加如下 参数
参数解释:
max_source_resolution :可选值为
auto
、5m
、1h
、0
确定查询的时候的自动采样精度,如果是 5m 我们将使用最多 5m 的下采样。auto 表示自动选取合适的值,0 代理只使用 RAW 的详细数据,不使用降采样的数据。partial_response : 部分响应策略,如果为 true,则所有将不可用的 storeAPI(因此不返回任何数据)不会导致查询失败,而是返回警告
除此之外还有 2 个参数可能会用到。
replicaLabels : 主要用来删除重复数据的副本标签。用法为 replicaLabels=replicaA&replicaLabels=replicaB
dedup : 是否删除重复数据。是个布尔值,true 为真。
带来的问题
在 Grafana 里配置好以后可以使用降采样的历史数据,可以说是非常爽了,不响应性监控,而且还节省存储空间。但是也带来了一个问题。
我们在对监控指标进行查询的时候,一般会对指标进行处理,当使用 rate 等包含时间范围的处理函数进行处理的时候就会出现问题了。我们一般使用详细数据进行 rate 函数聚合的时候 时间范围基本都是 1m 到 5m ,里边会最少包含 1 个指标的 2 个值 。
但是使用 5m 降采样的数据以后,1m 的时间区间里就没有值了,5m 的区间里也只有 1 个值,这就导致了 rate 类似的函数不成立。为了函数成立,使用 5m 降采样数据的时候,时间区间最少也要 10m ,查询数据时间够长的时候 30m 的效果更好一些。
使用 1h 降采样数据的时候,时间区间最少也要 2h 才行。
另外如果 上边的 ax_source_resolution
配置了 auto ,那么函数的时间区间要根据查询数据的时间范围来灵活调整。
版权声明: 本文为 InfoQ 作者【耳东】的原创文章。
原文链接:【http://xie.infoq.cn/article/04ecc455cc268ac281d9329ad】。未经作者许可,禁止转载。
评论