OT - plugin for responding to site surveillance service problem reports.

Stanley Hopcroft Stanley.Hopcroft at IPAustralia.Gov.AU
Thu Nov 13 03:03:24 CET 2003


Dear Ladies and Gentlemen,

<Off Topic>

This largely Off topic letter contains comments about an obvious and
perhaps useful roll your own plugin.

Some business employ site surveillance services such as AC Nielsen's 
Dmeasure.COM to periodically download the customer specified web pages 
and provide a range of services from 

. alerts about pages that don't respond

. reports of the pages availability over the reporting period.

Such services may be used because

. management wants an independent view of the business performance (spin 
it anyway you like)

. the business has no credible Management System (likewise. Often 
credibility is that perceived as an absence of endorsement by an 
organisation like Gartner).

. the business has no means of checking their public presence (because 
for example they have only a single ISP)

Part of the service may be to test the web pages from a number of
locations country wide. Often this alone demonstrates that such services
can have a serious capability.

On the down side, the checking is basic: that the page downloads in no
more than a customer specified interval. The page content may not even
be compared with what it should be (and of course this is useless for
the many friendly products that dump their backtraces in HTML with an
HTTP 200 return code).

Given a business with a highly effective management system such as
Nagios (TM) that hires such a site checking system, then a useful Nagios
plugin is one that

1 Logs on to the service checking web page.

These service invariably display their results in real time web pages
that tabulate their test results

2 Analyses the summary for signs of a fault and return OK if there is 
none.

3 Analyse the hourly test record for test failures this hour, extracting 
whatever info is useful and return CRITICAL.

Such a plugin is reasonably easy to construct given software such as

. WWW::Automate or Nagios::WebTransact to grab the HTML

After logging on to the service, going back for the detailed record if
required (tools such as lynx would have to be Expect driven to fill in
the username and password form then press the "GO" button").

. HTML::Parser and or it's many friends to extract often the tabular 
results

Unfortunately, while such a plugin is useful since it allows Nagios to
log/alert/report on both the external and internal view (of the
backends: the J2EE environment, Database etc) of the business's
services, it is highly dependent on the HTML and the protocol of the
site checking services web pages.

Here's an example of one at work.

tsitc> ./check_dmeasure.pl -h
check_dmeasure (netsaint-plugins 1.2.9-4) 1.7
The netsaint plugins come with ABSOLUTELY NO WARRANTY. You may 
redistribute
copies of the plugins under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Copyright (c) 2003 Karl DeBisschop/S Hopcroft

Check AC Nielsen dmeasure status page for monitored site errors.

check_dmeasure
check_dmeasure [-H | --host]
check_dmeasure [-dh | --debug_http]
check_dmeasure [-dp | --debug_parse] Dump the text passed to the text 
event callback.
check_dmeasure [-dt | --debug_table] Display "test tables" that are 
analysed for excessive error rates.
check_dmeasure [-h | --help]
check_dmeasure [-v | --verbose] Display all the "test tables" that 
record the hourly error rates until now.
check_dmeasure [-V | --version]

Send email to netsaint-users at lists.sourceforge.net if you have questions
regarding use of this software. To submit patches or suggest 
improvements,
send email to netsaintplug-devel at lists.sourceforge.net
tsitc> 

tsitc> ./check_dmeasure.pl 
Ok. Dmeasure.COM - no problems for "Online services login process" => 
Errors Dload(0,0%) HTTP(0,0%) Tests 159, "Online services login page" => 
Errors Dload(0,0%) HTTP(0,0%) Tests 153.
tsitc> 

after a few minutes (note that the number of tests has increased)

tsitc> ./check_dmeasure.pl 
Ok. Dmeasure.COM - no problems for "Online services login process" => 
Errors Dload(0,0%) HTTP(0,0%) Tests 160, "Online services login page" => 
Errors Dload(0,0%) HTTP(0,0%) Tests 153.
tsitc> 

and in debug mode

tsitc> ./check_dmeasure.pl -v 

%url_perf_table.
'Online services login page' => HASH(0x83b9920)
   'Download Errors' => 0
   'Download Errors %' => '0%'
   'HTTP Errors' => 0
   'HTTP Errors %' => '0%'
   'New Visits' => 53
   'Seconds' => 6.02
   'Seconds %' => '35%'
   'Tests' => 153
'Online services login process' => HASH(0x83b9a64)
   'Download Errors' => 0
   'Download Errors %' => '0%'
   'HTTP Errors' => 0
   'HTTP Errors %' => '0%'
   'New Visits' => 47
   'Seconds' => 9.94
   'Seconds %' => '58%'
   'Tests' => 159
'Pat search login page' => HASH(0x83b9ba8)
   'Download Errors' => 0
   'Download Errors %' => '0%'
   'HTTP Errors' => 0
   'HTTP Errors %' => '0%'
   'New Visits' => 42
   'Seconds' => 0.94
   'Seconds %' => '5%'
   'Tests' => 150

%table for $view_site_test_id 15264.
'(Local' => HASH(0x8402b48)
   'Download Errors' => 'Download Errors'
   'Download Errors %' => 'HTTP Errors'
   'HTTP Errors' => 'New Visits'
   'HTTP Errors %' => 'Seconds'
   'New Visits' => undef
   'Seconds' => undef
   'Seconds %' => undef
   'Tests' => 'Tests'
0 => HASH(0x83ec508)
   'Download Errors' => 0
   'Download Errors %' => 0
   'HTTP Errors' => 0
   'HTTP Errors %' => 0
   'New Visits' => 6
   'Seconds' => 9.84
   'Seconds %' => 7
   'Tests' => 14
1 => HASH(0x83ec64c)
   'Download Errors' => 0
   'Download Errors %' => 0
   'HTTP Errors' => 0
   'HTTP Errors %' => 0
   'New Visits' => 3
   'Seconds' => 13.23
   'Seconds %' => 10
   'Tests' => 12

 ...

Ok. Dmeasure.COM - no problems for "Online services login process" => 
Errors Dload(0,0%) HTTP(0,0%) Tests 159, "Online services login page" => 
Errors Dload(0,0%) HTTP(0,0%) Tests 153.
tsitc> 

</Off Topic>

Yours sincerely.


-- 
------------------------------------------------------------------------
Stanley Hopcroft
------------------------------------------------------------------------

'...No man is an island, entire of itself; every man is a piece of the
continent, a part of the main. If a clod be washed away by the sea,
Europe is the less, as well as if a promontory were, as well as if a
manor of thy friend's or of thine own were. Any man's death diminishes
me, because I am involved in mankind; and therefore never send to know
for whom the bell tolls; it tolls for thee...'

from Meditation 17, J Donne.


-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list