Together with the release of Mule 3.6, we’ve also shipped a new Mule agent that exposes new APIs to manage and monitor running Mule, enhancing the experience of creating API-led connectivity in a big way.
The new Mule agent exposes APIs that allow enterprises to tie easily into their existing SDLC processes and applications. The agent also has a flexible framework that’s quickly customizable to meet new operational governance requirements around Mule.
This is the first of a series of blog posts where you can learn about this new agent.
What is the new Mule agent?
The agent provides two very powerful pieces of functionality. Specifically:
- the Mule agent exposes Mule runtime APIs via REST and WebSockets
- the Mule agent enables Mule instances to publish data to external systems
Let’s talk about these two pieces of functionality more, as these impact, the way users interact with Mule ESB from an operations, manageability, and monitoring perspective.
1. The Mule agent exposes Mule runtime APIs via REST or Websockets
Before the agent release, the only easily consumable, externalized Mule runtime APIs were those exposed by Mule Enterprise Management’s REST APIs, which provided functionality for managing servers, cluster nodes, and applications. Calling Mule Enterprise Management’s (also known as MMC) REST API required that MMC, a separate web application, is installed o an application server. If a user today wants to invoke agent APIs, a separate MMC installation is no longer required, as the new agent runs in-process with Mule. In other words, users will be able to call (agent) APIs directly in Mule without needing to install any other additional piece of software. For a full list of the APIs that the agent exposes, check out the full API documentation in this API portal.
As we were building the agent, we’ve been carefully considering what APIs to expose, and how to properly represent them. We’ll be creating a separate blog post on the agent architecture, so more on that later.
2. The Mule agent enables Mule instances to publish metrics to external systems
Aside from exposing APIs that can be invoked via REST or Websockets, the agent also allows users to configure and customize it such that the agent itself pushes information to external systems. Here’s a use case – let’s say a Mule customer already uses Zabbix, Nagios, or a similar operational monitoring system. With the agent, Mule can be configured to push metrics to these systems every specified time interval.
I’ve recorded a few quick demos on basic agent functionality:
Installing the agent:
Calling agent APIs:
Configuring agent-publishers to third party systems:
Learn more about the agent by reading the full documentation here, and feel free to post comments on this blog post or in the MuleSoft forum. Thanks for reading, and stay tuned for the next installment of the agent blog post series.