This Nagios/Icinga plugin measure the complete load of an website.
This Nagios plugin uses PhantomJS for testing the load time. PhantomJS load and render the website as you are doing it with your browser.
- -u, --url [STRING]
- -w, --warning [FLOAT]
- -c, --critical [FLOAT]
- -p, --phantomjs [PATH]
- -n, --netsniff [PATH]
- -e, --html
- -j, --jscheck [STRING]
- -l, --ps-extra-opts [STRING]
- -r, --request [RANGE]
- -s, --size [RANGE]
- -d, --domelemets [RANGE]
- -P, --perf
- -v, --verbose [n]
You can pass-through options from the check_http_load_time.rb to PhantomJS.
Use the -l flag. (eg. -l 'proxy=localhost' for proxy settings on PhantomJS)
If you have social media / tracking stuff on you site that you are monitoring it could slow down or alert your site if third party is offline.
You can ignore hosts with an patch from Jonas Genannt.
See: http://code.google.com/p/phantomjs/issues/detail?id=230
Patch: https://github.com/hggh/phantomjs/compare/ignore-host.patch
Afer installing PhantomJS with that patch use:
-l "ignore-host='(google.com|twitter.com)'
- ruby
- json
- PhantomJS 1.9 or higher (check_http_load_time.rb does not support Xvfb)
check_http_load_time.rb --perf -c 3 -w 2 -u http://www.fahrrad.de
OK: http://www.fahrrad.de load time: 1.59 | load_time=1590.0ms size=1058140 requests=105 dom_elements=1319 load_time_initial_req=93ms
- load_time: load time of complete website in ms
- size: complete size of all downloaded files in byte
- requests: count of files (css,js,html,...)
- dom_elements: count of all DOM elements on the site
- load_time_initial_req: the load time of the first request
Jonas Genannt / http://blog.brachium-system.net