The Runtime Manager Agent
The Runtime Manager Agent is a plugin extension for a Mule runtime which 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 runtimes on servers.
Outside the Runtime Manager, you can use the Runtime Manager Agent to monitor and control your Mule servers by calling 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 is only available for Enterprise versions of Mule runtime, not for Community versions. Currently, the Runtime Manager Agent supports Mule 3.6.0 or later.|
If you’re deploying your applications to Pivotal Cloud Foundry, then you don’t need to worry about installing or configuring the Runtime Manager Agent. In that scenario, the Runtime Manager Agent functions as usual as the link between the Mule runtimes and the Runtime Manager. However, the same PCF buildPack that automatically creates new runtime instances also creates Runtime Manager Agent instances and registers these to the Runtime Manager. If you want to change the configuration of your Runtime Manager Agent instances, you must modify the buildPack.
The Runtime Manager Agent supports two communication protocols: REST and WebSockets.
===Web Sockets Communication Web Sockets 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 which 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 Web Socket connection between the Runtime Manager and the Runtime Manager Agent.
Once configured, the Runtime Manager Agent will securely connect to this Runtime Manager account every time the Mule runtime restarts. The link that the Runtime Manager Agent establishes allows the Mule runtime to be monitored and managed remotely through an Anypoint Runtime Management Console.
If this link goes down while the Mule runtime is still running, statistics and analyics are buffered until the Web Socket connection can be re-established. Additionally, there is also a reconnection strategy in place in cases the Web Socket connection drops.
===REST Communication Each Runtime Manager Agent can also be configured to allow other REST connections (either secure with the
-S option, or in-secure 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; it is configured via a single configuration file. For installation instructions and download links, see installing and configuring Runtime Manager Agent.
In addition to configurating and allowing REST connections with a Runtime Manager Agent, you can configure a Runtime Manager Agent plugin to connect a Mule runtime to a variety of external systems. The installation script provides options to choose particular communication methods and external systems, including controlling a Mule runtime through a Runtime Manager.
See Deployment Strategies for information on how the Runtime Manager Agent communicates with a 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 runtime 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. Please see Installing an Enterprise License for information on obtaining and installing an enterprise license.