Sunday, August 17, 2014

RPi-Monitor: Version 2.7 is available

Note: A new version of RPi-Monitor is available: Version 2.8.
All the details about the latest version of Rpi-Monitor are in RPi-Monitor overview

The version 2.7 of RPi-Monitor has been released.

If you don't know yet what RPI-Monitor do, have a look to RPi-Monitor Overview.

Photo from Flickr AttributionShare Alike cc-by-sa by Adrienne Yancey

What's new in this version?
This version is coming with internal changes, improvement and bug fixes.

Here is the changelog of version 2.7:
  • Change directory storing configuration to /etc/rpimonitor/
  • Change configuration file name to better names
  • Create a template directory for configuration files
  • Change location of RRD storage to /var/lib/rpimonitor
  • Add xbian support and distribution automatic detection in debian package
  • Cleanup shellinabox menu display and configuration
  • Change ownership of empty.rrd to activate on demand regeneration Fixing issue #23
  • Update raspbian.conf to make it compatible with NOOBS installation
  • Update jquery (v2.1.1) and bootstrap (v2.3.2)
  • Update disk usage formula for better compatibility
  • Add 'Label' function for status page


Download it from the official repository in Github with the command:
    wget -O rpimonitor_2.7-1_all.deb

If you have issue with GnuTLS: A TLS warning alert coming from Github you can download it with the following command:
    curl -L -o rpimonitor_2.7-1_all.deb

Install the dependencies by executing the following command (use command apt-get if aptitude is not available on your target system):
    sudo aptitude install librrds-perl libhttp-daemon-perl libjson-perl libipc-sharelite-perl libfile-which-perl

Installation or upgrade can be done with the command:
    sudo dpkg -i rpimonitor_2.7-1_all.deb

Complete the installation with the command:
    sudo apt-get update && sudo service rpimonitor update


This version of RPi-Monitor introduce some changes in the internal file organisation. This new organisation is described in detail into
RPi-Monitor package is designed to automatically make the migration from previous version.
To avoid any loss, it is still recommended to backup the directories /usr/share/rpimonitor/web/stat/, /etc/rpimonitord.conf and /etc/rpimonitord.conf.d/*. In case of issue, refer to to see where files should be restaured and how.

Label function to reflect status

This version of RPi-Monitor introduce a new function dedicated to show the status of a service. This function is named "Label". I'll write a dedicated post to present this function. If you can't wait, you can have a look to the manpage and the to file template/services.conf which is showing how to use it.

About shellinabox

Shellinabox allow you to access to the shell of your Raspberry Pi through a web interface. You can activate this feature into the configuration dialog box.
By default, the link is set to '''/shellinabox'''. When RPi-Monitor will recieve this request, it will automatically do a redirect to http://RPiIpAddress:4200/. You can modify this address to point to your shellinabox address. This address is used inside the iframe of shellinabox page.


RPi-Monitor is fully configurable so if the displayed information doesn't match you need, customize it.
Everything display in status pages or in statistics pages can be modified, tuned and customized to your needs.

To see how to customize it, use the command
    man rpimonitord
    man rpimonitord.conf

Man pages are also available in the wiki.

To define the configuration you can use RPi-Monitor Interactive Configuration Helper whit the command:
    rpimonitord -i

You will find some examples of customization in RPi-Monitor articles.


Once RPi-Monitor is configured as you wished, browse http://RPiIpAddress:8888/ to access to the web interface.

Note: The graphs rendering may have strange behavior on Google-Chrome on Windows while it works fine on Linux. Internet Explorer is even not able to display statistics, it is then advised to use Firefox on Windows or better... switch to Linux! ;-).


  1. I found an new error since 2.7 upgrade in my syslog at every sec, what is it?

    Aug 18 06:27:01 raspberrypi /usr/sbin/cron[1202]: (*system*rpimonitor) INSECURE MODE (group/other writable) (/etc/cron.d/rpimonitor)

    1. This file remained unchanged in version 2.7 compare to version 2.6.
      Check the mode of /etc/cron.d/rpimonitor with 'ls -al' and change the mode if necessary.
      On my side I have '-rw-rw-r-- 1 root root 232 août 18 10:27 /etc/cron.d/rpimonitor' and everything is secure.

  2. Hm, similar:

    $ ls -al /etc/cron.d/rpimonitor
    -rw-rw-r-- 1 root root 208 aug 31 2013 /etc/cron.d/rpimonitor

    But the size is 208 byte only. :)

    1. You should compare your file from the one provided (cf github) and check if you have the correct version. This script is supposed to be executed once a day.

    2. Mine is similar than github version, as 208 byte.

      But yours is bigger, 232 byte. Please, compare your version with github! :)

    3. I understood the different. Mine is v2.8... (from the devel branch).

    4. According to the message, I would do a 'sudo chmod 600 /etc/cron.d/rpimonitor'.
      Let me know if it works.

  3. I think that the 600 is correct:

    Aug 20 09:08:01 raspberrypi /usr/sbin/cron[6305]: (*system*r
    pimonitor) INSECURE MODE (group/other writable) (/etc/cron.d
    Aug 20 09:09:01 raspberrypi /usr/sbin/cron[6305]: (*system*r
    pimonitor) RELOAD (/etc/cron.d/rpimonitor)
    Aug 20 09:09:01 raspberrypi /USR/SBIN/CRON[7283]: (root) CMD
    ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ]
    && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type
    f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime)
    ! -execdir fuser -s {} 2>/dev/null \; -delete)

  4. The web access of the RPi-Monitor is halted with 600... :-/

    1. You should double check you configuration because there is not link between this cron and the web interface . The worst that can happen is a wrong information related to packages...

  5. Upgraded from 2.6 to 2.7. I don't use internal server and I need to manually change daemon.noserver=1 in daemon.conf.

    I also lost friend sites config.

    More, in comments for noserver:

    # daemon.noserver=1
    # Define that rpimonitor shouldn't start web server (default:0)
    # Note: A symbolic link from /var/lib/rpimonitor/stat to
    # /usr/share/rpimonitor/stat may be required

    dir references seem wrong. In my config, it works only after this ln command:

    ln -s /var/lib/rpimonitor/stat /usr/share/rpimonitor/web/stat

    1. Not using the internal server is not recommanded because you will face some limitation. Internal server is regenerating empty.rrd to resolv issue #23.

      Yes, the symlink is mandatory if you install a basic server (I did create this link to test it with python one line httpd server). (I'll notice that I missed 'web' in this comment also :-( I'll fix it in next release)

      I didn't chec friend configuration during update but did recommand to backup data before doing an update...

  6. A simple method for Lighttpd secure settings:
    - symlink from /usr/share/rpimonitor/web to /var/www/rpimonitor
    - add www-data privilege to it
    - symlink from /var/lib/monitor/stat to /var/www/rpimonitor/web/
    - add following lines to the /etc/lighttpd/lighttpd.conf
    - add the username (as 'pi') and password to the /etc/lighttpd/.lighttpdpassword
    - restart the lighttpd and the rpimonitor services
    After you can access the RPi-Monitor on your Lighttpd port (as example 80) with password.