我是我公司一个非常敏感的系统的主要开发者。这段代码设计得很好,但是它有一些缺陷,使得它有点不稳定。当然,我们正在努力修复导致稳定问题的缺陷,但与此同时,我们也不时地出现一些问题。“错误”的“错误”可能会对公司不利,所以在此之前,我们必须尽快发现并解决问题。长期而言,我希望有一个自动监控系统来对数据和其他事情进行健全检查,以便在问题发生时通知我们。但是现在,为了确保在我们到达这个点之前没有发生什么灾难性的事情,我正在寻求一些建议。
我们每天都要运行几个检查(主要是可以通过简单SQL查询完成的数据检查)。另一些应该每周运行,另一些则每月运行。在过去,我向其他人提供了这些查询,并将确保在需要时运行这些查询作为他们的工作。不幸的是,人类是不完美的,随着不可避免的转变,我们似乎总是发现一些糟糕的事情发生得比我们想象的要晚,因为这些人工检查中的一个或多个没有运行。有人能提供建议或让我知道一个应用程序可以帮助我管理这些脚本,或者一个现有的应用程序可以为我做一些这方面的工作吗?在这一点上,我唯一的选择是一个免费的应用程序,但是如果有人建议一些不免费的东西,我会把它放在以后要考虑的事情列表中。我知道我的公司有一个开放的NMS监控系统,但是主管人员不会放弃对我的控制,这样我就可以为我的系统配置它,同时他们也完全不响应我建立监控的请求。我的公司过去也使用Nagios,但我不认为它们都能做我想做的事情,因为我不是主要在寻找web监控。
感谢你的帮助/建议。
发布于 2010-09-14 09:47:12
您需要的是编写一个非常简单的应用程序,该应用程序使用计时器周期性地触发一个操作(例如,运行SQL脚本并在查询失败时发送电子邮件或任何您想要的东西)。然后,您将此应用程序安装为windows服务或unix deamon,因此它总是在后台运行。或者,您可以使用任务调度程序(windows)或cron (linux)触发此应用程序。
像AlertGrid这样的工具仍然是有帮助的,因为即使您编写了这么小的应用程序并将其作为服务/deamon安装,您也不会知道它是否因某种原因突然失败并停止运行(最糟糕的情况是主机故障)。问题是:--如果你自动执行一个反复出现的任务,你就消除了人为错误的可能性,但是你开始面对另一个敌人:“沉默的”失败。
因此,要监视重复出现的任务是否真的在运行,您必须有一些可以从应用程序接收“我还活着”的消息,并在x分钟内没有收到消息时发出警报。这件事必须( a)在主机之外,你的应用程序b)是可靠的(所以它本身不会崩溃)。
像AlertGrid这样的工具正是这样做的,还有更多。AlertGrid很好,因为它相对容易集成和使用。
但这还不是全部。您写道:“那么,如果我发现问题,我可以发送通知通知-grid.com,它将发送通知给所有各方,我们为其配置了吗?”诀窍是你说你想要发现问题。考虑另一种方法:配置AlertGrid以检测事件是否为意外事件。不是所有事件都必须是事件,大多数情况下,您的SQL脚本将在没有错误的情况下传递,对吗?为什么不报告成功呢?这样,你就可以一举两得:通过定期检查任何事件(无论是成功事件还是失败事件)来监控应用程序的运行情况,如果没有在x时间内收到事件,就会发出警报,然后自动检测哪些事件是意外事件,并通过电子邮件、短信或电话向适当的联系人发送通知。另一个优势是:如果通知规则发生变化(例如,你想向X先生发送短信而不是电子邮件给Y女士),你不需要重新编译或重新部署你的应用程序,你只需要在AlertGrid中重新配置它。
发布于 2010-09-13 10:29:27
您可以尝试AlertGrid -使用此应用程序可以轻松设置通知规则,例如“如果我的计划任务没有及时完成,->发送短消息”。
我们还使用AlertGrid来监视调度任务的一些逻辑状态(我们测量一些执行时间、处理条目的数量),当然,当一些阈值被越过时,我们会发出警报。
有一个免费帐户(不受时间限制),可以使用一定数量的警报(价格主要取决于SMS和电话警报的数量)。与其他解决方案相比,与AlertGrid集成非常容易。
(我是AlertGrid团队的一员)
https://stackoverflow.com/questions/3697727
复制相似问题