The op5 Monitor back end is called Merlin (Module for Effortless Redundancy and Load balancing In Nagios). It was initially started to create an easy way to set up distributed Nagios installations, allowing Nagios processes to exchange information directly as an alternative to the standard nagios way using NSCA.
When starting making our own GUI for op5 Monitor, called Ninja, we realized that we could continue the work on Merlin and adopt the project to function as back end for the new GUI by adding support for storing the status information in a database, fault tolerance and some other things. This means that Merlin now are responsible for providing status data, acting as a back end, for the op5 Monitor GUI.
Responsible for jacking into the NEBCALLBAC_* calls and send them to a socket. If the socket is not available the events are written to a backlog and sent when the socket is available again.
The Merlin daemon listens to the socket that merlin-mod writes to and sends all events received either to a database of your choice (using libdbi) or to another merlin daemon. If the daemon is unsuccessful in this it writes to a backlog and sends the data later.