如何在Heroku中设置内存使用警报?

时间:2019-10-07 05:11:18

标签: ruby-on-rails heroku memory-management

基本上。我有一个Rails 5应用程序,但实际上更多的是在通用级别上的。我正在使用一台网和一名工人。找不到任何东西。

2 个答案:

答案 0 :(得分:2)

Heroku的“应用指标”页面也可以在某些情况下提醒您。但是,没有用于警告内存使用情况的选项。我们已请求Heroku支持,这是他们的答案:

是的,很遗憾,没有内置的方式来接收有关 内存使用情况。但是,您可能会设置Papertrail 实例,以在您的应用发出R14或R15时提醒您。记住 在某些情况下,采取任何纠正措施可能为时已晚 对内存的操作,因为它已经在提醒应用程序中断。

为获得更详细的信息,您需要启用log-runtime-metrics 实验,以便将内存使用情况打印到应用程序日志中: https://devcenter.heroku.com/articles/log-runtime-metrics

您还可以使用日志消耗来解析,图表和设置警报 这些错误。 Librato是我看到客户使用的最常用工具 对于这种工作流程:https://elements.heroku.com/addons/librato

目前,依靠Papertrail对我们来说已经足够了,但是我们仍在探索其他选择。一种选择是简单地使用Rails应用程序来报告其自身的内存使用情况,例如通过类似pmap #{Process.pid} | tail -1的系统调用。另一个选择是使用Monit(https://mmonit.com/),但是设置和配置不是很容易。 (您将需要一个自定义的构建包才能在Heroku上运行它。)Heroku还支持一些用于监视并发送警报的第三方插件,例如New Relic。

答案 1 :(得分:1)

您无法在Heroku中使用,但到目前为止,我发现的最佳解决方案是使用App Signal

它们允许您针对其跟踪的任何指标(包括主机内存使用情况)设置自定义警报。

一般来说,App Signal也是非常可靠的APM,因此您可以抛弃New Relic,Scout或其他可能使用的其他工具。