Mule CE 3.5.0 does not have any sort of business monitoring. Only logs with lots of technical information.
So you must setup your own infrastructure, for example using Graylog2 or Logstash + Kibana.
But first of all how to get high level information about flows and events in your Mule ESB?
1) Do not init listeners via registry-bootstrap.properties as described in Start Me Oh So Gently
The MuleContext instance and internal NotificationManager and it`s Policy field will be overwritten later in process with new instance (this only applies to running in standalone mode, somehow running flow in IDE does not produce such behaviour)
2) Use standard syntax in your flow XML file:
<spring:bean name="logger1" class="class implementing MessageProcessorNotificationListener"/>
<spring:bean name="logger1" class="class implementing EndpointMessageNotification"/>
<notifications dynamic="true">
<notification event="MESSAGE-PROCESSOR"/>
<notification event="ENDPOINT-MESSAGE"/>
<notification-listener ref="logger1"/>
<notification-listener ref="logger1"/>
</notifications>
I recommend listening at least on these two events (MessageProcessorNotification and EndpointMessageNotification). The first one produces information about message being processed and sent to outbound endpoints. The second one generate event with information about message received from inbound endpoint.
3) Do the code to extract information from events
So you must setup your own infrastructure, for example using Graylog2 or Logstash + Kibana.
But first of all how to get high level information about flows and events in your Mule ESB?
1) Do not init listeners via registry-bootstrap.properties as described in Start Me Oh So Gently
The MuleContext instance and internal NotificationManager and it`s Policy field will be overwritten later in process with new instance (this only applies to running in standalone mode, somehow running flow in IDE does not produce such behaviour)
2) Use standard syntax in your flow XML file:
<spring:bean name="logger1" class="class implementing MessageProcessorNotificationListener"/>
<spring:bean name="logger1" class="class implementing EndpointMessageNotification"/>
<notifications dynamic="true">
<notification event="MESSAGE-PROCESSOR"/>
<notification event="ENDPOINT-MESSAGE"/>
<notification-listener ref="logger1"/>
<notification-listener ref="logger1"/>
</notifications>
I recommend listening at least on these two events (MessageProcessorNotification and EndpointMessageNotification). The first one produces information about message being processed and sent to outbound endpoints. The second one generate event with information about message received from inbound endpoint.
3) Do the code to extract information from events