RPi-Monitor

Overview
RPi-Monitor is a 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.8, RPi-Monitor is providing a debian repository. This repository will make installation and update of RPi-Monitor accessible with the command apt-get or aptitude. To use this repository follow the instruction bellow:

Activate https transport for apt and add certificate authority: sudo apt-get install apt-transport-https ca-certificates

Execute the following command to add RPi-Monitor into your list of repository: sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list

Install my public key to trust RPi-Monitor repository: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F

To install RPi-Monitor, execute the following command: sudo apt-get update sudo apt-get install rpimonitor

To upgrade RPi-Monitor, execute the following command: sudo apt-get update sudo apt-get upgrade

After installation you should excute the following command to update information about upgradable packages:

sudo /usr/share/rpimonitor/scripts/updatePackagesStatus.pl

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 apt-get --remove rpimonitor

If you want to purge everything related to the program:

sudo apt-get --purge rpimonitor