6

Being a user of Camel and ServiceMix I frequently need to monitor those tools for development purposes. I mainly use JConsole to access MBeans from ServiceMix and Camel. It gives a few really helpful metrics for an ESB developer.

I also use karaf (web)console to track my route and bundles status. Looking around StackOverflow I found an interesting link that explains how to setup Hyperic HQ for ServiceMix 4: Monitoring Servicemix with Hyperic HQ.

Are they other tools you would consider worthy to learn/use for Camel/SMX Development ?

рüффп
  • 4,475
  • 34
  • 62
  • 99
Olivier.Roger
  • 4,131
  • 5
  • 35
  • 63
  • What metrics are you looking to monitor that you're not getting from your current tools? – Roy Truelove Mar 15 '12 at 20:56
  • @RoyTruelove Good question, but I am more concern about missing something I do not know that would be useful. That is why I would like to hear what other developers are using to monitor/debug/administrate their Camel routes. – Olivier.Roger Mar 16 '12 at 08:24
  • The only thing that I could think of that might not already be covered is log monitoring. I've had cases in Camel where I set up my error handling wrong, and the only way I would have known would have been to periodically grep my logs for unexpected stack traces. – Roy Truelove Mar 16 '12 at 12:11

3 Answers3

9

In addition we're working on a small lightweight open source web console to help visualise, manage and monitor your Camel routes called hawt.io which also has support for viewing attributes, charting, logs, JMX, OSGi and ActiveMQ with more features coming soon...

James Strachan
  • 9,018
  • 32
  • 30
8

FuseHQ which is based on Hyperic is a product from FuseSource that is ready made for monitoring Fuse ESB, ActiveMQ, Camel etc. http://fusesource.com/products/fuse-hq/

Then there is also Fuse IDE which can monitor as well, albeith its tooling more focused for developers, to edit and design integration applications, for example with Camel, CXF, and AMQ. Fuse IDE is also capable of monitoring your apps at runtime, such as you can attach it to any running JVM that has Camel, SMX, ActiveMQ running, and you can gain insight and have UI tailored for those apps. http://fusesource.com/products/fuse-ide/

There is also tools such as Nagios that people use to monitor, but its more tied to JMX and log scanning etc. There is a camel-nagios component to send alerts to nagios from Camel: http://camel.apache.org/nagios

And there is commercial vendors, besides FuseSource, who are in progress of adding Camel dashboards to their apps.

There is also mcollective which can grab information from a cluster of servers. I have seen it integrate with AMQ etc: http://docs.puppetlabs.com/mcollective/

Claus Ibsen
  • 52,841
  • 7
  • 41
  • 58
1

The good news is that Apache Camel is based on open standards, thus you can use your own frameworks and tools if tooling of Camel is not sufficient.

You can use JMX tools such as jconsole or hawtio for management of Camel routes. My recommendation for monitoring is Kibana, a great open source project for creating dashboards based on log files. You still have to use Camel's EIPs such as WireTap or MessageStore to create log files. Afterwards, it is very easy to monitor them and create dashboards.

If you need more details, take a look at my blog post about monitoring alternatives for 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/

Kai Wähner
  • 4,730
  • 4
  • 30
  • 32