bot Data Exists
BoT
BoT is a network/server monitoring tool, written entirely in Perl.
I started writing BoT as a proof of concept that I could monitor the networks as well as the
commercial packages that were available at the time. It was monitoring some essential services,
until one day I got a page from BoT saying a service was down, but the commercial product failed to
notify us. Upon checking the GUI of the commercial product, we found that it considered
the service still working and available, although BoT had detected it correctly and immediately.
Over the years, BoT grew to include any service that we needed watched and notified upon.
BoT was named because it needed a name that was easier to say than "That Perl script
that checks the servers and pages us. The capitalization has no real significance, other than
it identifies it from anything else which may be called "Bot".
BoT consists of only 3 scripts required by the main script, and a couple helper scripts to keep
things running smoothly. He is intended to run once a minute, which has been very successful,
even with monitoring several hundred services from a low end monitoring server.
BoT keeps it's configuration in flat files, and it's statistical information in DBM files, using AnyDBM_File.
It is written to handle being called multiple times, once for each monitoring list, and will do collision
avoidance, to keep the same test from running more than once.
As much code as possible was written into BoT's scripts, rather than depending on 3rd party
Perl modules to be installed, for ease of migration to other servers. He has been migrated a lot
over the years, which is generally a matter of copying his directory to another Linux machine,
running him to ensure the Perl modules are all in place, and then removing him from the
old server's cron.
Notification is sent via email to a list configured for each monitored service. Of course, the list
may be shared among multiple services.
Besides the typical monitoring task, BoT will verbalize problems as they're detected if
Festival is installed on the server, sound is configured correctly, and it is enabled in the main
configuration file.
In the 7 years BoT has been in service, he has run completely fool proof, and has been an
excellent tool for network monitoring. He has proven to be very easy to configure and reconfigure,
as each service is a single line in a monitoring list, and he uses a standard format.
BoT is usually refered to as "he", as he is usually configured with a male voice with Festival,
and he is one of the most annoying employees in any company. He doesn't sleep, and he'll
complain if you don't do your job.
As typically configured, he will
- verbalize a problem every minute that it exists
- email notification to email and pagers at 5 minutes of downtime
- email notifications every 30 minutes thereafter to ensure the problem is being worked on.