Sunday, July 21, 2013

RPi-Monitor: Version 2.2 is available

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

The version 2.2 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 AttributionNoncommercialShare Alike cc-by-nc-sa by jacqueline-w


What's new in this version?

This version comes with bug fix, optimization and extends the customization capabilities by adding multiple pages for status and statistics.

Here is the changelog of version 2.2:
  • Add the possibility to create multiple status and statistics pages
  • Add process respawner to improve reliability of rpimonitord
  • Add HTML5 cache for json data to speedup page display and offload RPi
  • bug fix: Embedded server won't start on 443 or 80 ports (issue #8)
  • bug fix: cleanup code according to comment described in issue #7 



    Installation

    Download it from the official repository in Github:
        sudo wget http://goo.gl/miZ79 -O rpimonitor_2.2-1_all.deb

    Install the dependencies by executing the following command:
        sudo apt-get install librrds-perl libhttp-daemon-perl libjson-perl

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



    Customization

    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
    and
        man rpimonitord.conf

    Man pages are also available in the wiki.

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

    About multiple pages

    This version of RPi-Monitor introduce the notion of pages. Adding a new page can be done in configuration file by setting the parameter named <page id>.
    RPi-Monitor will automatically interpret this new id and create the associated page. The new page will be accessible by a drop down menu as shown in the screenshot bellow.


    RPi-Monitor showing multiple status pages

    RPi-Monitor showing multiple graph pages

    The file custo.conf available in github shows how to configure additional pages from information gathered from external sensors. This is the configuration file used for the examples shows in upper screenshots.


    Usage

    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! ;-). 


    13 comments :

    1. great tool!
      any chance to get some sort of simple authentication/login restriction with the included webserver in the future?

      ReplyDelete
      Replies
      1. I do not plan to add authentication or encryption into the embedded web server. Such of feature is not so easy to implement and are already very well managed by web servers (nginx, apache, lighttpd, ...). I wrote an article explaining how to configure nginx to add https and authentication to RPi-Monitor. I then advise to read it if you need to improve the security of RPi-Monitor.

        Delete
    2. Thank you for your quick response! :) I already read your article on how to secure RPI-Monitor with with nginx. I just wanted to avoid installing another service on the pi just for authentication on the monitor. I will give it a try though.

      ReplyDelete
    3. Hi Xavier,

      If you're interested, I've created a Gentoo ebuild for RPi-Monitor:

      https://github.com/srcshelton/gentoo-ebuilds/tree/master/www-apps/rpi-monitor

      All the best,

      Stuart

      ReplyDelete
      Replies
      1. Thanks doing this. I'll add links to your Gentoo ebuild in the RPi-Monitor Overview and in the github pages.

        Delete
    4. Please add the following line to your all update installation method:

      'sudo service rpimonitor restart'

      Thank you! :)

      ReplyDelete
      Replies
      1. This command shouldn't be necessary since it is already done by the installation scripts inside the package. But This is a good tip if RPi-Monitor is not working as expected.

        Delete
    5. Just discovered this great product. Got it working in the end and once it does, it works like a charm.
      My installation problems were as follows :
      - Didn't have the package installed before and went straight for the latest version 2.2.
      - kept getting the error concerning the dynamic.json not being available.
      - Removed and re-installed it a couple of times, without result.
      - Downloaded version 2.1, installed it and it worked. Then updated via "sudo service rpimonitor update".
      - Result : latest version, up and running without a problem.

      One happy camper over here :-)

      Will definitely try out the customizations as well.

      ReplyDelete
      Replies
      1. The command "sudo service rpimonitor update" is not updating from 2.1 to 2.2 but is just updating the packages information.
        You can check the about box to know the version you are running.
        The problem you had with the version 2.2 is strange, mayby the comment from Sancho(hust upper) could help to start RPi-Monitor version 2.2 after installation... I'll have a look to that before publishing v2.3.

        Delete
    6. Hi again,

      Just a few quick notes which might be helpful for the next release:

      - I had to change 'static.4.regexp=Processor\s+: (.*)' to 'static.4.regexp=model name\s+: (.*)' for 'static.4.name=processor' - although this may be kernel-dependant, as I'm using 3.10.y. Perhaps the best solution is to use 'static.4.regexp=(Processor|model name)\s+: (.*)'?

      - scaling_governor and swap_total are defined as static types, whereas these are really dynamic - RPi Monitor's UI doesn't reflect, for example, changing from the 'ondemand' to 'performance' governor, or to activation/de-activation of swap.

      - memory_total could perhaps be made a dynamic value, coming from the output of 'vcgencmd get_mem arm' to account for systems using CMA.

      Finally, it'd be *really* helpful if you could include a command-line option to validate the *.conf files!

      Hope this helps,

      Stuart

      ReplyDelete
      Replies
      1. Thanks for your comments.
        I did update the configuration of static.4 as you proposed. I also moved the scaling_governor from static to dynamic.
        Regarding the parameters swap_total and memory_total as these parameter can't automatically and dynamically change (unless you can show me a use case explaining how), I'll keep them as static. If the user decide to manually change these values, he will just have to restart rpimonitord to take change in account.
        Finally, I'll think how I can implement the command line option to check the configuration parameter but I'm not expecting to work on that feature soon so if somebody want to propose a pull request with this feature, I'll be happy to merge it in the master branch.

        Delete
      2. Sure - swap_total may change if you add/remove swapfiles (or additional swap partitions), and memory_total will scale up and down as memory is reallocated from CPU/ARM to GPU if CMA is enabled.

        Delete
    7. Thank you so much for this magnificent tool ! :-)

      ReplyDelete