## NetSaint Addons

The following is a description of various "addons" that are available for NetSaint. These and other addons can be obtained from the downloads page on the NetSaint website (www.netsaint.org).

Index

cl_status - Console interface for viewing status of monitored services
neat - Web-based administration interface for NetSaint
netsaint_mrtg - MRTG scripts for graphing host and service status information
netsaint_statd - Perl daemon and plugins for monitoring remote host information
nrpe - Daemon and plugin for executing plugins on remote hosts
nrpep - Service and plugin for executing plugins on remote hosts
nsa - Web-based administration interface for NetSaint
nsca - Daemon and client program for sending passive check results across the network
pscwatch - Watchdog daemon that ensures passive service checks are being submitted
saintmap - Perl/TK application that creates 2-D drawing coordinates for hosts from a drag and drop visual interface

cl_status - Console interface for viewing status of monitored services

Author: | Adam Bowen
Description: | This program is designed to run in a console and display the current status of monitored hosts and services. It uses ncurses to display as many status lines as possible based on the screen size settings. It will also make the console beep and flash if there are any problems. You can specify the rate at which the status information is refreshed from the NetSaint status log.

neat - Web-based administration interface for NetSaint

Author: | Jason Blakey
Description: | NetSaint Easy Administration Tool (NEAT) is a web administration interface for NetSaint that is written in Perl. It allows you to add/edit/delete definitions in your host configuration file and restart NetSaint upon completion of the configuration changes. Unlike nsa, it does not require a database to store your configuration data.

netsaint_mrtg - MRTG scripts for graphing NetSaint host and service status information

Author: | Richard Mayhew
Overview: | Allows you to produce MRTG graphs of NetSaint host and service status information

Files:

mrtghost_total.pl | - Perl script that obtains the total number of hosts that are up and down
mrtgsvc_total.pl | - Perl script that obtains the total number of services that are up and down
mrtgsvchost_total.pl | - Perl script that obtains the total number of services that are up and down on a particular server
mrtgsvctyp_total.pl | - Perl script that obtains the total number of services (of a particular type) that are up and down

Description: | This package includes two scripts which allow MRTG to generate graphs of host and service status totals, as reported by NetSaint. The scripts scan the NetSaint status log to determine the total number of services or hosts that have problems or are okay. Examples of how to incorporate the scripts with MRTG are provided in the README.mrtg file.

Notes:

- You must be running MRTG to actually make use of this package

netsaint_statd - Perl daemon and plugins for monitoring remote host information

Author: | Nick Reinking
Overview: | Allows you to monitor disk usage, load average, processes, and users on remote hosts.

Files:

netsaint_statd | - Perl daemon that runs on remote hosts
check_disk.pl | - Perl plugin that is executed by NetSaint to check remote host disk information [single disks]
check_all_disks.pl | - Perl plugin that is executed by Netsaint to check remote disk information. [all but ignored disks]
check_users.pl | - Perl plugin that is executed by NetSaint to check remote host user information
check_procs.pl | - Perl plugin that is executed by NetSaint to check remote host process information
check_load.pl | - Perl plugin that is executed by NetSaint to check remote host load information
Changelog | - Changes recently made to netsaint_statd
README | - Command options and arguments (for hosts.cfg)

Description:

netsaint_statd is a daemon which allows a NetSaint host to get information such as process count, users, disk usage, and load information using the corresponding plugin scripts. The daemon does not process the system information in anyway. It merely collects the information and hands it back to the calling script to do with as it pleases.

The daemon script is designed in such a way as to allow for easy porting to other OSes (as long as you have Perl installed). Adding other checks should also be easy by adding the appropriate sections in the command list for netsaint_statd. Currently supported OSes are HP-UX, Linux, Solaris/SunOS, IRIX, OSF1, FreeBSD, AIX, OpenBSD, and NEXTSTEP. The only requirements for getting your OS supported are the standard UNIX utilities like ps, df, etc. Host restrictions are just a small list of IPs to listen to (or you can have it listen to everybody). netsaint_statd is designed to allow easy addition of extra remote system checks.

Notes:

- You'll have to modify the first line of code in each file to match the location of your perl binary.

nrpe - Daemon and plugin for executing plugins on remote hosts

Author: | Me
Overview: | Allows you to execute plugins on remote hosts in a relatively easy and transparent manner.

