ServiceMix 中 Apache-Camel 路由的管理和监控

Posted

技术标签:

【中文标题】ServiceMix 中 Apache-Camel 路由的管理和监控【英文标题】:Administration and Monitoring of Apache-Camel routes in ServiceMix 【发布时间】:2012-04-01 04:39:46 【问题描述】:

作为 Camel 和 ServiceMix 的用户,我经常需要监控这些工具以用于开发目的。我主要使用 JConsole 从 ServiceMix 和 Camel 访问 MBean。它为 ESB 开发人员提供了一些非常有用的指标。

我还使用 karaf (web) 控制台来跟踪我的路线和捆绑状态。 环顾 ***,我发现了一个有趣的链接,它解释了如何为 ServiceMix 4 设置 Hyperic HQ:Monitoring Servicemix with Hyperic HQ。

它们是您认为值得学习/用于 Camel/SMX 开发的其他工具吗?

【问题讨论】:

您希望监控哪些指标没有从您当前的工具中获得? @RoyTruelove 好问题,但我更担心遗漏一些我不知道会有用的东西。这就是为什么我想听听其他开发人员使用什么来监控/调试/管理他们的 Camel 路由。 我能想到的唯一可能尚未涵盖的内容是日志监控。我在 Camel 中遇到过错误处理设置错误的案例,而我知道的唯一方法是定期 grep 日志以查找意外的堆栈跟踪。 【参考方案1】:

此外,我们正在开发一个小型轻量级开源 Web 控制台,以帮助可视化、管理和监控您的 Camel 路线,名为 hawt.io,它还支持查看属性、图表、日志、JMX、OSGi 和 ActiveMQ 等即将推出的功能...

【讨论】:

酷!会检查一下。【参考方案2】:

基于 Hyperic 的 FuseHQ 是 FuseSource 的一款产品,可用于监控 Fuse ESB、ActiveMQ、Camel 等。 http://fusesource.com/products/fuse-hq/

还有 Fuse IDE,它也可以监控,尽管它的工具更专注于开发人员,以编辑和设计集成应用程序,例如 Camel、CXF 和 AMQ。 Fuse IDE 还能够在运行时监控您的应用程序,例如您可以将其附加到任何运行 Camel、SMX、ActiveMQ 的 JVM,并且您可以获得洞察力并为这些应用程序定制 UI。 http://fusesource.com/products/fuse-ide/

还有一些工具,例如 Nagios,人们用来监控,但它更依赖于 JMX 和日志扫描等。有一个 camel-nagios 组件可以从 Camel 向 nagios 发送警报:http://camel.apache.org/nagios

除了 FuseSource 之外,还有一些商业供应商正在将 Camel 仪表板添加到他们的应用程序中。

还有 mcollective 可以从服务器集群中获取信息。我已经看到它与 AMQ 等集成:http://docs.puppetlabs.com/mcollective/

【讨论】:

【参考方案3】:

好消息是 Apache Camel 基于开放标准,因此如果 Camel 工具不足,您可以使用自己的框架和工具。

您可以使用 jconsole 或 hawtio 等 JMX 工具来管理 Camel 路由。我对监控的建议是 Kibana,这是一个很棒的开源项目,用于基于日志文件创建仪表板。您仍然必须使用 Camel 的 EIP,例如 WireTap 或 MessageStore 来创建日志文件。之后,很容易监控它们并创建仪表板。

如果您需要更多详细信息,请查看我关于监控 Apache Camel 替代方案的博文:

http://www.kai-waehner.de/blog/2013/07/15/apache-camel-and-talend-esb-management-and-monitoring-of-integration-routes-and-soap-rest-web-services-jmx-osgi-logstash-elasticsearch-kibana-hawtio/

【讨论】:

以上是关于ServiceMix 中 Apache-Camel 路由的管理和监控的主要内容,如果未能解决你的问题,请参考以下文章

apache-camel - 在spring xml中读取java常量

Apache Karaf 与 Servicemix

ServiceMix 4 中的集群

无法在 Apache ServiceMix 中启动 OSGI 包

apache-camel调度程序组件交换属性TIMER_NAME为空

Spring 集成与 ServiceMix ESB