The Runtime Manager Agent
The Runtime Manager agent is a plugin extension for Mule that exposes the Mule API. Runtime Manager (both the cloud console and the Anypoint Platform Private Cloud Edition) uses this agent to communicate with its registered Mule instances.
Outside the Runtime Manager, you can use the Runtime Manager agent to monitor and control Mule instances by calling Runtime Manager agent APIs from external systems, and/or have Mule publish its own data to external systems. The Runtime Manager agent has many features, including:
Controlling applications, domains and services:
List, deploy, undeploy or redeploy domains.
List, deploy, undeploy, get status of, start or stop applications.
Publishing Mule metrics to external analytics systems.
The Runtime Manager agent supports two communication protocols: REST and WebSockets.
WebSockets are used with a
hybrid installation option (by running
amc_setup -H). The command requires a token which is copied from the Runtime Manager account to where you want to register the Runtime Manager agent. The same installation option is used with a cloud-based or on-premises version of Runtime Manager.
When registering the Runtime Manager agent with Runtime Manager (by using the hybrid
-H option), the Runtime Manager agent first makes an outbound HTTPS connection to the Runtime Manager. This connection is used to establish a new secure, full duplex WebSocket connection between the Runtime Manager and the Runtime Manager agent.
Once configured, the Runtime Manager agent securely connects to this Runtime Manager account every time the Mule restarts. The link that the Runtime Manager agent establishes allows the Mule to be monitored and managed remotely through an Anypoint Runtime Management console.
If this link goes down while the Mule is still running, statistics and analyics are buffered until the WebSocket connection can be re-established. Additionally, there is also a reconnection strategy in place in cases the WebSocket connection drops.
You can configure each Runtime Manager agent to allow other REST connections (either secure with the
-S option, or insecure with the
-I option), for use by other management tools outside of Runtime Manager.
You can also manually edit the Runtime Manager agent’s
mule-agent.yml file to combine communication connections into one Runtime Manager agent, and also to modify parameters of these connections.
The Runtime Manager agent is installed into your
$MULE_HOME/plugins directory and is configured via a single configuration file. For installation instructions and download links, see installing and configuring Runtime Manager agent.
In addition to configuring and allowing REST connections with a Runtime Manager agent, you can configure a Runtime Manager agent plugin to connect a Mule to a variety of external systems. The installation script provides options to choose particular communication methods and external systems, including controlling a Mule through a Runtime Manager.
See Deployment Strategies for information on how the Runtime Manager agent communicates with Runtime Manager.
Additionally, MuleSoft provides several open source Runtime Manager agent modules to allow monitoring outside of Runtime Manager. These are provided as is, and receive no support from MuleSoft. To access these modules, check the GitHub repositories:
The pages listed below assume that you have the current version of Mule already installed. Download it from the customer portal if you need to upgrade to this version.
Additionally, it is assumed that your enterprise license is current. See Installing an Enterprise License for information on obtaining and installing an enterprise license.