Files:

check_nrpe | - Plugin used to send execution requests to the nrpe agent on the remote host
nrpe | - Agent that runs on the remote host and processes plugin execution requests
nrpe.cfg | - Configuration file for the remote host agent

Description:

This addon is designed to provide a way for executing plugins on a remote host. The check_nrpe plugin runs on the NetSaint host and is used to send plugin execution requests to the nrpe agent on the remote host. The nrpe agent will then run an appropriate plugins on the remote host and return the plugin output and return code to the check_nrpe plugin on the NetSaint host. The check_nrpe plugin then passes the remote plugin's output and return code back to NetSaint as if it were its own. This allows for a rather transparent method of executing plugins on remote hosts. The nrpe agent can either be run as a standalone daemon or as a service under inetd.

Notes:

- When running in daemon mode, the nrpe agent authenticates plugin execution requests by doing a rudimentary comparison of the IP address of the calling host against a list of allowed IP addresses in the configuration file.
- When running under inetd, TCP wrappers can be employed to restrict access to the nrpe agent

nrpep - Service and plugin for executing plugins on remote hosts

Author: | Adam Jacob
Overview: | Allows you to execute plugins on remote hosts in a relatively easy and transparent manner.
Description: | NetSaint Remote Plugin Executor/Perl (NRPEP) was designed as a replacemnt for the netsaint_statd and nrpe addons. Although this addon is similiar in function to nrpe, it is written in Perl and implements TripleDES encryption for the data in transit. It is also designed to run under inetd and make use of the TCP Wrappers package for access control.

Notes:

- Requires two Perl modules: Crypt-TripleDES-0.24 and Digest-MD5-2.09

nsa - Web-based administration package for NetSaint

Author: | Daniel Burke

Description:

Daniel Burke has created this excellent addon - named "NetSaint Administrator" - to fill the need for an more user-friendly means of configuring NetSaint. This package allows you to edit your configuration data (hosts, services, contacts, timeperiods, etc.) via a web interface. Configuration data is stored in a MySQL database and written to a text file in the proper configuration file format when you're ready. The CGIs can also run NetSaint with the -v option to verify the contents of your configuration file. This is an excellent application for anyone who either hates the native config file format or just wants an easier interface for managing the configuration data.

Notes:

- You must have MySQL v2.22.25 or higher installed, Perl5 with DBI and MySQL DBD installed, and a general knowledge of how to create/delete databases and tables in MySQL in order to use this package.

nsca - Daemon and client program for sending passive check results across the network

Author: | Me
Overview: | Allows you to submit passive service checks results to another server on the network that is running NetSaint.

Files:

nsca | - Daemon that runs on the central NetSaint server and processes passive service check results submitted by clients
nsca.cfg | - Configuration file for the nsca daemon
send_nsca | - Client program that is executed from remote hosts and sends passive service check information to the nsca daemon on the central NetSaint server
send_nsca.cfg | - Configuration file for the send_nsca client

Description:

This addon allows you to send passive service check results from remote hosts to a central monitoring host that runs NetSaint. The client can be used as a standalone program or can be integrated with remote NetSaint servers that run an ocsp command to setup a distributed monitoring environment. Communication between the client and daemon can be encrypted via various algorithms (DES, 3DES, CAST, xTEA, Twofish, LOKI97, RJINDAEL, SERPENT, GOST, SAFER/SAFER+, etc.) if you have the mcrypt libraries installed on your systems.

pscwatch - Watchdog daemon that ensures passive service checks are being submitted

Author: | Me
Overview: | Ensures that passive service checks are being submitted at regular intervals.
Description: | This addon's sole purpose in life is to ensure that passive service checks are being submitted to NetSaint on a regular basis. This addon is designed to be used on a central monitoring server when setting up a distributed monitoring environment.

saintmap - Perl/TK application that creates 2-D drawing coordinates for hosts from a drag and drop visual interface

Author: | David Kmoch
Overview: | Visual interface for creating 2-D host coordinates for statusmap CGI.
Description: | This addon allows you to create 2-D host drawing coordinates for use in the statusmap CGI by using a drag and drop visual interface. When you finish moving the hosts into the desired location on screen, this app allows you to save the drawing coordinates in CGI config file's hostextinfo[] definitions. Perl and Tcl/TK are required to use this addon.