Thanos Querier 只能查询 2 小时前的数据

Posted

技术标签:

【中文标题】Thanos Querier 只能查询 2 小时前的数据【英文标题】:Thanos Querier can only query data 2 hours ago 【发布时间】:2021-01-08 12:58:05 【问题描述】:

我关注了这个博客https://rancher.com/blog/2020/prometheus-metric-federation 在我们的 kubernetes 中设置 thanos。

我们有这样的设置,其中集群 A 仅包含 - Thanos Receiver、Thanos Store 和 Thanos Query。

数据块每 2 小时在 S3 中成功加载一次。但是,当我们将 Grafana Dashboard 指定为使用 Thanos Query 时,如果您在 10 分钟(或少于 2 小时)的范围内进行查询,则不会显示任何数据结果。但是查询2小时前及以上时间范围的数据,会显示数据。

Thanos Querier 是否可以从 Thanos Receiver(来自 Prometheus)查询实时数据?这是我对 Thanos Querier 部署的配置(下) 有没有我遗漏的配置?

containers:
      - args:
        - query
        - --log.level=info
        - --grpc-address=0.0.0.0:10901
        - --http-address=0.0.0.0:9090
        - --query.replica-label=prometheus_replica
        - --query.replica-label=rule_replica
        - --store=dns-s-rv+_grpc._tcp.thanos-store.thanos.svc.cluster.local
        image: quay.io/thanos/thanos:v0.15.0

【问题讨论】:

【参考方案1】:

是的,Thanos Query 能够从 Thanos Receive 获取实时数据。 Thanos documentation for receive 声称:

它公开了 StoreAPI,以便 Thanos Queriers 可以实时查询收到的指标。

只需在查询调用中添加另一个 --store 选项以指向 thanos-receive gRPC 端口

【讨论】:

您好 @bjakubski 先生,感谢您的回复。我更新了我的配置并添加了 ff:---store=dns-s-rv+_grpc._tcp.thanos-store.thanos.svc.cluster.local ---store=thanos-store:10901。但是,实时查询数据时,查询器中仍然没有结果。出现消息“没有与此查询匹配的 StoreAPI”和“未找到数据点”。甚至状态是 Up and Healthy。 似乎您再次指向thanos-store(根据使用的主机名判断)确保您在那里使用接收器!如果您有权访问 Thanos Query UI,则可以检查“商店”选项卡以查看您已配置的商店的状态。 @bjakubski 先生,感谢您的帮助。我已经在我的商店配置中添加了接收器,我可以在“商店”页面中查看它们的状态。我可以在 Thanos Query 中查询“count (up) by (tenant_id)”并显示数据结果。你拯救了我的一天。非常感谢先生。

以上是关于Thanos Querier 只能查询 2 小时前的数据的主要内容,如果未能解决你的问题,请参考以下文章

Thanos 架构剖析统一的查询入口

监控 - Thanos - Prometheus的低时延与低开销数据查询

Prometheus/Thanos -> 我们可以在 Thanos 查询器商店中添加商店特定的 TLS 吗?本质上在同一个存储数组中有 http 和 https

Thanos 架构剖析历史数据怎么办

WCF - 在 net.tcp://..../Querier.svc 上没有可以接受消息的端点侦听

查询数据库的时候 可以查询出每隔一段时间(比如2小时)这段时间段前3条数据