The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

VBTK::Snmp::Dynamo - Monitoring of ATG Dynamo process through SNMP

SYNOPSIS

  # If you like all the defaults, then there's no need to over-ride them.
  $o = new VBTK::Snmp::Dynamo (
      Host => 'myhost',
      Port => 8870,
  );
  $vbObj = $o->addVBObj ();

  &VBTK::runAll;

DESCRIPTION

This perl module is a front-end to the VBTK::Snmp package. It supports the same public methods as the VBTK::DBI package, but with common defaults to simplify the setup of a process to monitor an ATG Dynamo process through SNMP.

PUBLIC METHODS

The following methods are available to the common user.

$o = new VBTK::Snmp::Dynamo (<parm1> => <val1>, <parm2> => <val2>, ...)

This method calls 'new VBTK::Snmp' after defaulting the parameters to best monitor an ATG Dynamo process. For a detailed description of the parameters, see VBTK::Snmp. The defaults are as follows. If you like all the defaults then you don't have to pass in any parms, except for the Host and Port parameters, which are required. Not all allowed parameters are listed here, just those which are defaulted by this package.

Interval
    Interval => 60,
Labels
    Labels => [
        'drpTotalReqsServed',
        'drpTotalReqTime',
        'stCreatedSessionCnt',
        'stValidSessionCnt',
        'sysTotalMem',
        'sysFreeMem',
        'sysStatus' ],
Host

Required.

    Host => 'myhost',
Port

Required.

    Port => 8870,
VBHeader
    VBHeader => [
        'Time              Reqs Avg ms New Sess Val Sess  Total KB   Free KB Status',
        '----------------- ---- ------ -------- -------- --------- --------- -----------------------' ],
VBDetail
    VBDetail => [
        '@<<<<<<<<<<<<<<<< @>>> @>>>>> @>>>>>>> @>>>>>>> @>>>>>>>> @>>>>>>>> @<<<<<<<<<<<<<<<<<<<<<<',
        '$time,$delta[0],($delta[0] > 0) ? ($delta[1]/($delta[0])) : 0,$delta[2],$data[3],int($data[4]/1024),int($data[5]/1024),$data[6]' ];
LogHeader

Same as VBHeader, but used for the log.

LogDetail

Same as VBDetail, but used for the log.

RotateLogAt
    RotateLogAt => '12:00am',
Timeout
    Timeout => 5,
Retries
    Retries => 1,
GetMultRows
    GetMultRows => 0,
$vbObj = $o->addVBObj(<parm1> => <val1>, <parm2> => <val2>, ...)

This method calls VBTK::Snmp::addVBObj after defaulting unspecified parameters to best monitor ATG Dynamo processes. For a detailed description of the addVBObj parameters, see VBTK::Parser. The defaults are as follows. If you like all the defaults then you don't have to pass in any parms.

VBObjName

Construct a VBObjName using the Host and Port strings. Note that the Host string is checked for '.' characters and any found are converted to '-', so that we don't mess up the object's place in the hierarchy.

    VBObjName => ".<Host>.dynamo.<Port>",
TextHistoryLimit
    TextHistoryLimit => 100,
ReverseText
    ReverseText => 1,
Rules

If warn if free memory in the JVM falls below 10%

    Rules => { '($data[5]/$data[4]) < .10' => 'Warn' },
StatusHistoryLimit

Limit to storing the last 30 status changes

    StatusHistoryLimit => 30,
StatusUpgradeRules
    StatusUpgradeRules => 
        'Upgrade to Failed if Warning occurs 2 times in <Interval * 3> seconds'
ExpireAfter
    ExpireAfter => (<Interval> * 3) seconds
Description
    Description = qq(
        This object uses SNMP to monitor a dynamo instance. );
RrdColumns

Setup the list of values to store in the Rrd database

    RrdColumns          => 
         # Pages Srvd, New Sess,   Curr Sess, Free Mem (MB),       Tot Mem (MB)  
        [ '$delta[0]','$delta[2]','$data[3]','$data[5]/1024/1024','$data[4]/1024/1024' ],

In addition to passing these defaults on in a call to VBTK::Parser::addVBObj, this method captures the resulting VBTK::ClientObject pointer ($vbObj) and makes the following calls to '$vbObj->addGraphGroup':

  $vbObj->addGraphGroup (
    GroupNumber    => 1,
    DataSourceList => ':0',
    Labels         => 'pageViews',
    Title          => "<Host>:<Port> dynamo",
  );

  $vbObj->addGraphGroup (
    GroupNumber    => 2,
    DataSourceList => ':1,:2',
    Labels         => 'new sessions,valid sessions',
    Title          => "$Host:$Port dynamo",
  );

  $vbObj->addGraphGroup (
    GroupNumber    => 3,
    DataSourceList => ':3,:4',
    Labels         => 'freeMemMB,totMemMB',
    Title          => "$Host:$Port dynamo",
  );

This defines three graphGroups for the VBObject. See VBTK::ClientObject for details on the 'addGraphGroup' method.

SEE ALSO

VBTK
VBTK::DBI
VBTK::Server
VBTK::Parser
VBTK::ClientObject

AUTHOR

Brent Henry, vbtoolkit@yahoo.com

COPYRIGHT

Copyright (C) 1996-2002 Brent Henry

This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation available at: http://http://www.gnu.org/copyleft/gpl.html

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.