我有多个基于 Java 的应用程序,它们会生成有关方法调用所需时间的统计数据。
现在,信息被写入日志文件,我通过这种方式分析性能。然而,随着多个应用程序和更多监控要求的出现,这变得有点难以承受。
我正在寻找一个可以收集统计数据并绘制图表的应用程序,以便我可以分析性能并了解性能下降的情况。
我查看过 Solarwinds 应用程序性能监控,但它会定期轮询以收集信息。我的应用程序完全基于事件,我们希望绘制图表并进行相应的跟踪。
我差点就开始编写一些脚本来制作 Google Charts,但肯定已经有一些应用程序可以做到这一点了。有什么建议吗?
答案1
对于简单的事情,既然您自己已经在收集统计数据,请查看 Perf4J。它可能完全符合要求。
如果您预计需要更多功能,请考虑通过 JMX 发布统计数据,然后仅使用 JConsole 或 OpenNMS 之类的工具进行监控(我自己还没有尝试过)。 更多信息请参见:http://www.ibm.com/developerworks/java/library/j-jtp09196/index.html
如果您的监控需求超出了单个服务器的范围,例如,如果您的应用程序正在与数据库或 Web 服务对话,那么您可以考虑使用像 ExtraHop 这样的应用程序感知网络性能监视器:http://www.extrahop.com/products/
答案2
我还没有看到一个解决方案能做到这一点。但是,如果你看看 uptime 软件的 up.time,你会发现它有许多深度应用程序事件监视器,可能会起到作用。此外,你可以将数据推送到 up.time 并利用它的图形功能。有一个 30 天的免费试用版,所以如果它听起来合适,可能值得一试 -http://www.uptimesoftware.com
答案3
有昂贵的工具,例如动态跟踪
答案4
看看这个选项,http://www.rtiperformance.com。它既可用于生产也可用于测试。我对该产品印象深刻,因此我允许使用我的名字和反馈来推广该产品。