您如何确保生产中的应用程序正常运行?如果出现问题,您如何提醒您的开发团队?
我问这个是因为我正在编写一个 bash 脚本来检查这个问题,我想知道是否有更聪明或更完整的方法来实现这一点。背后的想法是这个命令:wget -q -O - APPLICATION_URL_HERE | grep 'ERROR 404
,我仍然要检查各种 HTTP 错误,但你可以明白我的意思。如果识别出应用程序未运行,则将邮件发送到其所属团队的列表。
我所有的应用程序都在 Apache Tomcat 上运行。
您如何确保生产中的应用程序正常运行?如果出现问题,您如何提醒您的开发团队?
我问这个是因为我正在编写一个 bash 脚本来检查这个问题,我想知道是否有更聪明或更完整的方法来实现这一点。背后的想法是这个命令:wget -q -O - APPLICATION_URL_HERE | grep 'ERROR 404
,我仍然要检查各种 HTTP 错误,但你可以明白我的意思。如果识别出应用程序未运行,则将邮件发送到其所属团队的列表。
我所有的应用程序都在 Apache Tomcat 上运行。
你可以尝试Lambda Probe的社区分支,Psi Probe
以下是摘自他们主页的简短摘要:
"... 实时监控和管理 Apache Tomcat 实例的终极工具。Lambda Probe 将通过易于使用和友好的 Web 界面帮助您可视化有关 Apache Tomcat 实例的实时信息。有关更多信息,请访问概述部分。 "
这取决于您对您想要做的事情的详细程度。有许多公司提供的产品和服务将监控 Web 应用程序以确保它们完全运行,如果没有,请解释错误在哪里以及它在做什么。我认为 Empirix 在他们的 web 测试套件中有一个,但我已经有一段时间没有使用它了,所以他们可能已经删除了它。还有很多其他的。我所看到的这样做是真正的自动化测试,它们通过站点并报告发现的任何错误。
如果你真的很认真(比如想花钱确保你的网站正常运行),我会在 Gartner 上搜索网站可用性。我几乎肯定他们将围绕这个主题建立一个魔力象限,它会给你一个很好的起点。
我想说你在做的事情还不错,你只是在重新发明轮子,可能不会像专注于它的公司那样彻底。话虽这么说,你的绝对是更便宜的选择,它可以满足你的需要。
我们正在运行几个后台应用程序和服务。它们都包含一个由 TCP/IP 连接触发的小类,用于将状态信息发送到在 ASP 页面上打印出信息的 Web 服务。该页面每 5 分钟由元标记刷新一次。
我只需要在浏览器中打开页面并不时检查是否有任何组件处于脱机状态(很容易发现,因为它们变红了)。
整个系统非常轻巧,易于包含在任何项目中。它是我的一位同事写的,效果很好。如果连接丢失超过 x 分钟,我们还可以增强它以向我们发送电子邮件,但到目前为止还没有必要这样做。
Nagios、Zabbix、OpenNMS……有无数的监控工具专为这类工作而构建。