Monitoring 请求对应用程序/数据监控解决方案进行反馈

Monitoring 请求对应用程序/数据监控解决方案进行反馈,monitoring,Monitoring,我是公司一个非常敏感系统的主要开发人员。这段代码设计得很好,但是有一些缺陷使得它有点不稳定。当然,我们正在努力修复导致稳定性问题的缺陷,但与此同时,我们有时会出现一些问题。“错误的”事情“错误的”可能对公司非常不利,因此在此期间,我们必须迅速发现并解决问题。从长远来看,我希望有一个自动监控系统,对数据和其他事情进行健全性检查,以便在出现问题时通知我们。现在,为了确保在我们到达那个点之前不会发生灾难性的事情,我正在寻求一些建议 我们每天都要运行几个检查(主要是可以通过简单的SQL查询完成的数据检查

我是公司一个非常敏感系统的主要开发人员。这段代码设计得很好,但是有一些缺陷使得它有点不稳定。当然,我们正在努力修复导致稳定性问题的缺陷,但与此同时,我们有时会出现一些问题。“错误的”事情“错误的”可能对公司非常不利,因此在此期间,我们必须迅速发现并解决问题。从长远来看,我希望有一个自动监控系统,对数据和其他事情进行健全性检查,以便在出现问题时通知我们。现在,为了确保在我们到达那个点之前不会发生灾难性的事情,我正在寻求一些建议

我们每天都要运行几个检查(主要是可以通过简单的SQL查询完成的数据检查)。其他应每周运行,其他应每月运行。在过去,我曾将这些查询提供给其他人,并将确保在需要时运行这些查询作为他们的工作。不幸的是,人类是不完美的,不可避免地会翻身,我们似乎总是发现一些不好的事情发生得比我们希望的晚,因为一个或多个手动检查没有运行。是否有人可以提供建议或让我知道一个可能帮助我管理这些脚本的应用程序,或者一个可能为我完成部分工作的现有应用程序?在这一点上,我唯一的选择将是免费的应用程序,但如果有人提出一些不免费的建议,我会把它放在以后要考虑的事情清单上。我知道我的公司有一个开放的NMS监控系统,但负责人不会将任何控制权让给我,以便我可以为我的系统配置它,同时他们根本不会响应我设置监控的请求。我的公司过去也使用过Nagios,但我不认为这两种都能完全满足我的需求,因为我主要不是在寻找网络监控

感谢您的帮助/建议。

您可以尝试使用此应用程序,您可以轻松设置通知规则,如“如果我的计划任务未及时完成->发送短信”

我们还使用AlertGrid来监控计划任务的一些逻辑统计数据(我们测量一些执行时间、处理的条目数),当然,当某些阈值超过时,我们会发出警报

有一个免费帐户(不受时间限制),可以使用一定数量的提醒(价格主要取决于短信和电话提醒的数量)。与其他解决方案相比,与AlertGrid的集成非常容易


(我是AlertGrid团队的成员)

您需要编写一个非常简单的应用程序,该应用程序使用计时器定期触发操作(例如,在查询失败时运行SQL脚本并发送电子邮件或其他任何您想要的操作)。然后将此应用程序作为windows服务或unix deamon安装,以便它始终在后台运行。或者,您可以使用任务调度器(windows)或cron(linux)触发此应用程序

像AlertGrid这样的工具仍然很有用,因为即使你编写了这么小的应用程序并将其作为服务/deamon安装,你也永远不会知道它是否因为某种原因突然失败和停止(最糟糕的情况是主机宕机)。问题在于:如果您自动执行重复性任务,您就消除了人为错误的可能性,但您开始面临另一个敌人:“无声”失败。

因此,为了监控你的重复任务是否真的在运行,你必须有一些东西可以从你的应用程序接收“我还活着”消息,并在x分钟内没有收到消息时发出警报。这是必须的 a) 在托管应用程序的计算机之外 b) 要可靠(这样它本身就不会下降)

像AlertGrid这样的工具可以做到这一点,甚至更多。AlertGrid很好,因为它相对容易集成和使用


但这还不是全部。您写道:“因此,如果我检测到问题,我可以向alert-grid.com发送通知,它将向我们配置它的所有各方发送通知?”。诀窍是你说你想检测问题。考虑另一种方法:配置AlctGrand以检测事件是否是事件。并非所有事件都必须是事件,大多数情况下,您的SQL脚本将无错误地通过,对吗?为什么不报告成功呢?通过这种方式,你一举两得:通过定期检查任何事件(成功和失败),并在x时间内未收到事件时发出警报,来监控你的应用程序是否正在运行,并且自动检测哪些事件是事件,并通过电子邮件短信或电话向适当的联系人发送通知。另一个优点:如果通知规则发生变化(例如,你想向X先生发送短信而不是向Y女士发送电子邮件),你不需要重新编译或重新部署你的应用程序,你只需要在AlertGrid中重新配置它。

AlertGrid是否允许我轻松地对数据库执行一些SQL,分析结果,如果这些结果与我们需要的不一致,则发送警报?AlertGrid允许您触发外部url(可能是指向脚本的url,该脚本将运行必要的逻辑)。老实说,根据您的描述,我判断您已经有了一些按计划方式执行的脚本,如果由于某些原因执行失败,您希望收到警报。这两种情况都可以通过AlertGrid实现。如果您提供更多详细信息,我们可以帮助您进行此集成。我们没有任何计划的脚本。我们有一些手动运行的SQL脚本。例如,可以查询一个表并确保没有StatusID为27的行。如果发现行,则运行脚本的人知道要发出红旗。我们希望该脚本自动运行,并有一些东西自动通知我们的问题