如何在应用程序内部进行实时自我监控

时间:2014-04-19 16:00:53

标签: automated-tests unit-testing

我们正在应用单元测试,集成测试,我们正在实践测试驱动和行为驱动的开发。

我们还在外部监控我们的应用程序和服务器(使用我们网络中的专用软件)

缺少的是在应用程序内进行实时监控的一些标准。

我举个例子:

应用程序中应该有一个类似cron的进程,它会定期检查数据结构中的一些结构健康状况

我们需要监控用户是否做了一些不会危及应用程序运行状况的常规内容(有些操作和输入我们无法阻止他们这样做)

我的问题是,这个名称的正确名称是什么,所以我可以在文献中进一步研究。我做了很多搜索,但我总是找到我已经拥有的xunit和bdd / integration测试内容。

那么如何调用,专业应用程序开发的标准是什么,我想知道是否有一些标准结构,如xunit,或者xunit库甚至可以用于它?我甚至无法为这个问题找到合适的标签,所以如果您阅读并了解更好的标签,请不要将它们添加到此答案并删除那些不合适的标签。

我需要使用python,erlang或javascript编写的应用程序,这些应用程序主要是服务器端应用程序,Web应用程序或守护进程。

我们已经在做的是我们从报告某些内容的应用程序内部创建了http网关,这是由nagios基础架构监控的。

我在应用程序中滚动一些类似cron的自我健康计划没有问题,但我对了解一些专业的标准化方法感兴趣。

我发现这篇文章已经接近:http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6300158&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Ftp%3D%26arnumber%3D6300158

1 个答案:

答案 0 :(得分:0)

看起来您正在询问有关如何监控应用程序的方法。通常,可以区分活动监控和被动监控。

活动监控中,您可以创建一些模拟真实用户行为的人工用户负载,并根据来自不存在用户的这些人工响应监控您的应用程序(活动=您主动导致流量到你的申请)。想象一下,您有一个Web应用程序,可以获取特定城市的天气预报。要进行主动监控,您需要部署另一个应用程序,该应用程序每隔N小时就会为您的Web应用程序调用一些预定义的请求("为西雅图和#34提供天气)。如果您的应用程序在指定的时间间隔内没有响应,您将基于此触发警报。

被动监控中,您会观察到一段时间内真实的用户行为。您可以使用日志解析来获取(非)成功请求/响应的数量,或者在应用程序中注入一些代码,这些代码会在成功或无法成功响应时更新数据库中的某些值(被动=您只检查其他用户'交通)。然后,您可以创建图表并检查用户流量是否存在显着偏差。例如,如果在一周前的同一天中,您的应用程序提供了1000个请求,而今天您只收到200个请求,则可能表示您的软件存在问题。