Service Monitoring

This section presents simple scripts that can help you monitor services like mail, DNS, and web content. Earlier we showed how you can use the netcat tool to verify that, for example, your SMTP server is up and responding. This is all well and good, but there are times when you may need more control over the situation. These times may include when you need to know when a service:

  • Has been unreachable X number of times

  • Has been unreachable X number of times in timeframe Y

  • Is not meeting your company's Service Level Agreement (SLA). For example, your SLA may state that your SMTP or POP3 services will take no longer than 500 milliseconds (half a second) to service requests.

In each of these instances, it would be nice to know ahead of time that things may not be working properly in your environment.

The examples presented in this section use Perl modules to interact with the services directly. By using Perl, you have a great deal of control over how the services are monitored and how and when they send traps. What follows here is a Perl module that all the service monitors in this section use to track things like SLA information:

 1 # 2 # File: MyStats.pm 3 # 4 5 package MyStats; 6 use Class::Struct; 7 use Exporter; 8 use SNMP_util; 9 our (@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION, $duration, $count, 10 $countAndTime, $sla, %watchers); 11 12 $VERSION = 1.00; 13 @ISA = qw(Exporter); 14 15 # 16 # There are two scenarios we want to track and alert on: 17 # 1. Some ...

Get Essential SNMP, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.