Alert Types to setup in Nagios

a.  Regular Expression HTTP monitor

We need the ability to monitor a part of a page.   The content needs to be able to match content on a page using regular expressions.  Also needed is the ability to log into the page.  Example of expression: /Temp_P18.*\n.*\n.*;(.*) Deg. C.*\n.*\n.*\n.*;(.*) %/

We need to be able to catch the values in the "()" areas listed above and check against those values.

We're experiencing issues with some monitors giving a HTTP-FORBIDDEN issue with the check_http scripts.

An example page we monitor is like this:

Web Serivces EJB Monitor
Module Status
real.time.volumes OK
universe.ejb OK
email.ejb OK

If the status error changes from OK to ERROR on any of those three, then it will send an error.

b.  Disk Space Monitor for Windows and Linux

Disk space needs to be able to be monitored.   The disk space monitor needs to have the ability to monitor separate drives or partitions.  We also need to be able to check percentage levels.  For example, if the percentage of the /opt filesystem is at 80% full, then that would present a warning.  95% full would present an error.  This functionality needs to work with both Windows and Linux.

c.  PING monitor

A basic PING monitor.  We know Nagios already has this functionality.

d.  HTTP Checking

Basic HTTP check to see if the page is up or down.

e.  LDAP Monitor 

We need to be able to login to an LDAP server and verify that things are functioning.

For example: LDAP service provider= ldap://

Security Principal= cn=test stuff (test stuff),ou=people,dc=mycompany,dc=com,o=internet

Security Credentials = "password"

f.  PORT monitor

Port monitoring to be able to verify a specific port is up and running, IE port 80, 443, 25, etc.

g.  FTP login check monitor

Need the ability to log into FTP and also check the port to see if it is up and running.  The port monitor can be separate.

We need to be able to log into FTP using a username and password and upload a file from Nagios.

h.  SMTP email send and receive monitor

We need the ability to log into an email account, and send an email, then check to see how long it takes for the email roundtrip to happen.


  1. Whether message is send or receive or just receive
  2. SMTP server
  3. Send to address
  4. Receiving protocol (must work with pop3)
  5. Receiving mail server
  6. Receiving mail server username
  7. Receiving mail server password
  8. Timeout - amount of time (in seconds) to keep checking for the message
  9. Pop check delay - delay (in seconds) between each login to the receiving server, while waiting for the message to arrive

i.  SNMP monitoring

We need SNMP monitoring to be able to check devices and systems.


  1. Hostname
  2. Object ID - that would typically be the mib name and the OID
  3. Index
  4. Community
  5. Trap ID (optional) that will check for link down, cold start.

j.  HTTP click through monitor

HTTP clicking gives us the ability to simulate a login sending information through a webpage through either a GET or a POST.

We need the ability to be able to log into a site and then do content matching.

k. RADIUS monitor

We need to be able to log into a RADIUS server with the following parameters:

  1. server name
  2. secret - secret phrase used to encrypt all requests to the server
  3. username - usually an email address
  4. password
  5. port #

l.  DNS monitor

Monitoring a DNS server using the address and hostname.


  1. DNS Server address
  2. Host name to lookup

m. CPU monitor for windows and Linux

We need to be able to monitor CPU usage on both Linux and Windows.

n. Memory monitoring

i. We need monitors which will check the swap and total physical memory usage.

o. Service monitoring for Windows and Linux

Services need to monitored like Apache, IIS, Tomcat, and other services.  They need to be checked for being up or down.

p. JDBC or database connection monitor

We need the ability to log into a database and run a query.

Parameters needed:

  1. Username
  2. password
  3. database
  4. port
  5. dbtype (IE mysql, oracle, db2, etc)
  6. sql query
  7. expected result from query

q. Remote NT connection monitor

Monitoring NT connections is something we do to ensure specific NT mounts are created.  The monitor authenticates to the NT server using the address.  Samba would be one way we could implement these types of monitors.


  1. NE Server address (IE \\
  2. login
  3. password

r. HTTP performance monitoring

i.  We need to have HTTP checks which will return how long going back and forth to a site about how long it took.

Many of these alerts are still being added.

s.  SSH performance monitoring

i.  We need to have nagios log into a system to check to see how long it took to log in and out.

t.  Database query performance monitoring

i.  We need to know how many seconds a select statement or some DB query takes, plus login times to a database

u. Website login and click-through monitoring

i.  We would like a system that will tie into selenium or some other automated utility to perform click-through actions on a website.  For example, we would like a system to be able to query a site and go through it step by step.  We can use something like WWW::Mechanize to achieve this goal for complex website monitoring.

v.  File monitoring

i.  Checks the total size of a file and how many bytes it is as well as age.  Reports errors if the file size or any one of these parameters is larger than usual or smaller, etc.

w.  Log file content monitor 

i.  Monitors a log file for specific content, can check added content, the whole file, or whole file first, then just new records.  As discussed with Ethan, the best way to do this would be to use diff on two files.