1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
|
NAME
Simple System/Network Monitoring - spong v2.7
DESCRIPTION
This is a simple systems and network monitoring package called
Spong. It has the following features:
* client based monitoring (CPU, disk, processes, logs, etc...)
* monitoring of network services (smtp, http, ping, pop, dns,
etc...)
* grouping of hosts (routers, servers, workstations, PCs)
* rules based messaging when problems occur
* configurable on a host by host basis
* results displayed via text or web based interface
* history of problems
* verbose information to help diagnosis problems
* easily expandable via a plug-in module facility
This is hopefully a *simple* tool. It does not compete with
Tivoli, OpenView, UniCenter, or any other commercial packages,
and I have no intention of trying to turn it into one. It is not
SNMP based, it communicates via simple TCP based messages. It is
written in Perl, so hopefully it can be run on multiple systems
(including NT - although it has not been ported yet - but is on
the to-do list).
I'm a strong believer in KISS (keep it simple stupid), and
hopefully this package is as simple as possible (but no
simpler). Spong is broken up into components that each do a
specific thing. Listed are some of the (key) components:
* spong
Text based query program, reports information about hosts
that are monitored.
* www-spong
Web based query program, reports information about host that
are monitored.
* spong-client
Program that runs on each monitored server. Reports host
based information (disk, cpu, logs, etc.)
* spong-network
Reports on network based services (smtp, ping, http, etc.)
* spong-server
Collects information reported and responds to queries about
that information.
* spong-message
Called by the spong-server program to send out notifications
when problems occur.
Availability
Spong's Home Page is at http://spong.sourceforge.net/.
Perl is require to run spong. If you don't have Perl installed
you can retrieve it from the CPAN archive
http://www.cpan.org/CPAN/, along with other optional modules
such at the Net::DNS module. I would suggest having at least
version 5.004 installed (otherwise you will need to download the
CGI.pm module as well). You can get the latest version of Perl
at http://www.perl.com/CPAN/src/latest.tar.gz
You can retrieve the latest version of Spong from the Spong
project at Source Forge. The 'Downloads' web is at
http://spong.sourceforge.net/downloads.html. This distribution
contain the spong source, documentation, and gif images.
SUPPORT
There are two mailings setup for Spong: spong-users and spong-
announce.
spong-users is for general discussions or getting help for
Spong. You can subscribe by sending a message to spong-users-
request@lists.sourceforge.net with the work subscribe in the
message. Or be visiting the mailing lists home page at
http://lists.sourceforge.net/mailman/listinfo/spong-users.
spong-announce is a low-volume mailing which will be used for
announcements and news concerning Spong. It is moderated, but
feel free to submit any pertinent items. You can subscribe by
sending a message to spong-announce-
request@lists.sourceforge.net with the work subscribe in the
message. Or be visiting the mailing lists home page at
http://lists.sourceforge.net/mailman/listinfo/spong-announce.
DEPENDENCES
Perl v5.004 or greater is all that is required to set up Spong.
A web server where you can install a CGI program, and a web
browser that can display tables and frames are required for use
of the web interface to Spong. If you want to monitor DNS
servers remotely, then you will need to install the Net::DNS
Perl module (available at CPAN). Spong will run fine without
this module, you just will not be able to monitor the DNS
service.
These scripts should run on any Unix system (and to ``some''
degree any environment where Perl is available).
DOCUMENTATION
Don't let the amount of documentation scare you, I still think
Spong is simple to setup and use.
The documentation is provided in perl POD format (the old Perl
pod format just didn't do all that I wanted). The installation
process will create HTML, text and man formatted versions of the
documentation. The HTML documentation can be located anywhere.
It's cross-links should survive a move intact.
There are four main documents that describe spong from different
perspectives.
* FAQ
Frequently Asked Questions by users and their answers.
* User-Guide
Geared towards the person who will be using the spong text
or web based clients. This is the documentation that will be
seen when the user clicks on the Help button provided in
www-spong.
* Administrator's Guide
Written for the person who will be installing spong, and
setting up the various configuration files. This provides a
step by step installation process and gives some suggestions
on things Spong can do that you might not have thought of.
* Developer's Guide
Written for the person who wants to have Spong look
differently, or what to add some new feature in their
version of spong, or wants to incorporate spong output in
other programs. This details the Spong internals, and
describes the various protocols that are used.
There are also specific "man" pages for each program and
configuration file which provide detailed explanations of each
option, command line argument, etc... Finally, if you are in a
pinch, the code is readable enough (and well commented) to
provide some help as well.
I hopefully have provided enough documentation that the only
email I get are suggestions for new features and bug reports -
but if you are stuck, feel free to send me email and I will
respond if I can.
FILES
Here is a description of the directories and files that come in
this package prior to installation. More specific descriptions
of each file are available in the various documentation that
comes with spong.
config:
spong.conf distributed config file
spong.conf.<os> os specific config changes
spong.hosts host/service config file
spong.groups group config file
src:
spong.pl text based spong display client
spong-client.pl collects/reports cpu,disk,etc info
spong-network.pl collects/reports network service info
spong-server.pl listens for/saves spong status updates
spong-message.pl alerts humans there's a problem
spong-ack.pl text based acknowledgement program
www-spong.pl web based spong display client
www-spong-ack.pl web based acknowledgement program
docs:
<*>.html documentation for the above files
gifs: various icons used by www-spong
LICENSING
Copyright 1999,200, Stephen L Johnson
Like Perl, Spong may be copied only under the terms of either
the Artistic License or the GNU General Public License, which
may be found in the Perl 5.0 source kit. If either file is not
available to you, send email to <sjohnson@monsters.org, and I
will mail you a copy.
CHANGES
The list of changes for the latest version of Spong can be found
at http://spong.sourceforge.net/documentation/CHANGES.
Version 2.6
Notification rules enhanced with matching and excluding by
host groups. Added delayed and repeat notifications. Module
Plugin mechanisms added to spong-client, spong-network,
spong-server, and spong-message programs. Programs now
automatic background themselves. Event duration added to
spong-server database. NTP and SSH checks added to spong-
network.
Version 2.5
First release by Stephen L Johnson. Rules based
notifications added, a limited Big Brother Server emulation
was to allow Big Bother Clients to be used. A new log
monitoring routine which tracks last position read. Enhanced
network checks to eliminate momentary network problems.
Version 2.0
A OO redesign of the spong-server and display programs,
added acknowledgments and group support, added a text based
interface, made www interface more extensible.
Version 1.1
Primarily a bug fix release with a few minor features
(dns,http config,multiple interfaces) added.
Version 1.0
Initial public release, mostly based on Big Brother package
from Sean MacGuire.
ACKNOWLEDGMENTS
By Ed Hill
Many ideas (and some code) came from two similar packages. We
have used a program call "Pong" here at The University of Iowa
for about a year. Pong was written by Helen Harrison at SAS
Institute and a paper on it was presented at the Usenix LISA
conference. Pong would allow us to do simple monitoring of
systems (via ping) and would report machine status via a web
page. The name of this package (Son of PONG, but pronounced as
its spelled "spong") is an obvious rip off...
Originally, the main concepts and design came from Big Brother
written by Sean MacGuire. That package was written in C and sh
scripts which I ``ported'' to Perl, making many changes along
the way (like adding more information to the messages going from
the client to the server, adding history, changing the way that
information is displayed, added some configuration options,
etc.).
There didn't seem to be any interest in my perl code from the
author of BB, so I've changed the name so there would be any
confusion between this package and its inspiration.
I'd also like to thank the many people who have contributed
patches and comments, and where willing to try out spong and
help me work out a few of the early problems.
by Stephen L Johnson
I first found Big Brother and liked what it did. But I was put
as a bit by it being written in C and shell scripts. While
perusing the Big Brother mailing lists archives I ran across
references to Spong, and it being written in Perl. This was
Spong 1.1
I tried it out but there were some stability problems. So I
reluctantly dropped Spong in favor of Big Brother. I didn't like
some of the limitations of Big Brother, so I started hacking on
the source code. To me it was akin to writing in assembler and
getting a tooth pulled. I don't like either one.
Fortunately I found a link to Ed Hill's installation of Spong
2.1 at the University of Iowa. I feel in love with Spong all
over again. I asked Ed Hill if I could have Spong 2.1. He sent
me the distribution and I started evaluating it again.
Spong 2.1 was a big improvement over Spong 1.1 in terms of
stability and features. I rolled the changes that I made to Big
Brother into Spong 2.1 and I have been changing things ever
since.
Ed Hill had stopped development of Spong and I was spending so
much time on Spong. I asked Ed if I could take over development
of Spong. He gave his blessing and the torch was passed in
October of 1999.
I would like to thank Ed Hill for creating Spong and allowing me
to take up the development touch. The current Spong user and
development community is small but growing. There are still a
lot of rough edges to need to be smoothed. I would like to thank
them for their patient in allowing me to whip the Spong
distribution into shape and helping me work out the numerous
installation problems.
BUGS
Known Problems in v2.6
Here are a list of problems, and possible fixes that have been
reported for version 2.8. I will update this section as bugs
come in (if there are any 8-). These fixes will all be included
in the next release of spong, but if you can't wait - here are
some suggestions.
Memory leak in spong-network on RedHat 6.0
spong-network has a memory leak when running on a Linux
system and gligc 2.1.1. The program memory core size grows
after each check cycle. The fix is to upgrade the glibc from
version 2.1.1 to version 2.1.2.
AUTHOR
Ported by:
Ed Hill <ed-hill@uiowa.edu> Internet Software Developer at The
University of Iowa http://www.uiowa.edu/
Currently maintained by:
Stephen L Johnson <sjohnson@monsters.org>
Please feel free to send me bug reports, patches, suggestions,
or comments.
|