|
|
| Welcome to the Checkservice homepage |
^ |
|
Checkservice is written, as the name of the program suggests, to check the status of
the services that you run on your own or a remote server/computer.
It can monitor for example the FTP Server and Web server you are running and alarm you
in several ways if something is wrong with them.
The variety of output types, check- & warningplugins make Checkservice suitable for many
tasks. With simple configfiles you can scan important services on the local host,
but also on remote hosts, and make sure you know if a vital service fails!
Since the 0.9.9-release Checkservice supports grouping. This is a convenient way to
organize the hosts to check in different categories.
You are free to distribute this software under the terms of
the GNU General Public License (COPYING).
|
| Latest News |
^ |
The latest news:
| | |
| * Debian package version 1.1.0-11 upload to unstable |
Fri Jan 10 1:15 CET 220 |
| * New RPMs available for the CS 1.2.0 updates |
Tue Jan 07 15:45 CET 2002 |
| * A new 1.2.0 tarball available (fixes simple checking) |
Sun Jan 05 17:00 CET 2002 |
| * New SSH plugin available for CS 1.* |
Thu Nov 28 00:30 CET 2002 |
| * Put 1.2.0 RPMs online (thanks go to Richard) |
Mon Oct 14 21:00 CEST 2002 |
|
| What is it? |
^ |
Checkservice is a program that can be of good use to the Sysadmin. It has
different styles of output (suited for MRTG, a php3 status page, logfiles and
everything that likes reading from STDIN) that makes it possible to track anything
while you're not watching.
When logfile output is used, warnings are enabled. And as of version 0.9.9 the warning
system uses plugins, so you can add your own.
Checkservice is distributed with three warningsystems:
- PC Speaker beep
- Mailwarning (using template mails) [INTERNAL]
- SMS warning (using external modem to deliver the message)
For less information, have a look at the README file and
the TODO file for what is to come.
|
| How does it work? |
^ |
|
Checkservice uses two methods for checking if a service is OK.
The simple check is just a portscan. A connection to the specified host
and port is made, the result depends on if that connection is open after the attempt.
Extended check uses a plugin, it will login on the service and determine if the
service is functioning. If a service is configured for extended check but no plugin is available,
Checkservice will revert to simple scan. Extended scan provides a more thorough check!
|
| Requirements |
^ |
Checkservice works on any machine capable of running Perl-scripts.
It is written using Perl 5.005, but it should work with versions
5.004 and 5.006 too.
Additional modules you'll need (these are a part of the Perl 5.005-distribution,
so it's likely you'll have them already):
- IO::Socket
- File::Find
- Mail::Send
- Getopt::Std
- Getopt::Long
- POSIX
The Checkservice checkplugins (which are optional) require the
following modules:
- telnet.plugin needs Net::Telnet
- ldap.plugin needs Net::LDAP
If you want to use the php3 statusscript, you'll need php3 and
a webserver of course. If you are going to use the SMS-warning,
you should install smsclient to make it work.
|
| Development |
^ |
|
Since version 0.9.9 Checkservice has two kinds of plugins:
The warning- and the check-plugins.
I still miss some checkplugins for certain often used services. How can
you help me with that? That is very simple, the plugin can be written in any programming language you prefer.
The checkplugin you write is just supposed to accept three parameters (-h <targethost> -t
<timeout> and -p <port>) and return a 0 (successful),
1 (failed) or 2 (timeout).
Warningplugins are called if something goes wrong with a host,
the plugin gets its information from the parameters it is called by. A warning plugin will be called by:
some.plugin -c <confdir> -h <host> -p <ports> -s <service> -r <result>
Where result is the error-code as given above (successful/failed/timeout).
NEWS: Starting from version 1.1.5, Checkservice will get it's params using XML from STDIN, the commandline options will be deprecated soon.
If you happen to have some other brilliant ideas about this program, or you miss something,
I'd like to hear it! If you want to get
an CVS account to make Checkservice better, I would like to hear it too :)
|
| Plugins |
^ |
Here I have got a list of plugins that are available for Checkservice.
If you miss one and you would like to create one, have a look at the
Development section.
The Incl. in (included in) column refers to the version the plugin entered
the Checkservice distribution. 'n/a' means it isn't included yet but will be
in one of the next releases, bold versions mean it was included in the latest
release.
Plugin list:
|
| Screenshot |
^ |
This is not really a screenshot, but it shows what the php3-statuspage, that comes
with Checkservice, looks like:
Servicecheck of host localhost
| Name |
Service |
Port# |
L |
Status |
Up% |
| ProFTPd Server |
ftp |
21 |
x |
OK |
100.0 |
| OpenSSH Daemon |
ssh |
22 |
s |
OK |
100.0 |
| Sendmail SMTP Mailserver |
smtp |
25 |
s |
OK |
95.3 |
| Apache HTTP Daemon |
http |
80 |
s |
OK |
100.0 |
| Average uptime all services: |
98.8 |
|
| Contact Me |
^ |
I have put up three mailinglists for Checkservice.
Note that all messages on the announce-list will also be forwarded to
the users-list.
You can also email me personally at
paul@linvision.com.
Due to the lack of usage of the #checkservice IRC channel on
OpenProjects.net, it isn't registered anymore.
|
| Download |
^ |
The INSTALL file in the tarball describes manual installation.
I will upload the Debian package to the unstable tree every new
release, I'll hope it will arrive in testing soon.
Download:
- Checkservice source tarball:
- Debian package:
The 1.1.0-9 Debian packages includes all fixes of 1.1.5 and 1.2.0, as did the 1.1.0-8 package for the 1.1.5 fixes.
Packaging of the CS perl module is too complicated for now, so that's why I patched 1.1.0.
- Checkservice RPM:
- Checkservice Source RPM:
|
|