Behavior driven Infrastructure and Monitoring

While I’m busy getting acquainted with Chef I’m starting to wonder why the topic of “Behavior driven Infrastructure” hasn’t picked up more momentum than what appears to be the case right now. (Or I’ve just been living under a Rock, and missed all of it).

Behavior driven Infrastructure

BDD Has been around in Software Development for a while now, but coverage for it’s use in a Systems Administrators life has been pretty vague from what i can tell.

I’ve found a few interesting posts, but not much beyond this.

I’ve read Test-Driven Infrastructure with Chef which touched a bit on the subject.

Behavior Driven Monitoring?

With growing Infrastructure, Monitoring becomes a major Pain. Especially if you do it the “classic” way, that focuses on monitoring Components rather then Services. If your system checks thousands of hosts, chances are on some of them something is broken. Broken disk maybe? MySQL Slave that is causing high loads because a batch Job is running some statistics? Apache that is running low on Childs?

But really, does it matter? As long as the Service is up and running and performing? Do we need to monitor every little cog in our infrastructure if there is a way to do “Top Down” Monitoring?

I certainly don’t enjoy being woken in the middle of the night by Monitoring that tells me that a Database is chocking somewhere.

And now?

cucumber-nagios seems like the only project touching on that Subject.

As PHP is my language of choice, and I’m not quite convinced that learning Ruby is going to make me a happier person, I’ll stick to that.

Behat is Cucumber for PHP, installation is done quickly:

pear channel-discover pear.behat.org
pear channel-discover pear.symfony.com

pear install behat/gherkin
pear install behat/behat

(Remind me to build a Chef Cookbook for this.)

Time to explore…