监视Tomcat Webapp

时间:2012-11-08 09:53:25

标签: tomcat amazon-ec2 amazon-web-services

我在Amazon EC2上运行了Tomcat webapp。我期待将来大量使用webapp,因此试图了解如何监控webapp并确保它运行良好。

Amazon EC2为每个EC2实例显示以下 Cloudwatch指标

  1. 平均CPU利用率
  2. Avg Disk Reads
  3. Sum Disk Read Ops(Count)
  4. Avg Disk Writes
  5. Sum Disk写入操作(计数)
  6. Max Network Ins
  7. Max Network Outs
  8. 总和状态(任何)
  9. 总和状态实例 10.Sum状态系统
  10. 我还找到了一个库Metrics,它可用于监控JVM,但我无法理解完全应该监控的内容以及原因?

    我的问题

    我应该监控什么以及为什么要确保我的Tomcat Webapp在服务器上的用户负载突然增加时正常工作?

3 个答案:

答案 0 :(得分:1)

我会推荐VisualVM。这是一种使用Web前端测量Tomcat运行的JVM(您可以通过这种方式分析多个Tomcat实例)的方法。除了能够看出哪些课程的压力最大。

当然,正如您所提到的,您仍然可以获得亚马逊为您的实例提供的所有分析。

您应该寻找的是任何需要大量使用并尝试优化这些过程的类。 VisualVM将为您提供有关此内容的统计信息。

答案 1 :(得分:1)

您在 Cloudwatch指标中描述的内容是硬件监控。

监控Tomcat就是我们所说的软件监控。这涉及(但不限于):

  • 用户会话计数
  • 线程数
  • 各种内存统计(堆使用/最大,permgen使用/最大,旧基因,伊甸园大小等)
  • 垃圾收集(区域之间的促销,频率,全世界事件等)
  • 正常运行时间
  • 您的应用专用监视器(例如,如果您需要数据库访问,能够执行简单的选择,如SELECT * FROM DUAL,成本可以忽略不计)

为什么这些东西?它们中的每一个都有助于更好地了解您的应用程序瓶颈和可能的中断或缓慢的响应时间。这些指标中的每一个都可以解释您的应用突然停止响应或响应时间激增的原因。

我还建议您查看JMX这是监控的标准接口。您可能希望通过JMX公开所有这些监视器。

答案 2 :(得分:0)

我们使用Nagios + JMXProxy来检测JVM本身以及Tomcat公开的大量信息。

您可以阅读有关Tomcat Monitoring FAQ上要监控的内容的一些建议。

如果您阅读文档和常见问题解答,您会发现它真是太棒了。