Table of Contents

Setting up a checker

Checkers are managed in the SeedDB tool. (Servicemon currently doesn't have its own tool.)

To add a checker, click “Add” under “Services”. This leads to a three-panel box where you can select the IP device and service you want to check. When you have selected a service, you'll get a some boxes to fill in arguments (see Checker arguments below). When you're done, just hit “Add service”

To edit a service, click “Edit” under “Services”. Check the services you want to edit and hit “Edit selected” or “Delete selected”. Editing will give you the same form as above.

Most checkers have a timeout option. The default value is set in servicemon.conf (5 seconds in the dist version.)

Writing a new checker

See Writing a Servicemon checker

Config file

Servicemon uses as standard INI file named servicemon.conf, found in NAV's etc directory.

Checker arguments

dc

Checks a Domain Controller (Windows). Required rpcclient.

Required:

dhcp

Not released yet. (Will be included in 3.6?)

Checks if a DHCP server is up by sending a DHCPINFORM packet and checking if it got a reply.

Requires dhcping (apt-get install dhping) which must be setuid root (chmod +s /usr/sbin/dhcping). (It's probably best to install it in /usr/local/bin/ to keep APT from reverting the setuid bit.)

Optional:

dns

No external requirements. (Uses a bundled and slightly modified version of pydns.)

Required:

Optional

Implementation notes: Uses a bundled pydns module which is modified to support the CHAOS class query, which is used to request server version. The query is reported to break on Windows DNS servers, and is commented out in the code, but UiTø comments it back in to get the server version. Unbundling it and using the standard pydns will break server version at UiTø.

See https://bugs.launchpad.net/nav/+bug/338655

dummy

Sleeps a random time between 0 and 10 seconds and always reports itself as UP.

ftp

Connects to the FTP server and gets server version from the banner.

Optional:

http / https

Optional:

Limitations:

imap / imaps

Required:

Optional:

ldap

Requires the python-ldap module (apt-get install python-ldap)

The 'base' argument appears to actually be required, and the checker should be modified to reflect this.

Optional:

mysql

Connects to the server, gets server version and politely closes the connection without logging in. No arguments required.

Implements what little it needs of the mysql protocol, and requires no external libraries.

oracle

Not tested for some time. Requires the cx_Oracle module which in turn requires Oracle client libraries.

pop3

Required:

Optional:

port

Checks if a given TCP port is open.

Required:

postgresql

Doesn't do anything PostgreSQL specific. Simply checks if the port is open.

Optional:

radius

Some of these optional arguments are actually required. The checker should be changed to reflect this.

Requires pyrad (apt-get install python-pyrad)

Optional:

(Todo: Find out where that dictionary comes from.)

rpc

Checks if RPC portmapper is running and all requires services are up.

Requires rpcinfo (apt-get install libc-bin, which is probably already installed)

Optional:

smb

Requires smbclient (apt-get install smbclient)

Optional:

smtp

Optional:

ssh

Optional: