1

我有一个关于同步 Prometheus 数据的问题。我在 2 个不同的环境中运行了 2 个 pod(相同的 Spring Boot 服务并连接到相同的 Redis Db)。

当一个服务更新一个指标时,我想强制另一个服务也刷新它的指标,以便它们都显示相同的信息。有没有办法对所有连接的服务强制重新加载?甚至可以做到这一点,还是指标的一个糟糕的用例?

谢谢!

PS 该指标的信息表示该服务上发生的最新事件。因此,两个服务应该显示相同的信息是有道理的。

4

1 回答 1

0

我认为您正试图从错误的角度解决问题。保持原样,PromQL可以向您显示所有实例中的最新事件是什么时候。同时,您可以了解每个服务实例上的最后一个事件何时发生。

这是一个让您入门的示例。假设有一个时间戳度量(一个仪表,它保存某个事件的 unixtime):

last_event{instance="foo", service="dispatch"} 100
last_event{instance="bar", service="dispatch"} 200
# instead of 100 and 200 there should be the number of seconds since 01.01.1970, but for the sake of simplicity...

使用此类指标,您可以通过以下查询了解上次事件的时间:

max by(service) (last_event)

结果将是:

{service="dispatch"} 200
于 2022-02-18T08:48:53.290 回答