1. Long Yang
  2. sitemon

Overview

site monitoring web application

Introduction

I run a small web hosting company and want to offer site monitoring services. at it’s most basic
function, the monitoring should do what is effectively a “http ping”. We want to know the ping
time to the web server (traditional ping) and we also want the HTTP return code (example 200/
OK). Each “http ping” should be logged to a MySQL database, so we can see performance and
outage trending.

Requirements

User Interface Requirements
1. A very simple but functional interface is all that’s required, just a simple, functional web
application interface.
2. log in screen
3. Screen to add a new site for monitorig.
4. Screen to view all current monitor, including a “delete” button next to each monitor for
quick removal.
5. Standards based HTML / CSS

Functional Requirements
1. Must be able to configure individual sites with unique settings per site
a. poll frequency - how often do to do the http ping
b. what URL are we pinging
c. email address to send alerts to if we get an http error code.
2. Store all configuration items in MySQL database
3. store ping results in the MySQL database
    a. ping response time
    b. http code that was returned
4. If an error code is returned on a “ping” then an additional ping test should be run 3 times
    to reduce the number of “false positive” alerts.
5. Web front-end to manage the application.
    a. Create a new monitor for a new site
    b. remove a website monitor
    c. list all monitors
    d. Restrict view to user. The user should only see the monitors that they set up
    e. Administrator view that can see all configured monitors.
6. The application must be written to run on a Linux platform
7. The application must be able to scale to potentially thousands of monitors