我正在开发“facade webservice”,我需要重新思考其中的一部分。
上下文 - 我的webservice(我们称之为“FacadeWebservice”)是一个内部Web服务,用于隐藏我系统中的其他Web服务复杂性:
复杂性越来越高,我需要重新思考我监控FacadeWebservice和外部Web服务的方式。我需要:
我正在考虑在我的FacadeWebservice中使用JMX - 这可能会为我提供一些不可思议的图表和统计数据。
这是要走的路吗?或者一个好的日志记录策略足以完成这项任务(即使外部变化是我问题的重要部分)?
关于这个问题的任何建议或经验?
答案 0 :(得分:2)
JMX的优点是您可以运行命令并查询复杂数据。
缺点是标准控制台(与Java版本相配)非常有限。它可以做任何事情,但没有什么好。
我的解决方案是创建一个显示该数据的简单HTML页面。它具有以下优点:
我可以轻松地格式化我希望看到对我最有用的数据。
我可以使用任何网页浏览器查看(在家,网吧,手机)
主要缺点是显示复杂数据(如图形和趋势)并不容易。
[EDIT]也就是说,JMX支持显示图形和趋势但它没有内存。因此,您了解自启动JMX控制台以来所发生的一切。如果您需要能够查看过去,则必须始终在某处运行JMX控制台。
在这种情况下,将图形渲染模块添加到“简单的HTML页面”可能更简单,您可以在其中绘制所需的内容。
答案 1 :(得分:2)
这是一个非常复杂的要求,但您可以尝试JavaMelody,http://javamelody.googlecode.com
答案 2 :(得分:1)
我不知道这是否是一个选项,但看起来你需要ESB组件提供的一些功能:
也许您应该查看可以通过JMX监控的ServiceMix(参见Using a JMX Console with ServiceMix):
(来源:apache.org)
或其他商业工具(Mule ESB Enterprise, ALSB Oracle Service Bus ...)。