Introducing algalon, a network portal that measures health

thumbnail for this post
Algalon servers
Algalon servers

Algalon is a nodejs based network monitor/portal. It continuously tests your network infrastructure and computes the overall health metric of the network based on the number of passing tests. ‘Widgets’ are used to visualise various services. They are updated in real time with socket.io.

I wrote this in summer 2014, using it as a portal for a network some friends and I maintain. Finally, I've gotten around to write about it and release it.

health
health

The first screenshot shows Algalon monitoring some servers. It can even monitor an attached APC UPS via apcupsd! Each value has a min/max, which if exceeded causes the server test to fail.

Grid power failure
Grid power failure

Why isn't the health metric weighted? The theory is that failures cascade. For example, your irresponsibly non-redundant DNS server could overheat, causing it to shutdown and then a subsequent DNS test on a DNS widget could fail. The resultant failure is then more than one unit.

Website monitoring
Website monitoring

The second screen shows the use of Algalon as a traditional web portal. The screenshots have been automatically generated by phantomjs, the individual websites are monitored for HTTP status code and expected response content.

Failure
Failure
NTP/DNS
NTP/DNS

Example widgets to test DNS and NTP. Other services are trivial to add, as long as you can speak the protocol with a nodejs library. There is even a awesome blinkenlight in the corner of every widget to show when a test has been run.

config
config

Everything is configured in a single yaml file. Tabs with icons and descriptions, with instances of widgets/tests also defined.

Release will follow.