Huntland Services Ltd

Tel: +44 (0)1392-490518
Fax: +44 (0)1392-428003
Enquiries@huntland.co.uk

Mom Ping Thing

Back Download The Script

Introduction

One piece of Mom functionality that seems to be frequently sought after is the requirement to periodically check if Routers, Non MOM-Agent Servers or for that matter any IP oriented devices,  are up and running.  Traditionally this is achieved using a Ping operation.  Mom supplies this functionality through the use of the OpScrUtil.INet object.  This is incorporated in a script that runs as a response to a Timed Event data provider.   The scripts executes at say 2 minute intervals and reads a list of IP or FQDN addresses to ping from a local text file.  If there is no response within the administrator specified timeout, an alert can be raised containing the failed IP address.  If the response is successful an event can be raised.   Notice that either or both responses are possible.  You can for instance de-activate the event collection on the grounds that it creates too much data and are only interested in the failures.

Once alerts and or events are being returned to the DCAM from your ping server, you can process them in the normal way i.e. consolidate, send emails, execute responses, etc.

The solution comes as a Management Pack - ICMPPingList.AKM file which contains the following:

 ICMP Ping Servers  A Computer Group.  This group has no attributes defined and so by default does not contain any members.  You can either include servers or add your own attribute definitions.  The Computer Group is associated with the ICMP Ping Server Rules rule processing group.
 ICMP Ping Server Rules  A Processing Rule Group containing the rules used to generate events and alerts
 ICMP PingList  A VbScript containing the ping logic
 ICMP Ping  A Public Views folder containing a Ping Alerts view and a Ping Events view.

Instructions for installation and setup

  1. Decide which of your managed servers (or workstations) i.e. those that have the MOM agent installed, will be used to perform the ping operations.  You may chose to spread the load across strategically placed servers.  For instance placing the ping functionality on a managed server in a DMZ that has internet access allows for the development of rules to test if external internet servers are available.   Alternatively you may decide to place the functionality on remote servers because all devices should be accessible to those networks.
  2. Create a locally available text file (by default C:\pingList.txt) which contains a single line entry for each IP address or Fully Qualified Domain Name that you want to ping.
  3. Import the ICMP PingList Management Pack included with this download
  4. Modify the ICMP Ping Servers Computer Group definition to include your servers.
  5. Force an Agent Manager re-scan to populate the Computer Group with your computers.  You can check if this works by examining the All Computer Groups node in the MMC and confirming that ICMP Ping Servers contains more than zero members.
  6. Modify the Event Processing Rules to suit your requirements.  For example whichever rule you chose to use you must configure the script parameters.

     PingListFile  Char: The full path and name for the locally stored text file that conatins a single line entry for each valid IP or FQDN address to be pinged. (Default is C:\PingList.txt)
     blAlertOnFailure  Boolean: Switches On/Off the script's instruction to create a WARNING alert for each address in the ping list that failed to respond for whatever reason. (Default is TRUE)
     blEventOnSuccess  Boolean: Switches On/Off the script's instruction to create an INFORMATION event (ID = 4905) for each device in the ping list which successfully responded to the ping request.  Use this if you do not want to collect data about routine success pings. (Default is TRUE)
     RequiredResponseTime  Integer: The maximum number of milliseconds the ping method will wait before reporting a failed response. (Default = 1000)
     BufferSize  Integer: The number of bytes of data to include inside the ping request packet. (Default = 32)

  7. Cause the rules to be updated on the targeted agents by right mouse clicking the Rules node in the MMC and selecting 'Commit Configuration Change'
  8. Check the results in the two views provided under the Public Views\ICMP Ping node.

TroubleShooting

The script contains no error handling because MOM does this just as efficiently.  Errors with the script such as incorrectly configured parameters, non-existent or inaccessible pingList file and other associated Mom failures are reported as alerts under the relevant computer.  Ping failures through non responsive addresses, non resolvable addresses, network failures etc will appear as normal ping failure alerts in the Alerts View.

If a valid IP device is constantly being reported as unreachable you may need to adjust the RequiredResponseTime parameter to lengthen the timeouts.  This is the same equation as running the Win2k ping utility from the command line with the -w switch.  You can experiment with this to find the optimum setting.

A known issue is that for certain ping failures, Mom returns the misleading error message 'Error due to lack of resources' where this is clearly not the case.  For example, it does this if the intended target fails to respond within the requiredResponseTime parameter, instead of simply reporting a time out error.  In any case it can be ignored as the alert is more significant than the message

To Uninstall

  1. Delete the Processing Rule Group ICMP Ping Server Rules
  2. Delete the Computer Group ICMP Ping Servers
  3. Delete the Script ICMP PingList
  4. Delete the locally stored file used for the ping list on each server where it has been installed
  5. Events and Alerts created by the ICMP PingList script will be deleted from the database when they are old enough to be caught by the default Mom Database Grooming tasks.

 

Please accept this script as is.  Any feedback will be gratefully received at Debug@Huntland.co.uk