Mule ESB is the runtime engine for Anypoint Platform and serves as a lightweight Java-based enterprise service bus (ESB) and integration platform. It empowers developers to swiftly and effortlessly link applications.
Install and configure the Mule monitoring extension to monitor the light weight, Java based integration platform. Take informed troubleshooting decisions by keeping track of critical metrics including execution and fatal errors, synchronus, asynchronus, processed events and lot more.
This document details how to configure the Mule ESB plugin and the monitoring metrics for providing in-depth visibility into the performance, availability, and usage stats of Mule ESB instances.
Mule ESB performance monitoring metrics
Use our wide array of metrics and get notified of hazardous errors that require your attention. Keep track of unexpected trends through our metric graphs and troubleshoot as quickly as possible. Various out-of-the-box metrics we support are:
The metric memory_usage shows the amount of memory being used by the JVM where a particular instance of Mule ESB is running.
Average processing time
avg_processing_time is the time taken to process any event in your mule application.
Mule collects events information for the flows and message processors to handle the business transactions. processed_events helps to analyze the incoming traffic to your application.
Synchronous and asynchronous events
Mule implements message processing for a given flow, either on the same thread (synchronously) or on a different thread (asynchronously). The number of messages processed synchronous and asynchronous are given by sync_events_received and async_events_received respectively.
When a message being processed through a Mule flow throws an exception, normal flow execution stops. Such errors (execution_errors) may cause failure of user requests.
The metric fatal_errors is critical, which gives the number of erroneous/failed requests over a period of time. This helps the user to know whether their application is running smoothly.
Minimum and maximum processing time
Metrics min_processing_time and max_processing_time is the minimum and maximum time taken by the Mule server to process a Mule event in your application.
- Configure JMX in Mule ESB instance
Mule plugin installation
- Create a directory with the name "mule", under Site24x7 Linux agent plugin directory - /opt/site24x7/monagent/plugins/
sudo mkdir mule
- Download the "mule.sh" and "MulePlugin.java" from our GitHub repository and place it under the "mule" directory
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/mule/mule.shsudo wget https://raw.githubusercontent.com/site24x7/plugins/master/mule/MulePlugin.java
- Provide JMX host, port credentials and application name in MulePlugin.java file
- The server agent will report stats on the performance of Mule server under the Plugins tab in the Site24x7 web client. In case the plugin is not listed in the Site24x7 web client, restart the agent.
sudo /etc/init.d/site24x7monagent restart
Monitoring additional metrics
- To monitor additional metrics, edit the "mule.sh" file and add the new metrics that need monitoring
- Increment the plugin version value in the file "mule.sh" to view the newly added metrics (For e.g., change the default plugin version from PLUGIN_VERSION = "1" to "PLUGIN_VERSION = "2")
- ActiveMQ plugin - Monitor performance metrics of your Apache ActiveMQ instances
- MongoDB plugin - Monitor performance metrics of your MongoDB databases
- Memcached plugin - Analyze performance of your Memcached server
- Nagios plugin - Execute thousands of Nagios plugins in Site24x7 without the need of running a Nagios server
- Out-of-the-box plugins - Monitor your entire app stack with our extensive list of integrations
- Create custom plugins - Create custom Linux and Windows plugins and monitor custom attributes