RPi-Monitor FAQ


RPi-Monitor's graphs are not clean and frequently drop down to zero as in screenshot bellow. How can I have a clean curve?


RPi-Monitor is periodically getting data from program of files. If the program is not answering or if the file is empty, the value is unknown. This unknown value will be drawn as a zero in graphs. If, as in the upper example, the program reading the sensor is giving reliable values, it is advised to create a script writing the temperature result into a file and to configure RPi-Monitor to read this file. In this case, if the file is not updated, the previous value will be read and drawn in graphs.


RPi-Monitor's web interface is not working, I've only white pages?

RPi-Monitor requires HTML5 local storage and cookies to work properly. You should check that these both functionalities are activated into your browser and check that no plug-ins is blocking them.


Is RPi-Monitor supporting distribution XXX?
Can you make RPi-Monitor compatible with distribution XXX?

RPi-Monitor was developed on Raspbian. This distribution is then fully supported.
I will not officially support any other distribution but you will find in github repository some configuration files that may help you to configure RPi-Monitor on your system.
Remember, RPi-Monitor is highly configurable and should be able to run on every system able to run perl. Have a look to RPi-Monitor articles for examples.


I have a problems running rpimonitord:  failed "Can't locate _______.pm  in @INC ...

The installation is not done properly. You should read again the installation procedure and pay attention to the dependencies.


I would like to use my favorite web server instead of the one embedded into RPi-Monitor. Is it possible?

Yes, this is possible but not recommended. RPi-Monitor embedded web server is optimized to reduce the usage of the SDCard, reduce the resources used into the system. The Web interface is requiring some specific feature that can only be delivered by RPi-Monitor embedded web server (like empty.rrd file generation ensuring a clean display of graphs).


Can you add login/password and authentication to RPI-Monitor web interface?

No. I'll never add such a feature to RPi-Monitor. Why? Just because it is something complex to do in a clean and fully secured way. Some software are already design to do the job and they do it well. Refer to this article if you need such a feature.


How can I do customize RPi-Monitor, change data extracted, add images, change texts...

In RPi-Monitor almost everything is configurable. This can be done by configuration file. Have a look to RPi-Monitor articles for examples.


I tried to install RPi-Monitor into an OS not officially supported and some data are missing. How can I fix it?

As I said previously, in RPi-Monitor almost everything is configurable. You should find the command to execute or the file to read to get the missing value directly in the shell. Once the command is found you will need to update the configuration file. Have a look to RPi-Monitor articles for examples (have a look to the command rpimonitord -i).


I would like to monitor a cluster of raspberries with your tool. Is there a way to gather the whole data in one node? 

It could have any answer to such a question. One possibility would be to use ssh and configure RPi-Monitor to execute commands on ech remote nodes of your cluster and process the data locally.
To do so, you should create one configuration file per node to monitor and use all of them in RPi-Monitor. Using pages feature could be very usefull. You can use the main page to display some consolidate data in addition to one page per cluster.
This question is interresting and I'll think about writing one article about this subjet.


I found a bug into RPi-Monitor. How can I share my discovery?

You should open an issue in github and describe you problem and how to reproduce it.



Download bandwidth is shown as negative values. It's bug or feature?

This is a feature :-). But, remember, everything is customizable in RPI-Monitor...


I want to create a package for my favorite distribution which is not supported by defalut. How can I contribute to this project?

RPi-Monitor source code is hosted in github. The file PACKAGING.md should catch your interest.

I've some issue with my installation or customization of RPi-Monitor and I want to reinstall it from scratch. How can I do it?

Here is the instruction to reinstall RPi-Monitor from scratch:
First, uninstall RPi-Monitor with the following command:
    apt-get purge rpimonitor
    rm -fr /etc/rpimonitor
    rm -fr /usr/share/rpimonitor

Then reinstall by following the instruction gathered in this page.



Some data are not extracting correctly at boot but when I restart rpimonotird everything becomes OK until I reboot. How can I fix thi issue?

