监视可以运行脚本的服务

目前我正在使用New Relic的性能监控服务。 迄今为止工作很好,除了我想自动化一些东西。 当性能不佳或我的网站停机时,我基本上只是收到一封电子邮件通知。 如果站点closures了,我想尝试重新启动应用程序服务器(如果有必要的话,会中止进程)。 如果在一段时间之后不起作用,请尝试重新启动整个机器…我甚至为PageRDuty付费,它可以parsingNew Relic电子邮件通知,并通过电话或短信通知升级程序。 但它不能运行脚本…

似乎这将是任何网站监控工具的stream行function…有什么好的呢?

如果托pipe的解决scheme没有问题, AlertFox可以运行错误的脚本(“macros”)。 例如,这些macros可以login到您的Web主机的configuration面板,并触发重新启动。

托pipe监控服务(如New Relic)运行用户提供的脚本的问题是安全问题 – 除非沙盒很好,否则脚本可能会对监控服务的系统造成不利影响。

他们能够安全地做到这一点的唯一方法就是让一组可能的反应变得安全。 最常见的就是HTTPcallback,监控服务会根据您select的URL发布POST,其中包含发生了什么事情的数据,您可以对此做出反应并做出您所需的任何事情。 当然,不利的一点是你必须在你的基础设施上运行另一个服务,这个服务需要这些事件并采取行动。

我找不到任何快速searchNew Relic的东西,可以涵盖这类东西; 这是完全可能的,他们不处理它,电子邮件/短信通知是最好的,你会得到没有去与另一个监测服务。

出于这些原因,我更愿意运行自己的监控基础架构 – 像New Relic这样的设置对于他们在监控方面可以提供的专业知识(比如Rails应用程序的性能)可能是有用的,但是为了pipe理基础架构本身,我保留它在内部。

那么,Nagios脚本通常只会向Nagios报告状态,但是当他们必须报告WARNING或FAIL时,没有什么会阻止他们做更多的事情。

编辑:从技术上讲,这是工作和容易做,但可能会有不可预见的后果。 一个更好的解决scheme是configurationNagios来处理事件处理程序基础结构的问题。

如果你想要一个轻量级的解决scheme,你可以使用monit 。

而且,如果你愿意的话,它可以在晚些时候和nagios集成。

SeaLion可以运行任何命令行工具/脚本。 这给你无限的可能性。 例如,您可以编写自己的bash脚本,并让GNU Mailutils发送电子邮件通知。 它也有最常用的指标,如CPU,内存,负载平均等警报