There is a way to unit test servers?

I am a developper, but since I know Unix and use Linux at home, I have to handle ten webservers and hundred of websites, DNS adress, webservices, well, too many bits of informations to check.

We are moving from one IP class to another one, and it is time to make a map of all importants services. But how can I handle all these informations and check for not working ones?

I thinks units tests could be a solution, like this (in pseudo php code)

$this->checkHTTP('www.myweb.com');
$this->checkHTTPS('www.myweb.com');
$this->checkSOAP('https://www.myweb.com/ws.php', array('function'=>'getdate', 'param'=>array(...));
$this->checkIP(127.254.25.5, 'www.myweb.com');

A checkHTTP() call could check the HTTP code (200, 404, ...), the time to answer, ...

Does this already exists? What do you thinks about this?

Regards
Cédric


I think I'd probably start by looking at Nagios, or Zabbix (as you seem to like PHP). If you're monitoring any number of servers, then you really should have some kind of monitoring system in place.

Pingdom is a good external checking service, but isn't ideal for checking services that you don't want to expose to the public internet.


Cucumber is designed for "behavior driven development". You build a language to describe some behavior, and then you can verify that behavior. I'm not a huge fan of the declaration style it uses, but it can certainly be used to build something like unit tests for servers.