Heartbeat, Nagios, fail2ban, Init Scripts…

I've been watching a wink demo about heartbeat at linux-ha.com and they mention two types of init scripts that they can use:

  • lsb scripts which conform to standard linux init scripts
  • ocf scripts which conform to the new open cluster framework

The Event Watchers



Since heartbeat is all about event monitoring and reacting to certain events with various actions, it definitely fits into the area of research I've been doing on ubuntu's upstart and m0n0wall's unborn project. It will be very interesting to make additional comparisons between those projects and heartbeat. Speaking of event monitoring, I should also compare the scheduling system of nagios2. That has really impressed me in the past, and while its meant mostly for monitoring and sending out alerts, it is extremely capable at doing just that.

Additionally, there are two other monitors and reactive processors I've been looking at. One it called fail2ban which scans system logs for regex patterns, and when it finds them, it calls various actions. The other is snort, which is only a monitor as far as I know. It only scans network traffic for pattern signatures and sends out notices on its results.

The last event processor is the most basic - the cron event manager. This is a simple and crude way to watch for events. For example, you can easily setup a cron job to poll something every so often, and depending on the result of the poll, take some action.

Dumb Robots



There are many dangers to automated actions. There are so many situations that complex systems can find themselves in, it is difficult to handle every single one. The problems with managing high availability clusters are present when managing local processes too. You might end up with a manager that thinks a process is a zombie, so it kills it and starts a new one, yet for some reason the old one fails to die and there are now two of the same processes are running. That is a very basic example of what could go wrong.

Open Cluster Framework



Since NODOWS is about non-gui, service oriented systems, chances are the machines that run a NODOWS build will be talking to other machines more than having humans operate them. Therefore, having a process manager that is cluster aware is very important. I've used heartbeat before and was pleased with the results, but found the load balancer in pfSense to be simpler and easier than ipvs and ldirectord. Heartbeat is a lot more than a load balancer though, it is a high availability and cluster manager, almost like a process manager for more than one computer.

Now to read up on the open cluster framework, not to be confused with the openbsd crypto framework.

XML



Hooray! The open cluster framework uses XML for describing resource agents! That is excellent.

Cluster Descriptions



For a great explanation of clusters, click here.
By on October 3, 2007 2:30 PM

Categories