基于Nagios事件通过StackScripts启动Linode实例

我正在开发一个web应用程序(django / gunicorn / nginx),需要根据负载进行扩展。 该应用程序将托pipe在Linode上,所以我打算使用StackScripts(也许是Puppet)来启动Web服务器的新实例,然后将它们放在NodeBalancer之后。

看起来好像Nagios和Munin将允许我监视负载,在服务器处于压力下时发出警报,并查看一些漂亮的图表。 但是这些应用程序是否也允许我自动部署新的Linode? 看起来好像我应该能够编写一个启动StackScript的Nagios事件处理程序。 但我不确定是否可以创build一个可以确定何时启动新实例的检查。

  • 是否可以设置一个警报,将过去的测量考虑在内? 我的标准将基于机器负载多长时间,而不是瞬间读数。 我不担心如果Web服务器接近一个支票的最大使用量,但我可能是如果保持两个或更多的方式。
  • 我错过了一件? 我认为这是可能的插件,使用Nagios / Munin已经可用的数据。 但也许我需要编写一个单独的应用程序或脚本,存储以前的检查值,并进行比较。
  • 任何人都可以指出我使用Nagios来扩展应用程序的例子吗? 我曾经看过一些幻灯片,人们讨论这种方式(通常在EC2上),但没有具体的例子。

谢谢。

您可以设置Nagios负载检查,在触发事件处理程序和/或警报之前,在设定的时间内多次重新检查。 如果负载达到临界阈值,则每10分钟重新检查一次,如果继续显示关键负载,则触发事件处理程序/警报。

如果没有真正检查历史,但是看看状态是否已经从最近的检查改变。