If you reach such situation, you certainly configure your source using a command whitout the full path. For example 'gettemp.sh' instead of /usr/bin/gettemp.sh'.The first command is working in your shell because the variable $PATH is set and the executable is reachable (that why it work when rou restart rpimonitord).
When you start your computer, the $PATH variable is not set so 'gettemp.sh' will not work. The solution is to use the full path command '/usr/bin/gettemp.sh' 


I just update my distribution and RPi-Monitor is still saying that packages required to be updated. Why?

Every night at 3h10, a script is executed to update the package update information displayed in RPi-Monitor. If you want to update this information immediately, you can execute this script manually:  /usr/share/rpimonitor/scripts/updatePackagesStatus.pl

I required better resolutions of the reading provided by the RPI monitor. Can we increase the frequency with which the RPI monitor collects the data?

Yes, since version 2.11, it is possible to define the RRD structure per data extracted. Refer to documentation and man page to know how use this advanced feature.

30 comments :

  1. Hi,
    I would like to monitor a cluster of raspberries with your tool.
    Is there a way to gather the whole data in one node?

    ReplyDelete
    Replies
    1. Very interresting question. I did add it in the FAQ and gives my official answer.
      Configuration file in version 2.7 is quite complex. Configuation in version 2.8 will be much more easier. I would then advise to have a look into the devel branch in github (RPi-Monitor-deb). I just pushed a beta version of the future release (in .deb format). A look to the documentation should guide you in your configuration. Your feedback are welcome.

      Delete
    2. Hi, thanks for answering.

      I guess that it would be enough to have expressive .json data, from statistics.json and status.json, since for now I can only see method calls to objects, like:

      "line":["'Processor: ' + data.processor + ''","'Distribution: '+ data.distribution + ''","'Kernel version: ' + data.kernel_version + ''","'Firmware: ' + data.firmware + ''","'Package(s) to be: ' + data.upgrade + '' + ShowInfo('packages','Package update',data.packages)"]}

      Delete
    3. I don't understand what you have or would like to have... Such a comment would be better in github. You can open an "issue" describing your idea/feeling/feedback. We will be able to discuss about this "issue".

      Delete
    4. I have downloaded rpimonitor from the pi store but when ilaunch it it says http/rpi address:8888/ I enter this in with my up address in chrome and nothing happens I have Also tried / status.html

      Delete
    5. RPi-Monitor in PiStore is not the latest one. It was publish through this site before I created the repository in github. Now, it is easier/faster/safer to use the github repository.

      Delete
  2. Hello,
    i tryed to add a new statistics and status page but failed.
    i added the include to data.conf

    [code]include=/etc/rpimonitor/template/dht22_1.conf[/code]

    and wrote the following configuration file

    [code]
    web.status.2.name=TerraControl
    web.statistics.2.name=TerraControl
    web.status.2.content.2.line.1="Hello World"

    dynamic.1.name=dht22_hum
    dynamic.1.source=python3 /home/pi/arduino/TerrariumRequest/arduinoRequestScript.$
    dynamic.1.regexp=removed B-Code error
    dynamic.1.postprocess=$1
    dynamic.1.rrd=GAUGE

    dynamic.2.name=dht22_temp
    dynamic.2.source=python3 /home/pi/arduino/TerrariumRequest/arduinoRequestScript.$
    dynamic.2.regexp=removed B-Code error
    dynamic.2.postprocess=$1
    dynamic.2.rrd=GAUGE


    # Add a line of status in page number 2
    web.status.2.content.2.line.2="Hello World"
    web.status.2.content.3.name=Temperature
    web.status.2.content.3.icon=cpu_temp.png
    web.status.2.content.3.line.1='DHT22 Temperature: ' + data.dht22_temp + '&deg$
    web.status.2.content.3.line.2="DHT22 Humidity: "+data.dht22_hum+"%"

    # Add a statistic graph (with 2 curves suing separate scales) in page number 2
    web.statistics.2.content.1.name=Temperature
    web.statistics.2.content.1.graph.1=dht22_temp
    web.statistics.2.content.1.graph.2=dht22_hum
    web.statistics.2.content.1.ds_graph_options.dht22_temp.label=DHT22 temp. (deg C)
    web.statistics.2.content.1.ds_graph_options.dht22_hum.label=DHT22 humidity (%)
    web.statistics.2.content.1.ds_graph_options.dht22_hum.yaxis=2
    #web.statistics.2.content.1.graph_options.legend= { position: "sw"}
    web.statistics.2.content.1.graph_options.y2axis={ position: "right", min: 0, max$
    [/code]

    i copied it from dht11.conf example and changed the values etc.
    Now i am able to select the second page in both statistics and status but at the status page the line temperature is not visible and under statistics it only tries to load.

    When i add the new page to data.conf and put the "Hello World" line in it it appears.
    What am i doing wrong? were do i have to put the update in?

    Best regards and thanks for help

    ReplyDelete
    Replies
    1. This is a bug :-(
      Multiple page is not working since I introduce the include feature. I'm planning a hotfix soon. You can follow the progress of the resolution of this bug in issue #63 on github.

      Delete
    2. Version 2.9.1 has been published and the problem is now fixed.

      Delete
    3. thanks for the fast fix! now everything works perfektly!

      Delete
  3. Hi,

    When I change "daemon.delay=10" to "daemon.delay=60" the default graph selection is 6 days and I can't change to 1 day. I tried revising the code or add a parameter kind web.statistics.1.content.8.graph_options.xaxis={ position: "bottom", min: 00:00, max: 23:00 } but the graph no change. How can I fix this issue?
    Best regards

    ReplyDelete
    Replies
    1. Round Robin Database is not something that can be changed on the fly.
      The RRD definition are directly defined inside the 'rpimonitord'.
      Changing these values will require to destroy the existing data.
      If you know how to define RRD database (it is not trivial), you can look for the definition inside the code, update to your needs, delete existing RRD and restart 'rpimonitord'. The new RRD will automatically be created at startup.

      Delete
    2. Hi Xavier,

      I changed this parameters and reset RRD but the graph is the same:

      /usr/share/rpimonitor/web/js/rpimonitor.status.js
      refreshTimerId = setInterval( UpdateStatus , 10000 )

      /usr/share/rpimonitor/web/js/rpimonitor.js
      refreshTimerId = setInterval( UpdateStatus , 10000 )

      10000 -> 60000

      Must I modify this javascripts? or Where is the code? Thank you

      Best regards.

      Delete
    3. Changing javascript will not change anything. You have to update RRD in perl script in this file: https://github.com/XavierBerger/RPi-Monitor/blob/master/rpimonitor/rpimonitord line 226 in the function CreateRRD.

      Delete
  4. Hi

    I'd like to add a "flat file" data source to RPi Monitor which causes some trouble. RPi Monitor can not read it because file permission is -rwxrwxrwx (set by the system on boot up). As soon as I remove the execute (x) permission from the file with "chmod ugo-x [filename]" (-rw-rw-rw-), it gets readable to RPI Monitor.

    I think it is not a good solution to remove manually the x permission after every computer restart.

    OS: Ubuntu 14.04 LTS, Computer: Odroid-U3

    Do you have an idea how to set up RPi Monitor to read the file with execute permission?

    Best wishes,
    Alex

    ReplyDelete
    Replies
    1. To force RPi-Monitor to read the content of the file, you can use the command 'cat' in the source like:
      dynamic.1.source=cat /path/to/my/file

      Delete
    2. Yeah, this works! Thank you! :-)

      Delete
  5. I'm monitoring temperature and humidity data from my DHT22/AM2302 sensors. Sometimes the Adafruit call takes up to 2 seconds and sometimes it returns no valid data.

    I made a python script that gets the data and returns the last result, if no valid data is returned. That delivers the data every time it is executed from the commandline even if the call takes 2 or more seconds.

    I still get "undefined" when running the script from data.conf from time to time and I am convinced this is due to some timeout in RPI-Monitor.

    Is it possible to set a longer timeout in RPI-Monitor?

    ReplyDelete
    Replies
    1. Changing the timeout may have undefined impact on all the data exrtacted by RPi-Monitor. So you should better work on your script to improve its reliability.
      Anyway, to answer to your question, timeout is configurable in /etc/rpimonitor/deamon.conf

      Delete
  6. I want to import some old datat uptime.rrd from an old version to the newest RPi-Monitor installation. Is this possible?

    ReplyDelete
    Replies
    1. I think that copying you rrd file just before starting your new version of RPi-Monitor should do the job. If not, you will have to dive into RRDTool commands...

      Delete
  7. Hello, great work with rpimonitor. How can i access the webinterface remotely with NOIP dns? Thanx in advanced

    ReplyDelete
  8. Hello Xavier,

    I like your application, it's running well on my different Raspberrys. But I'm missing one thing: The possibility to change the visibility of single lines in the "Status View". I can fade out a content-group, but I'm not able to do this for a line.

    Example: (this is working fine for the group)
    web.status.4.content.1.name=Visibility
    web.status.4.content.1.icon=version.png
    web.status.4.content.1.visibility=data.visibility
    web.status.4.content.1.line.1='Visibility: Control row visibility'


    Example: (this is not working for the line)
    web.status.4.content.2.name=Visibility2
    web.status.4.content.2.icon=version.png
    web.status.4.content.2.line.1.visibility=data.visibility
    web.status.4.content.2.line.1='Visibility: Diese Zeile verschwindet'

    Is there an other way the achieve this gaol?

    Best regards
    Thomas

    ReplyDelete
  9. Hello Xavier,

    I like your application, it's running well on my different Raspberrys. But I'm missing one thing: The possibility to change the visibility of single lines in the "Status View". I can fade out a content-group, but I'm not able to do this for a line.

    Example: (this is working fine for the group)
    web.status.4.content.1.name=Visibility
    web.status.4.content.1.icon=version.png
    web.status.4.content.1.visibility=data.visibility
    web.status.4.content.1.line.1='Visibility: Control row visibility'


    Example: (this is not working for the line)
    web.status.4.content.2.name=Visibility2
    web.status.4.content.2.icon=version.png
    web.status.4.content.2.line.1.visibility=data.visibility
    web.status.4.content.2.line.1='Visibility: Diese Zeile verschwindet'

    Is there an other way the achieve this gaol?

    Best regards
    Thomas

    ReplyDelete
    Replies
    1. I did add an issue on github to keep this idea in mind. I don't have too much time to work on RPi-Monitor. I'll see how to integrate this new feature when I'll have more free time...
      Thanks for the feedback.

      Delete
  10. Hi Xavier,
    I'm currently using RPi-Monitor on a web-facing Pi, however, I am unable to access it over port 888 from outside my network although the rest of my site is visible. I have tried opening port 888 in the router to no avail.

    I really like RPi-Monitor and think you've done a great job and would be really pleased if you could help me with this.

    Cheers,
    Jack

    ReplyDelete
  11. Hi.

    Trying to install, when it comes to the 'sudo apt-get update' line, I get the return;

    E: Type '--2016-01-09 is not known on line 1 in source list /etc/apt/sources.list.d/rpimonitor.list
    E: The list of sources could not be read

    I'm a total newbie when it comes to Pi's etc, so help on this would be appreciated, cheers.

    ReplyDelete
  12. Hi Xavier,

    it's possible to change the time to run script updatePackagesStatus.pl from 3h10 to another?


    Thanks and best regards
    André

    ReplyDelete
  13. Q: How can I have a clean curve?
    A: Use a temporary file for the first write because the first write is slow.

    Cron example:

    */1 * * * * sudo AdafruitDHT.py 22 7 >/var/log/dht22_temp.log
    */1 * * * * sleep 20;sudo cat "/var/log/dht22_temp.log" >/var/log/dht22.log

    ReplyDelete