How to gather troubleshooting information from Mule Runtime.
Review the appropriate Mule Runtime troubleshooting category:
Installation / Update
Usage
Available triggers
Commands
Inline help (help command)
Get Mule Runtime process ids (pids command)
Interactive collection of information (interactive command)
Direct information download (download command)
CPU/Threads profiling (profile command)
Patch conflicts (patchconflict command)
Additional flags
Self-upgrade process
How to gather this information manually?
This is a standalone tool and you'll need to use the corresponding version for your operating system. The binaries for each supported operating system can be found here:
Mac OSX (64-bit)
Linux (32-bit)
Linux (64-bit)
Windows (32-bits)
Windows (64-bits)
Download your OS matching executable and place it in the system running your Mule Runtimes. Depending on your operating system you may need to grant executable permission to the downloaded file.
The command update will check if new versions are available (when possible) and notify you what's the latest version, giving you the option to update the tool automatically for you or download the new version to your machine and update the binary file manually.
Note that some OS can't update the binary when it's running to the "update" option will have no effect. Try the "download" option if this is your case.
Find out more information about the process here.
All information can be collected manually by following the guidelines of the article, Preparing to Open a Support Case with MuleSoft.
Regarding Runtime Fabric, the collectors depending on Java to be collected will fail. The rest of the collectors work as expected.
Known Issues Detection
The collector "knownissues" run a set of tests over the collected data trying to find known issues and reporting back with a linked knowledge article with the symptoms and possible solutions.
We strongly recommend including this Collector with each execution.
You can get usage help on-screen with the command `help`.
support-collector help. (or ./support-collector help)
You can get the id number of the java process running the Mule Runtime with the "pids" option. This command will list you all the running Mule Runtimes in the current machine. It shows the next information:
<pid> <mule_version> <mule_home>
support-collector pids
It's possible to select the information to collect and the runtime interactively through a CLI like screen. To start it just use the "interactive" command. It will ask you to select the running Mule Runtime you want to collect the information for, from the list of all running ones. You can choose the option "Mule Runtime is not running" and you'll be asked for the full path to the Mule Runtime folder (by default the value of environment variable MULE_HOME). Then you'll need to select what the information is to be collected
support-collector interactive
The result is a zip file with all the information collected.
IMPORTANT NOTE:
This command will access the java process directly. It requires that the same user that is the owner of the process run this command.
- In Linux/Mac you can use sudo to run the command as another user.
i.e., 'sudo -u <user_owner> support-collector interactive'
- In Windows, you can use psexec tool provided by Microsoft.
i.e., psexec -s support-collector interactive
Also, the information is stored by default in the local folder. If you want to store it in a different folder use the flag --workdir=<YOUR_PATH> when running the command
If you require to directly, non-interactive collect the information from a Mule Runtime, you can do it with the "download" command.
For this command is mandatory to use one of the following option:
-p - indicates the running Mule Runtime process id, or
--mulehome - indicates the full path for the installed Mule Runtime
Also, you'll be required to be explicit with the information to collect with the -options flag. If you don't explicit this option, all the information will be collected. The options are explained in the section "Information that can be collected" of this article.
support-collector download -p <pid> -o <options...>
The result is a zip file with all the information collected.
IMPORTANT NOTE:
This command will access the Java process directly. It requires that the same user that is the owner of the process run this command.
- In Linux/Mac you can use sudo to run the command as another user.
i.e., 'sudo -u <user_owner> support-collector download'
- In Windows, you can use psexec tool provided by Microsoft.
i.e., psexec -s support-collector download
Also, the information is stored by default in the local folder. If you want to store it in a different folder, use the flag --workdir=<YOUR_PATH> when running the command
Please read the article CPU/Threads profiling with support-collector for more information on this option.
This command is based on the article How to Detect Conflicting Patches and use the same tools to detect path conflicts.
To execute it, run: support-collector patchconflict and select the target runtime
This is a sample output with a conflict:
--compress If true, compress the information collected. (default true) --jdkhome string Full path to the JDK home folder. Use this path instead of detecting it automatically. --mulehome string Use this path to replace auto-detected MULE_HOME folder or when trying to get the information of a stopped runtime. By default is detected automatically from the running runtime selected. -w, --workdir string Working base directory. By default is the current folder. -d, --debug Run the command in debug mode.
This tool contains a feature to ease the upgrade to the latest versions. This feature use a HTTPS Rest API request to check for new versions, so it requires an internet connection.
If your system doesn't have internet access, the tool will work as usual, but you'll need to check for new versions in this article and upgrade it manually if required. The manual upgrade process is very simple, just replace the previous binary with the new one.
The command `update` will check for new version and upgrade when possible. If it's not possible to perform the automatic upgrade, you'll be notified.
Also, with each command, check for a new version at execution time, letting you choose to upgrade or not.
Here you can see the update process execution:
The next information can be gathered following this guideline or this for ULimit.
For network connections, the tool used is lsof (Linux/Mac) and the GetExtendedTcpTable function of iphlpapi.dll (Windows) (https://www.techrepublic.com/article/track-network-connections-with-lsof-on-linux)
To verify the license, follow the guideline in the documentation page https://docs.mulesoft.com/mule-runtime/4.2/installing-an-enterprise-license#verify-or-remove-enterprise-edition-license
For the MULE_HOME information, just zip the corresponding folder or file:
Finally, use the jcmd Utility with the referred option to gather the information
001114672

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.