The Merlin project 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 method using NSCA. It has also been extended with fault tolerance, the ability to store status information in a database, and other features. This allows Merlin to function as a backend for applications such as the Ninja project.
Surrogate is an HTTP proxy functioning in both forward and reverse proxy modes. It is written in Erlang OTP and uses stream filters for inspecting and modifying data as it passes through the proxy. Additional stream filters can be implemented by writing modules that implement the filter_stream behavior. Reverse proxy features include load balancing. Additional balancer methods can be specified by implementing modules with the gen_balancer behavior. Forward proxy features include gzip compression to end servers, CONNECT support, and an HTTP proxy with authentication that can use MySQL or Mnesia backends. There is also a SOCKS 4/5 proxy listener.
Hades is a high availability (HA) data source. This HA data source contains two other data sources: the main one and the failover one. The HA data source exposes one of them at a time and can automatically switch between them when certain conditions are met. These conditions are highly configurable. By default, when the main data source is overloaded, the failover data source is used. The load of a data base is determined on the basis of the average execution time of some configurable SQL statement that is examined periodically. The HA data source exposes through JMX its state and also operations for manual switching between the two contained data sources in case automatic switching must be suppressed for some reason.