SRVMON SERVER MONITORING SUITE

This suite is currently under development. This is a draft release. Version 1.0 expected around May/June 2015.

CURRENT VERSIONS :

Part Version Status Priority
SRVMON DB v v v
-DB SQL 1.1 R1 Finished! Freeze
-Routines 1.1 R1 Finalization Freeze
SRVMON DIRECTOR v v v
-Updater 1.1 R1 Finished! Freeze
-Server 1.0 R1 Finished! Freeze
SRVMON AGENT 1.0 R1 Finished! Freeze
SRVMON WEBUI 0.5 R1 Development High
SRVMON DESKTOP ?.? R2 Planned Low
SRVMON ANDROID ?.? R2 Planned Low
SRVMON IOS ?.? R3 Maybe None

Overall suite version : 0.8 (Not ready for R1)

About

SRVMON is a simple monitoring suite for servers, switches, routers and every other device which has network access. SRVMON uses a SQL database, where it stores the hosts which should be checked. A user can define multiple status checks which can then be applied to a host. A user group can be notified via E-mail if there is any change in status of a host.

The suite is divided in multiple parts.

Database

The first and most important part is the database. The database has been created in MariaDB but should also work with MySQL. It should also be possible to use MSSQL. The database also offers multiple stored routines which can be used to control the data of the database.

Director

The next part is the SRVMON director. The directory also has 2 parts. The first part is the UPDATER which runs on the database server. The UPDATER then fetches a list of the available hosts from the database and checks if the hosts are reachable. The second part of the director is the SERVER, which is used to receive the XML data from the AGENTS. The UPDATER is written in Java and the SERVER is written in PHP.

Agent

The next part is the SRVMON agent component. The SRVMON agent is used on the clients in order to communicate with the database and also used to execute the check commands on the host. The agent can execute multiple check commands which can be defined in the database. A service could be a simple shell script which checks the CPU usage. The agent would then periodically execute the script and send the output to the DIRECTOR server using XML data. The agent is written in Java.

Web UI

An other part is the Web UI. The WebUI can be used to view and configure the SRVMON suite. The webinterface has been written in PHP5, JQuery/Javascript and also uses Bootstrap.

Desktop Client

The last part is the desktop client, which is essentially the same as the webinterface only that it is a standalone application. I created the application only to show you that it is possible to create multiple user interfaces for this suite because all the main logic happens in the database.

Why

I created this monitoring suite just for fun and I know that there are other monitoring solutions available but I wanted to do my own project. The goal of this project is to create a completely customizable monitoring solution. Please feel free to modify and improve this suite.

I also set to my goal, that I want to get this package into the official Debian repositories so that everyone can get, work and share this project.

For any questions please send a mail to .

Prerequisites

Webserver requirements

Server requirements

As operating system for the webinterface and director, I used Debian 7.8 Wheezy.

The agents should run on every system which supports Java and the SQL connector for Java. The service scripts that I use are simple shell scripts.

NOTE: You are not required to use the agent component. It is also possible to write an own agent in a shell script as long as it supports a connection to the database. The only thing that the agent does, is scheduling the service checks and executing the stored procedures in the database.

NOTE: A mobile client for Android devices is planned.