2016-08-04 50 views
3

我试图使用Prometheus来跟踪随着时间的推移对我的服务器的请求数量。由于我的服务器将使用Google Compute Engine进行水平自动调整,因此我只能将我的指标推送到远程推送网关。我的服务器将在任何给定时间被删除并重新创建。Prometheus跟踪自动缩放服务器中的请求

问题是,无论何时创建新服务器,甚至使用python客户端库the count value is reset to 0创建计数器实例。我也可以看到图表上下移动,而不是一直增加。

enter image description here

什么是跟踪自动缩减规模环境在使用普罗米修斯请求总数的正确方法?

编辑:

还有另一篇文章对完全相同的问题,只是有一点不同的场景。 Prometheus how to handle counters on server。看起来服务器必须以某种方式自行追踪柜台状态。普罗米修斯只记录当时发送给它的任何值,推或拉。这意味着如果服务器只需拨打counter.inc(),计数器值并不总是上升。换句话说,文档中的以下声明仅适用于客户端库一侧。

计数器是一个累积度量,它表示一个只有上升的单个数值。

回答

2

由于我的服务器将自动缩减规模使用谷歌Compute Engine的水平,我只能把我的度量与远程推送网关。我的服务器将在任何给定时间被删除并重新创建。

这并不完全正确。您可以使用服务发现来自动发现您的节点,并以普通的普罗米修斯方式对它们进行检测和监控。

的pushgateway仅供服务水平批处理作业,见https://prometheus.io/docs/practices/pushing/

+0

由于服务器的存在是动态的,普罗米修斯可能不能及时被删除服务器之前检索数据。但是,现在的问题是我的计数值无法在实例和注册表中累积。如果我用拉来解决这个问题,那么会解决吗?每次重新创建注册表的原因是因为某种程度上重复使用注册表会在某个时间点在推送网关中产生500个服务器错误。 – Andy

+0

在监控方面有很多种族,说实话,如果你经常上/下服务器,以至于你失去了大量的样本,那么你需要调整自动缩放的滞后来减少振荡。汇总是一个收取柜台的费率,然后是一个总和的问题。 –

+0

我想你有一点。我可以汇总结果以获得总计。你可以把这个答案给我,我可以接受吗?至于振荡,我试图通过使用小型实例来降低机器成本。随着流量状态,副作用会迅速变化。 – Andy