!!! Overview 
This script will scrape eDirectory 8.7.x [Imonitor] Continuity statistics.

Tool written by [John Johnson] when we worked together.

!! [getimon.pl|ToolToScrapeImonitorContinuityStats/getimon.pl]

%%warning
Use at your own risk! [Standard Disclaimer] We are never responsible!

This is OLD code that has not been tested or used in several years.
%%

Typically, you would use the [Sadmin] user.This script will scrape eDirectory 8.7.x [Imonitor] Continuity statistics, such as:

*Partition Root
*Errors
*Last Successful Sync.
*Maximum Ring Delta
*Replica's Perishable Data Delta

It will read an input file that specifies the servers and partition roots to collect data from, and print comma-delimited results to standard output.

!Setup

This script should be portable to any platform that implements Perl 5.x.  It has been tested on Windows and Linux.  There are several modules that may need to be installed prior to use:

*Time::Format
*LWP
*HTML::TableContentParser

These modules may be installed with PPM (Windows) or CPAN:
{{{
perl -MCPAN -e shell
}}}

!Usage

Open a command line in the directory that you placed the attached files.

{{{
Usage: getimon.pl [-f inputfile]
}}}

If the -f option is not specified, the script will look for a file in the default directory named:
{{{
imonLst.txt
}}}

!Input file format
{{{
host:domain:iMonitor port:iMonitor user:iMonitor password:T=treename
}}}

!Output file format
The field headings are as follows.  Comma delimited:
{{{
yyyy-mm-dd hh:mm,Partition Root,Partition or Host,Query Status,Errors,Last Successful Sync.,Maximum Ring Delta,Replica's Perishable Data Delta
}}}
Tab delimited:
{{{
yyyy-mm-dd hh:mm	Partition Root	Partition or Host	Query Status	Errors	Last Successful Sync.	Maximum Ring Delta	Replica's Perishable Data Delta
}}}

!Example execution
This example uses an input file in a subdirectory under the ndsuser home directory:
{{{
[ndsuser@host] $ $HOME/bin/getimon.pl -f bin/imonLst.txt
2005-09-06 13:20,"T=TREE1",.TREE1.,OK,0,0:00:20,0:00:30,0:00:00
2005-09-06 13:20,"T=TREE2",.TREE2.,OK,0,0:00:51,0:00:41,0:00:41
2005-09-06 13:20,"T=TREE3",.TREE3.,OK,0,0:00:09,0:00:27,0:00:09
2005-09-06 13:20,"T=TREE4",.TREE4.,OK,0,0:54:05,0:00:00,312784:25:57
}}}

!Scheduling with CRON
This will run the script to collect data every 5 minutes:
{{{
#
# Gather iMonitor Continuity stats
#
00,05,10,15,20,25,30,35,40,45,50,55 * * * * $HOME/bin/getimon.pl -f bin/imonLst.txt >> $HOME/imon.log 2>&1
}}}

!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]