RPi-Monitor

Overview
RPi-Monitor is a self monitoring application designed to run on Raspberry Pi. It provides an interactive web interface to display status and graphs. Screenshots are available here.

Description
For performance and security reason, RPi-Monitor separates the extraction of the information from the presentation of the information.

The extraction of the information is done by a process designed to run as a daemon (which can be executed as root). The extracted key performance indicators (KPI) from the computer are stored them into a Round Robin Database (RRD) to keep an history of the health of the computer. rpimonitord is the perl script also starts the embedded web server giving access to the pages. The web server is running into a separate process owned by a non root user (the user 'pi' by default).

The presentation of the information is performed by HTML5 pages. These pages dynamically download the information extracted from the previous script and perform the rendering the in a nice looking format (using bootstrap, jquery, jsqrencode, javascriptrrd and flot). This architecture has the advantage in an embedded architecture to offload the server task and delegate processing and rendering to the client.

Since version 2.0, RPi-Monitor extracted data and informtion display are fully configurable. Some articles (available here) are describing how to extract data and how to customize their display into web interface.

Finnally note that the embedded server doesn't provide access control or authentication. It is still possible to not start the embeded web server and use an external web server to deliver the pages. An article available in the blog of the author is explaining how to setup ngnix to manage access control or authentication.

You will find the latest information about RPi-Monitor on http://rpi-experiences.blogspot.fr/

Installation
Since version 2.6 RPi-Monitor is available in the Pi Store 

Before installing RPi-Monitor you should install the dependencies. To do so, execute the following command:

sudo aptitude install librrds-perl libhttp-daemon-perl libjson-perl libipc-sharelite-perl libfile-which-perl

Download RPI-Monitor debian package from https://github.com/XavierBerger/RPi-Monitor-deb/tree/master/packages and install it with the following command:

sudo dpkg -i rpimonitor_X.X-1_all.deb

That's it, your Raspberry Pi is monitored. You can now browse http://your_Raspberry_Pi_address:8888 to access to the interactive web interface.

To remove the package you can use one ot the following command. If you want to remove the program but keep the configuration files and statistics:

sudo dpkg --remove rpimonitor

If you want to purge everything related to the program:

sudo dpkg --purge rpimonitor