我们有几个在Debian下运行的Tomcat服务器(在AWS中),我们都使用Cloudwatch指标评测整体性能(内存,CPU等)。我们发现,在其中的一些中,我们有CPU或内存利用率的“尖峰”,我们希望检测实际上堵塞这些资源的东西。由于所有服务器运行都是基于Tomcat容器内部的Java,所以逻辑上应该是挂接某种JVM概要分析器并直观地监控其中的线程,但是因为我们在超过某个阈值时启用了Cloudwatch警报(例如CPU超过90%),我们希望触发某种自动化统计信息收集,以查看实际的Java线程/代码是这种消耗的根本原因。监控Tomcat进程CPU峰值
是否有任何监控代理和/或性能收集工具可能有助于诊断这些特定尖峰,而不需要为实际的长时间运行过程收集统计信息?
我们已经试用了New Relic,DataDog和Dynatrace的试用版(最新版本是最实用的,由于其商业模式不适合小公司而非常昂贵),但这些解决方案不仅收集了一切,所需的时间窗口,正如我上面提到的......这些工作可能会起作用,但如果在生产服务器中使用100%的时间(问题出现在问题出现的地方,而不是预生产服务器上),则会给服务器带来相当大的开销。
可能对此问题的改进正在Meta上讨论:https://meta.stackoverflow.com/questions/358401/making-my-questions-better/358407 –
主要的stackoverflow部分用于代码相关的查询。你的问题中没有任何代码。您应该将其重新发布到其他部分并从此处删除。 –