![Page 2: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/2.jpg)
![Page 3: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/3.jpg)
![Page 4: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/4.jpg)
http://flickr.com/photos/therefromhere/510612621/
![Page 5: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/5.jpg)
Feature: google.com.au It should be up And I should be able to search for things
Scenario: Searching for things When I visit "http://www.google.com" And I fill in "q" with "wikipedia" And I press "Google Search" Then I should see "www.wikipedia.org"
# features/google.com.au/search.feature
![Page 6: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/6.jpg)
![Page 7: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/7.jpg)
--format pretty
![Page 8: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/8.jpg)
$ bin/cucumber --require bin/common.rb \ --require features/ \ features/google.com.au/search.feature
--format pretty
![Page 9: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/9.jpg)
Feature: google.com.au It should be up And I should be able to search for things Scenario: Searching for things When I visit "http://www.google.com" And I fill in "q" with "wikipedia" And I press "Google Search" Then I should see "www.wikipedia.org"
1 scenario4 steps passed
$ bin/cucumber --require bin/common.rb \ --require features/ \ features/google.com.au/search.feature
--format pretty
![Page 10: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/10.jpg)
![Page 11: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/11.jpg)
cucumber
![Page 12: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/12.jpg)
cucumberwebrat
![Page 13: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/13.jpg)
cucumberwebratmechanize
![Page 14: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/14.jpg)
cucumberwebratmechanizenagios =>
![Page 15: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/15.jpg)
cucumber-nagios
![Page 16: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/16.jpg)
cucumber-nagios
$ bin/cucumber-nagios features/google.com.au/search.feature
Critical: 0, Warning: 0, 4 okay | passed=4, failed=0, total=4
![Page 17: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/17.jpg)
how it workshttp://flickr.com/photos/sunbeer/931205335/
![Page 18: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/18.jpg)
![Page 19: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/19.jpg)
$ bin/cucumber-nagios \ features/google.com.au/search.feature
![Page 20: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/20.jpg)
$ bin/cucumber --require bin/common.rb \ --require features/ \ --format Nagios::NagiosFormatter \ features/google.com.au/search.feature
$ bin/cucumber-nagios \ features/google.com.au/search.feature
![Page 21: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/21.jpg)
$ bin/cucumber --require bin/common.rb \ --require features/ \ --format Nagios::NagiosFormatter \ features/google.com.au/search.feature
$ bin/cucumber-nagios \ features/google.com.au/search.feature
![Page 22: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/22.jpg)
module Nagios class NagiosFormatter def initialize(*args) @failed = []; @passed = [] end
def step_passed(step, name, params) @passed << step end
def step_failed(step, name, params) @failed << step end
def scenario_executed(scenario) @total = @failed.size + @passed.size message = "" message += "Critical: #{@failed.size}, " message += "Warning: 0, " message += "#{@passed.size} okay" message += " | passed=#{@passed.size))}" message += ", failed=#{@failed.size))}, total=#{@total}"" puts message end endend
![Page 23: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/23.jpg)
#!/bin/sh
dirname=$(dirname $0) feature=$1 $dirname/cucumber --require $dirname/common.rb \ --require features/ \ --format Nagios::NagiosFormatter \ $featureretval=$? if [ "$retval" -eq "1" ]; then exit 2else exit $retval fi
![Page 24: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/24.jpg)
#!/bin/sh
dirname=$(dirname $0) feature=$1 $dirname/cucumber --require $dirname/common.rb \ --require features/ \ --format Nagios::NagiosFormatter \ $featureretval=$? if [ "$retval" -eq "1" ]; then exit 2else exit $retval fi
0 good1 bad2 ugly
![Page 25: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/25.jpg)
http://flickr.com/photos/chrisindarwin/3082606450/
![Page 26: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/26.jpg)
Setting up
![Page 27: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/27.jpg)
![Page 29: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/29.jpg)
$ gem sources -a http://gems.github.com/
# gem install auxesis-cucumber-nagios
![Page 30: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/30.jpg)
$ gem sources -a http://gems.github.com/
# gem install auxesis-cucumber-nagios
$ cucumber-nagios-gen project mysite.com
![Page 31: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/31.jpg)
$ gem sources -a http://gems.github.com/
# gem install auxesis-cucumber-nagios
$ cucumber-nagios-gen project mysite.com
woosh!
![Page 32: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/32.jpg)
$ gem sources -a http://gems.github.com/
# gem install auxesis-cucumber-nagios
$ cucumber-nagios-gen project mysite.com
$ cd mysite.com
woosh!
![Page 33: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/33.jpg)
$ gem sources -a http://gems.github.com/
# gem install auxesis-cucumber-nagios
$ cucumber-nagios-gen project mysite.com
$ cd mysite.com
$ rake deps
woosh!
![Page 34: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/34.jpg)
$ gem sources -a http://gems.github.com/
# gem install auxesis-cucumber-nagios
$ cucumber-nagios-gen project mysite.com
$ cd mysite.com
$ rake deps
brr!
woosh!
![Page 35: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/35.jpg)
![Page 36: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/36.jpg)
$ bin/cucumber-nagios-gen feature search
![Page 37: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/37.jpg)
$ bin/cucumber-nagios-gen feature search
$ bin/cucumber-nagios features/search.feature
![Page 38: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/38.jpg)
Quirks
![Page 39: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/39.jpg)
Failure*IS* an option
![Page 40: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/40.jpg)
![Page 41: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/41.jpg)
begin
# foo
rescue
# bar
end
![Page 42: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/42.jpg)
Multiple Scenariosper File
![Page 43: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/43.jpg)
Critical: 1, Warning: 0, 2 okay | passed=2, failed=1, total=3Critical: 1, Warning: 0, 4 okay | passed=4, failed=1, total=5
![Page 44: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/44.jpg)
![Page 45: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/45.jpg)
”
![Page 46: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/46.jpg)
Instead of writing boring monitoring plugins from scratch, you can now do behavior driven ops!
”
![Page 47: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/47.jpg)
Instead of writing boring monitoring plugins from scratch, you can now do behavior driven ops!
Transform from a grumpy, misanthropic sysadmin to a hipster, agile developer instantly.
— Bradley Taylor (http://bit.ly/lWWfE)
”
![Page 48: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/48.jpg)
developers sysadmins
http://flickr.com/photos/jshappell/1313699764/
![Page 49: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/49.jpg)
building bridges
http://flickr.com/photos/douaireg/2313764485/
![Page 50: Monitoring web application behaviour with cucumber-nagios](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b2d4fd4a795972088b4592/html5/thumbnails/50.jpg)
http://github.com/auxesis/cucumber-nagios
http://dryicons.com/free-icons/preview/coquette-part-3-icons-set/