Tuesday, March 5, 2013

Raspberry Pi Performance to Pachube version 2.0 [UPDATED]

What's this?

rpi2pachube is a set of scripts written in Bash that gather and push performance data from your Raspberry Pi to Pachube.

My own feed

Requirements


  1. Raspberry Pi connected to the Internet.
  2. Debian-flavor "ifstat command". Run "ifstat -v"; You should have version 1.1.
  3. realpath command for setup.sh. Run "realpath --version" to see if you have it installed. Use apt-get or pacman to install it depending on which linux distro you are using.
Arch Linux users: You WILL have to download the source code for ifstat and compile it yourself if you want to monitor a network interface with this script. Arch Linux's ifstat command output format is significantly different from Debian's ifstat. You will otherwise have to modify rpi2pachube to work with whatever flavor of ifstat Arch Linux uses if you do not wish to do this.

How does it work?

rpi2pachube gathers performance data from your Raspberry Pi (temperature, load, network throughput, etc.) at 5 minute intervals and pushes this data to Pachube. From Pachube, you can watch how your Pi is doing from basically anywhere in the world.

What's new in version 2.0?

  • Temperature can now be pushed to Pachube in Fahrenheit.
  • Enable/disable monitoring of any performance value.
  • Monitor multiple network interfaces.

Where can I get it?

Remove any files from any previous versions before installing version 2.0.

There's two ways to get rpi2pachube v2.0.
  1. Cloning the Github repository and switching to tag v2.0
    git clone https://github.com/Cameri/iot_push.git
    git checkout v2.0
  2. Download v2.0 from Github using wget:
    wget https://github.com/Cameri/iot_push/archive/v2.0.tar.gz
    tar xzf v2.0.tar.gz
If you'd like to run the development version of rpi2pachube, simply clone the Github repository without running the command "git checkout v2.0".
After that, run the configuration utility:
cd rpi2pachube*
./setup.sh

Now rpi2pachube.sh will be executed every 5 minutes in the background. Take a look at my feed, populated with performance data from my own Raspberry Pi.

Found a bug or have an idea?

If you have found a bug or you have an idea to enhance rpi2pachube, please open a new issue on the Github repository.

6 comments:

  1. Works superbly. Very nice work.
    The sript however requires realpath that wasn't installed yet on my raspberry.

    ReplyDelete
  2. Perhaps I should list the requirements on this page instead of linking to the first post about rpi2pachube.

    ReplyDelete
  3. I got it working but there's a few things.

    eth0 does not show anything either up or down, it says "Not populated with datapoints yet".

    Temperature says "VCHI,initialization,failed".

    I also don't get the uptime that your stream has.
    Suggestions as how to fix these issues?

    Other than that, good work. I've been looking for something like this.

    ReplyDelete
  4. Jasper, can you please create new issues at the github repository for these bugs you are experiencing? I'd like to know which OS you are using and any information that could be relevant to find the root cause.

    ReplyDelete
  5. As for the temperature, that error is thrown by the VC:

    "If it prints "VCHI initialization failed", you have the a mismatch between the firmware, the VC libraries, and the kernel driver." (Taken from RPi Kernel compilation page @ http://elinux.org/RPi_Kernel_Compilation).

    ReplyDelete
  6. I solved the problem with the VCHI initialization on temperature. It needs root priviledges, I went into the script-file and put sudo infront of the line that runs the temperature command.

    Haven't found anything on the network problem though.

    I might want to run the scripts as root (i.e. setting cron to run the script as root). Could solve the network thing aswell...?

    I've made an issue report on github for you aswell.

    ReplyDelete