如何使用Prometheus监控Heroku多dynos应用程序

时间:2018-02-16 15:38:15

标签: heroku monitoring prometheus

我需要Prometheus监控系统部署到Heroku的监控应用程序。

问题是如果你有更多dynos应用程序,你需要知道你的dynost的所有IP地址才能从所有dynos中提取指标。

对于K8s或AWS,我们可以获得完整的POD /实例列表,因此您可以这样做。

所以问题是,你知道吗,如何从Heroku获得所有dynos的IP? 谢谢

2 个答案:

答案 0 :(得分:0)

  

所以问题是,你知道吗,如何从Heroku获得所有dynos的IP?

这在Heroku平台上是不可能的。应用程序dynos位于负载均衡器后面,您无法直接访问它们。

  

我需要Prometheus监控系统部署到Heroku的监控应用程序。

也许这可以分成两个普罗米修斯的工作。

  1. 直接监控应用程序(在其负载均衡*.herokuapp.com/metrics端点)
  2. 并使用通过推送以某种方式收集dynos指标的导出器
  3. 考虑将Heroku日志消耗用于导出器,将日志转换为度量标准端点。

    Heroku应用程序统计信息中还有一个私有API,不是最好的主意,但它可能很好地收集基本的应用程序统计信息。查看Heroku仪表板中的网络请求,看看它是如何工作的。

    这与使用pushgateway有一些相似之处,如https://prometheus.io/docs/practices/pushing/所述。

答案 1 :(得分:0)

我正在考虑将the $DYNO environment variable作为标签显示给所有指标,以便Prometheus可以对刮除哪个测功力有一致的看法。在足够短的刮擦间隔下,所有测功机应能够在合理的时间内刮擦。

建议不要使用Pushgateway监视长期服务。