写点什么

【21-7】Grafana 如何配置 Thanos 查询历史数据

用户头像
耳东
关注
发布于: 2021 年 06 月 14 日

使用 Thanos 作为 Prometheus 的集群方案组件以后,在 Grafana 中进行配置的时候和使用 Prometheus 作为查询接口的时候时候是不一样的,我们来看看区别。

Grafana 配置

在 Thanos Compactor 组件进行了如下的数据留存策略以后


    --retention.resolution-raw=30d \    --retention.resolution-5m=180d \    --retention.resolution-1h=180d \
复制代码


在 Grafana 的 Prometheus 数据源配置时,应该在 Misc 添加如下 参数


max_source_resolution=auto&partial_response=true
复制代码


参数解释:


  • max_source_resolution :可选值为 auto5m1h0 确定查询的时候的自动采样精度,如果是 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 ,那么函数的时间区间要根据查询数据的时间范围来灵活调整。

发布于: 2021 年 06 月 14 日阅读数: 10
用户头像

耳东

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
【21-7】Grafana如何配置Thanos  查询历史数据