Moogsoft Docs

Empty Moolet


The Empty moolet enables Moogsoft AIOps integrators to intercept and handle MooMS events without impacting upon the existing AIOps Event flow logic and processing. This makes available a canvas upon which individual pieces of integration logic can be superimposed.

For example, to integrate with an incident management system, such as ACMEIncidentManager, the Empty Moolet must:

  • Listen to NewThreadEntry Events (topic on MooMS is /sig/thread/entry/new ) and SigStatus Events (topic on MooMS is /sigs/status topic ). Other handlers will follow in due course
  • Interrogate the Events to select only those in which the incident management system has registered an interest via the Graze API addSigCorrelationInfo request
  • Filter out those Events which were originated by the incident management system via the Graze API to avoid sending duplicate information
  • Extract relevant information from the Event including the incident management system entity reference
  • Send the information to the incident management system via the REST.V2 MooBot module which supports the sending of simple RESTful POST requests using basic HTTP authentication

The above example is only one way of integrating AIOps with other systems. Each integration will be dependent upon the individual use cases and systems being integrated.

The Empty Moolet can also be used in general augmentation of Alert and Situation details.


The Empty Moolet is simply designed to take messages off the MooMS bus according to message type and pass them to a Moolet. The configuration is correspondingly very simple and includes the message types (type maps to a unique MooMS topic) to register interest for and the name of the Moolet to pass them to. For example, if you were integrating with the ACME system, which is an incident management system, you may have configuration as follows:

name : "ACMEIncidentManager",
classname : "CEmptyMoolet",
run_on_startup : true,
moobot : "ACMEIntegration.js",
event_handlers : [
  • Be aware, not all event handlers are required for every integration, and you should only specify those handlers that are needed


The out of the box Moog_farmd. conf file includes an example implementation of the Empty Moolet functionality in the form of the Alert Manager Moolet. We also ship Moobot for this Moolet named AlertMgr.js. An example use case for this Moolet is to enable some action on different Alert/Event types. For example, to update a Situation's services when an Alert is updated which contains certain attributes.

This Moolet requires the Alert to be passed directly to it via the Maintenance Manager Window or the Alert Builder Moolet using the process_output_of mechanism.  Alternatively the standalone_moolet or mooms_event_handler mechanisms could be used to trigger Alert Manager behaviors.