使用应用程序性能监视来探究HTTP 500错误的根源

HTTP 500错误可能难以识别和排除故障。 在最佳情况下,标准的外部网站监视工具将捕获并提醒您Web层上的HTTP 500错误。 但是,即使您知道有错误,也很难准确地确定发生了什么。 您将从外部网站监视工具收到的警报可能是模糊的,不是很有用。

使用应用程序性能监视来探究HTTP 500错误的根源

即使选择“查看详细信息”,也没有太多信息可以指出原因。

使用应用程序性能监视来探究HTTP 500错误的根源

如果HTTP 500错误在后端,则情况更加困难。 外部监视工具将无法捕获它。 您的第一个迹象是存在问题,通常是因为站点有问题,所以用户提醒操作团队。 如果您的网站在Web层中有错误处理,则可能会产生“出现问题”的消息 如果错误完全出乎意料,则该页面可能只是缺少HTTP 500错误发生所在的下游服务应提供的元素。

无论错误发生在何处,一旦得知存在问题,就很难知道到底发生了什么以及如何解决。 HTTP 500错误非常普遍,仅表示服务器遇到问题,但无法指定特定错误或其根本原因。

应用程序性能监控

将您的网站监视工具集扩展到既包括外部监视程序又包括应用程序性能监视解决方案,可以帮助确定服务器问题并显着增加平均解决时间。 应用程序性能监视解决方案可以在用户致电支持人员之前向您发出HTTP 500错误警报,并且可以帮助您快速查明原因,从而避免停机并最大程度地降低服务质量。

为了说明其工作原理,让我们来酒店预订网站以及与应用性能监控解决方案,在这种情况下,SolarWinds的®监视它AppOptics ™。 当我们使用该工具分析网站时,我们看到的视图与大多数网站性能和正常运行时间监视工具将报告的视图相似。 您会看到错误率在增加,响应时间也在增加。

使用应用程序性能监视来探究HTTP 500错误的根源

一个区别是“ HTTP状态代码”窗格。 应用程序性能监视解决方案可以跟踪前端和后端的HTTP错误计数,甚至可以为后端HTTP 500错误设置主动警报。

使用应用程序性能监视来探究HTTP 500错误的根源

对于我们的酒店预订网站,我们可以在30分钟内创建警报以通知我们,如果HTTP 500错误超过20个。 这种类型的警报通知可以补充标准的Web性能警报,并允许操作团队在用户注意到任何服务降级或中断之前开始对服务器端问题进行故障排除。

一旦知道了HTTP 500错误,下一个挑战就是找到根本原因。 应用程序性能监视工具也可以提供帮助。 其中许多解决方案都包括分布式跟踪。 例如,在AppOptics中,您可以根据要求进行完整的跟踪,并确切地查看失败的地方,这实际上可以简化故障排除。

使用应用程序性能监视来探究HTTP 500错误的根源

要获取有关5xx错误的详细信息,我们选择跟踪的请求,然后选择顶部的“错误”过滤器以向我们显示错误。 同样,我们可以看到它们刚刚开始。 通过从跟踪的请求中选择一个特定的请求,我们可以看到完整的跟踪和实际的错误消息。 在这种情况下,它说:

“无法打开与booking.neta-suites.com:8080的TCP连接(getaddrinfo:名称或服务未知)。”

此消息使我们知道该Web应用程序正在尝试连接到后端服务。 消息中的“ 名称或服务不知道 ”部分可能表示我们存在DNS问题,或者服务突然停止。 在外部网站性能监控中添加应用程序性能管理工具可以帮助填补空白,并在客户支持获得用户致电之前识别这些类型的错误。 跟踪可以使猜测游戏摆脱对HTTP 500错误的疑难解答,并且可以帮助快速识别根本原因。

翻译自: https://www.javacodegeeks.com/2019/02/performance-monitoring-http-500-errors.html