
Add the following options to your Mule application server wrapper.conf file.
wrapper.java.classpath.##=/opt/wily/Introscope/Agent.jar
wrapper.java.additional.##=-javaagent:/opt/wily/Introscope/Agent.jar
wrapper.java.additional.##="-Dcom.wily.introscope.agentProfile=/opt/wily/Introscope/core/config/IntroscopeAgent.profile"
wrapper.java.additional.##="-Dcom.wily.introscope.agent.agentName=myJVM"
The introscope_home/wily/Introscope/core/config/IntroscopeAgent.profile file should have the following. Replace "your_hostname" and "your_port" with the hostname and port of your Introscope Enterprise Manager.
introscope.agent.customProcessName=Mule
introscope.agent.enterprisemanager.transport.tcp.host.DEFAULT=your_hostname
introscope.agent.enterprisemanager.transport.tcp.port.DEFAULT=your_port
Restart the Mule application server for the change to take effect.
IntroscopeAgent.log
If communication is successful between the Introscope collector and your Mule application server, IntroscopeAgent.log on your Mule server should have something like this.
mm/dd/yy hh:mm:ss [INFO] [IntroscopeAgent.Isengard] Initiating connection attempts to the Introscope Enterprise Manager.
mm/dd/yy hh:mm:ss [INFO] [IntroscopeAgent.IsengardServerConnectionManager] Connected controllable Agent to the Introscope Enterprise Manager at collector1.example.com:5001,com.wily.isengard.postofficehub.link.net.DefaultSocketFactory. Host = "SERVER01", Process = "Platform", Agent Name = "myJVM", Active = "true".
mm/dd/yy hh:mm:ss [INFO] [IntroscopeAgent.ConnectionThread] Connected to collector1.example.com:5001,com.wily.isengard.postofficehub.link.net.DefaultSocketFactory in allowed mode.
Likewise, the log should identify when the agent startup has completed.
mm/dd/yy hh:mm:ss [INFO] [IntroscopeAgent.Agent] Introscope Agent startup complete.
If communication is unsuccessful, IntroscopeAgent.log should have something like this. This is expected when the Mule application server is stopped.
mm/dd/yy hh:mm:ss [WARN] [IntroscopeAgent.IsengardServerConnectionManager] Introscope Enterprise Manager collector1.example.com:5001,com.wily.isengard.postofficehub.link.net.DefaultSocketFactory requested disconnect
mm/dd/yy hh:mm:ss [WARN] [IntroscopeAgent.IsengardServerConnectionManager] Lost contact with the Introscope Enterprise Manager at collector1.example.com:5001.
IntroscopeEnterpriseManager.log on the Collector
If communication is successful between the Introscope collector and your Mule application server, IntroscopeEnterpriseManager.log on the collector should have something like this.
mm/dd/yy hh:mm:ss [INFO] [PO:WatchedAgentPO Mailman 1] [Manager.Agent] Connected to Agent "SuperDomain/Platform|agent1.example.com|Platform|myJVM" at "Node=Agent_31, Address=agent1.example.com/10.15.231.81:50858, Type=socket" using Agent protocol revision 1.0
If communication is unsuccessful, IntroscopeEnterpriseManager.log should have something like this. This is expected when the Mule application server is stopped.
mm/dd/yy hh:mm:ss [INFO] [Manager] Lost connection at: Node=Agent_31, Address=agent1.example.com/10.15.231.81:50858, Type=socket
mm/dd/yy hh:mm:ss [INFO] [Manager.Agent] Disconnected from Agent "SuperDomain/Platform|agent1.example.com|Platform|myJVM"
IntroscopeEnterpriseManager.log on the MoM
If you are using a Manager of Managers (MoM), and communication is successful between the Introscope collector and your Mule application server, IntroscopeEnterpriseManager.log on the MoM should have something like this.
mm/dd/yy hh:mm:ss [VERBOSE] [Manager.PostOfficeHub] Connected To: Node=Agent_1104, Address=agent1.example.com/10.15.231.81:45656, Type=socket
mm/dd/yy hh:mm:ss [VERBOSE] [Manager.LoadBalancer] Assign SuperDomain/Platform|agent1.example.com|Platform|myJVM to collector1.example.com@5001 (22337 metrics)
If communication is unsuccessful, IntroscopeEnterpriseManager.log should have something like this. This is expected when the Mule application server is stopped.
mm/dd/yy hh:mm:ss [VERBOSE] [Manager.LoadBalancer] No eligible collector for: SuperDomain/Platform|agent1.example.com|Platform|myJVM
mm/dd/yy hh:mm:ss [VERBOSE] [Manager.EventHandler] Error reading incoming bytes in Server Hub Receive 1115 event handler for Socket Transport connected with Socket[addr=agent1.example.com/10.15.231.81,port=45656,localport=5001] because java.io.IOException: An existing connection was forcibly closed by the remote host
mm/dd/yy hh:mm:ss [VERBOSE] [Manager.PostOfficeHub] Disconnected From: Node=Agent_1104, Address=agent1.example.com/10.15.231.81:45656, Type=socket
Unmount
Note that the unmounting an agent does not cause "Lost connection" and "Disconnected from Agent". Instead, IntroscopeEnterpriseManager.log on the collector should have the following for an unmount.
mm/dd/yy hh:mm:ss [INFO] [PO:main Mailman 5] [Manager.Agent] Unmount completed of Agent "server2|Platform|JVM2"
Metrics
Introscope will now attempt to gather metrics from your Mule application servers and then send the metrics to the Introscope Enterprise Manager.
Did you find this article helpful?
If so, consider buying me a coffee over at