System Monitoring

This is really strange your running the same setup as me.
Must not have exactly the same packages installed.

Try replacing the local_trailing_rate_graph() with this code. This is a version of local_rate_graph_24ma() posted previously in this thread. The only problem with this code is when using older versions of rrdtool when there is no data available to calculate averages the yellow area disappears for that portion of time.


local_trailing_rate_graph() {  
  rrdtool graph \  
  "$1" \  
  --start end-$4 \  
  --width 1110 \  
  --height 200 \  
  --step "$5" \  
  --title "$3 Message Rate (Trailing)" \  
  --vertical-label "messages/second" \  
  --lower-limit 0  \  
  --units-exponent 0 \  
  --right-axis 360:0 \  
  --slope-mode \  
  "DEF:messages=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE" \  
  "DEF:a=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-86400:start=end-86400" \  
  "DEF:b=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-172800:start=end-86400" \  
  "DEF:c=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-259200:start=end-86400" \  
  "DEF:d=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-345600:start=end-86400" \  
  "DEF:e=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-432000:start=end-86400" \  
  "DEF:f=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-518400:start=end-86400" \  
  "DEF:g=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-604800:start=end-86400" \  
  "DEF:amin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-86400:start=end-86400" \  
  "DEF:bmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-172800:start=end-86400" \  
  "DEF:cmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-259200:start=end-86400" \  
  "DEF:dmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-345600:start=end-86400" \  
  "DEF:emin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-432000:start=end-86400" \  
  "DEF:fmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-518400:start=end-86400" \  
  "DEF:gmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-604800:start=end-86400" \  
  "DEF:amax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-86400:start=end-86400" \  
  "DEF:bmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-172800:start=end-86400" \  
  "DEF:cmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-259200:start=end-86400" \  
  "DEF:dmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-345600:start=end-86400" \  
  "DEF:emax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-432000:start=end-86400" \  
  "DEF:fmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-518400:start=end-86400" \  
  "DEF:gmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-604800:start=end-86400" \  
  "DEF:strong=$2/dump1090_messages-strong_signals.rrd:value:AVERAGE" \  
  "DEF:positions=$2/dump1090_messages-positions.rrd:value:AVERAGE" \  
  "CDEF:y2strong=strong,10,*" \  
  "CDEF:y2positions=positions,10,*" \  
  "SHIFT:a:86400" \  
  "SHIFT:b:172800" \  
  "SHIFT:c:259200" \  
  "SHIFT:d:345600" \  
  "SHIFT:e:432000" \  
  "SHIFT:f:518400" \  
  "SHIFT:g:604800" \  
  "SHIFT:amin:86400" \  
  "SHIFT:bmin:172800" \  
  "SHIFT:cmin:259200" \  
  "SHIFT:dmin:345600" \  
  "SHIFT:emin:432000" \  
  "SHIFT:fmin:518400" \  
  "SHIFT:amax:86400" \  
  "SHIFT:bmax:172800" \  
  "SHIFT:cmax:259200" \  
  "SHIFT:dmax:345600" \  
  "SHIFT:emax:432000" \  
  "SHIFT:fmax:518400" \  
  "SHIFT:gmax:604800" \  
  "CDEF:7dayaverage=a,b,c,d,e,f,g,+,+,+,+,+,+,7,/" \  
  "CDEF:min1=amin,bmin,MIN" \  
  "CDEF:min2=cmin,dmin,MIN" \  
  "CDEF:min3=emin,fmin,MIN" \  
  "CDEF:min4=min1,min2,MIN" \  
  "CDEF:min5=min3,gmin,MIN" \  
  "CDEF:min=min4,min5,MIN" \  
  "CDEF:max1=amax,bmax,MAX" \  
  "CDEF:max2=cmax,dmax,MAX" \  
  "CDEF:max3=emax,fmax,MAX" \  
  "CDEF:max4=max1,max2,MAX" \  
  "CDEF:max5=max3,gmax,MAX" \  
  "CDEF:max=max4,max5,MAX" \  
  "CDEF:maxarea=max,min,-" \  
  "LINE1:min#FFFF99:mins" \  
  "AREA:maxarea#FFFF99:max:STACK" \  
  "LINE1:7dayaverage#00FF00:7 day average" \  
  "AREA:y2strong#FF0000:messages >-3dBFS / hr (RHS)" \  
  "LINE1:y2positions#00c0FF:positions / hr (RHS)" \  
  "LINE1:messages#0000FF:messages received" \  
  --watermark "Drawn: $nowlit";  
}

[quote=“jprochazka”]

Tried this. But got a lot of errors with it.

If you were running a previous “version” of dump1090-tools or the make graphs script try deleting or better yet back them up first then delete your existing rrd databases and run the script again. Not sure taking a stab in the dark here but curious as to if it may be the way the data is formatted in the database which is causing this issue.

I did a fresh install of Jesse, then did your steps of the installs. Press 1 for Dump1090-Mut, 1 for to feed FA, and 1 to install graphs.

When I am in the dir of

adsb-feeder/build/collectd

and run the following command. It shows this.

sudo ./make-collectd-graphs.sh 24h

2160 (process ID) old priority 0, new priority 5
577x298
577x284
577x284
1207x284
561x284
577x312
577x312
561x284
577x270
577x312
628x284
ERROR: invalid rpn expression in: amax,UN,0,amax,IF
629x284
577x284

Let me go through the scripts again see what’s up. Give me a few to get an image running and run through them again make sure something is not running awry. Will report back here shortly.

Ok. Thanks for the help.

Bad copy paste from an SSH session…
I fixed the file make-collectd-graphs.sh in the repository.

the function local_trailing_rate_graph() should look like this:


local_trailing_rate_graph() {
  rrdtool graph \
  "$1" \
  --start end-$4 \
  --width 1010 \
  --height 217 \
  --step "$5" \
  --title "$3 Message Rate" \
  --vertical-label "Messages/Second" \
  --lower-limit 0  \
  --units-exponent 0 \
  --right-axis 360:0 \
  --slope-mode \
  "TEXTALIGN:center" \
  "DEF:messages=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE" \
  "DEF:a=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-86400:start=end-86400" \
  "DEF:b=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-172800:start=end-86400" \
  "DEF:c=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-259200:start=end-86400" \
  "DEF:d=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-345600:start=end-86400" \
  "DEF:e=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-432000:start=end-86400" \
  "DEF:f=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-518400:start=end-86400" \
  "DEF:g=$2/dump1090_messages-local_accepted.rrd:value:AVERAGE:end=now-604800:start=end-86400" \
  "DEF:amin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-86400:start=end-86400" \
  "DEF:bmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-172800:start=end-86400" \
  "DEF:cmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-259200:start=end-86400" \
  "DEF:dmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-345600:start=end-86400" \
  "DEF:emin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-432000:start=end-86400" \
  "DEF:fmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-518400:start=end-86400" \
  "DEF:gmin=$2/dump1090_messages-local_accepted.rrd:value:MIN:end=now-604800:start=end-86400" \
  "DEF:amax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-86400:start=end-86400" \
  "DEF:bmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-172800:start=end-86400" \
  "DEF:cmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-259200:start=end-86400" \
  "DEF:dmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-345600:start=end-86400" \
  "DEF:emax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-432000:start=end-86400" \
  "DEF:fmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-518400:start=end-86400" \
  "DEF:gmax=$2/dump1090_messages-local_accepted.rrd:value:MAX:end=now-604800:start=end-86400" \
  "CDEF:a1=a,UN,0,a,IF" \
  "CDEF:b1=b,UN,0,b,IF" \
  "CDEF:c1=c,UN,0,c,IF" \
  "CDEF:d1=d,UN,0,d,IF" \
  "CDEF:e1=e,UN,0,e,IF" \
  "CDEF:f1=f,UN,0,f,IF" \
  "CDEF:g1=g,UN,0,g,IF" \
  "CDEF:amin1=amin,UN,1000,amin,IF" \
  "CDEF:bmin1=bmin,UN,1000,bmin,IF" \
  "CDEF:cmin1=cmin,UN,1000,cmin,IF" \
  "CDEF:dmin1=dmin,UN,1000,dmin,IF" \
  "CDEF:emin1=emin,UN,1000,emin,IF" \
  "CDEF:fmin1=fmin,UN,1000,fmin,IF" \
  "CDEF:gmin1=gmin,UN,1000,gmin,IF" \
  "CDEF:amax1=amax,UN,0,amax,IF" \
  "CDEF:bmax1=bmax,UN,0,bmax,IF" \
  "CDEF:cmax1=cmax,UN,0,cmax,IF" \
  "CDEF:dmax1=dmax,UN,0,dmax,IF" \
  "CDEF:emax1=emax,UN,0,emax,IF" \
  "CDEF:fmax1=fmax,UN,0,fmax,IF" \
  "CDEF:gmax1=gmax,UN,0,gmax,IF" \
  "DEF:strong=$2/dump1090_messages-strong_signals.rrd:value:AVERAGE" \
  "DEF:positions=$2/dump1090_messages-positions.rrd:value:AVERAGE" \
  "CDEF:y2strong=strong,10,*" \
  "CDEF:y2positions=positions,10,*" \
  "SHIFT:a1:86400" \
  "SHIFT:b1:172800" \
  "SHIFT:c1:259200" \
  "SHIFT:d1:345600" \
  "SHIFT:e1:432000" \
  "SHIFT:f1:518400" \
  "SHIFT:g1:604800" \
  "SHIFT:amin1:86400" \
  "SHIFT:bmin1:172800" \
  "SHIFT:cmin1:259200" \
  "SHIFT:dmin1:345600" \
  "SHIFT:emin1:432000" \
  "SHIFT:fmin1:518400" \
  "SHIFT:gmin1:604800" \
  "SHIFT:amax1:86400" \
  "SHIFT:bmax1:172800" \
  "SHIFT:cmax1:259200" \
  "SHIFT:dmax1:345600" \
  "SHIFT:emax1:432000" \
  "SHIFT:fmax1:518400" \
  "SHIFT:gmax1:604800" \
  "CDEF:7dayaverage=a1,b1,c1,d1,e1,f1,g1,+,+,+,+,+,+,7,/" \
  "CDEF:min1=amin1,bmin1,MIN" \
  "CDEF:min2=cmin1,dmin1,MIN" \
  "CDEF:min3=emin1,fmin1,MIN" \
  "CDEF:min4=min1,min2,MIN" \
  "CDEF:min5=min3,gmin1,MIN" \
  "CDEF:min=min4,min5,MIN" \
  "CDEF:max1=amax1,bmax1,MAX" \
  "CDEF:max2=cmax1,dmax1,MAX" \
  "CDEF:max3=emax1,fmax1,MAX" \
  "CDEF:max4=max1,max2,MAX" \
  "CDEF:max5=max3,gmax1,MAX" \
  "CDEF:max=max4,max5,MAX" \
  "CDEF:maxarea=max,min,-" \
  "LINE1:min#FFFF99:mins" \
  "AREA:maxarea#FFFF99:max:STACK" \
  "LINE1:7dayaverage#00FF00:7 Day Average" \
  "AREA:y2strong#FF0000:messages >-3dBFS/Hr (RHS)" \
  "LINE1:y2positions#00c0FF:Positions/Hr (RHS)" \
  "LINE1:messages#0000FF:Messages Received" \
  --watermark "Drawn: $nowlit";
}

Sorry about that…
Thanks for pointing out the oversight sjacket99.

Thats fixed the issue. Awesome work. Thanks for the help. :smiley:

I’ll have no hair left at this rate: :confused:

I seem to have tried everything and still haven’t made the grade.

I’m running Jessie on a Pi B+. I’ve installed mutability and it runs fine. I have followed the install route on the plane finder site, but I cannot get anything to display on Chrome. I either get a 404 error or the collectd placeholder.

I believe I’ve read everything about changing /var/www/html to /var/www etc. The .png,s are in the folders. The only course I have now is to uninstall and start again. As I’ve done this once already I think it’s time for me to clarify things, as it’s obviously some thing I’ve done wrong. 192.168.2.15:8080 does bring up the mutability map and port checking shows only port 80 which of course displays the placeholder.

Could some kind soul please tell me what is the correct order to install all the required parts, and importantly, which are the latest versions.

Kind regards

Phill

The collectd graphs are not in the root folder. With your IP the collectd files should be at: 192.168.2.15/collectd/index.html

To fix the 404 issue. cd /etc/lighttpd
Then sudo nano lighttpd.conf

Make it this line look like this.
server.document-root= “/var/www/html”

Then restart lighttpd

If you want you can try my installation scripts. This is a new project created mainly for my personal use but figured I would share it with anyone interested hence the reason it is now on GitHub. There are issues with some Debian flavored distributions and releases but Raspbian Jessie installations have been tested and should work. However using this to set up your feeder will require a fresh Raspbian Jessie image to be used.

github.com/jprochazka/adsb-feeder

This will install the latest stable versions of everything selected.
Be sure to follow the on screen instructions and keep an eye out for errors if any are encountered.

Generally the only errors I have ran into occurred when downloading packages from the official repository would time out. Executing the script from the start again usually fixes this.
I really should put checks in place to make sure packages installed before moving on…

To utilize the performance graphs you will need to select dump1090-mutability.
You will need to manually add your latitude and longitude to the file /etc/default/dump1090-mutability in order to view the max range graphs.
The network traffic graph by default is for wlan0. If you are using the Ethernet port you will need to make a few changes covered earlier in this post.
I just noticed the other day dump1090-mutability is not starting up when the script issues the start command and I have not had a chance to look at this due to the holiday so simply reboot your RPi after completing the installation or manually start dump1090 using the proper command.

If you have any issues let me know.

I want rrd/collectd to draw a graph of maximum & minimum signal strength (dB µV) received at input of DVB-T dongle. This is something like maximum range curve, but here minimum and maximum signal strength curves are required…
(1) Is it possible?
(2) If yes, how?
(3) If no, then is there any other way to measure & plot the strength of signal?

I need this graph to compare performance of different antenna designs/builds by plotting their output (input to dvb-t = output of antenna, if a very short cable is used).

Thanks for any help. I am sure help will be quick & excellent, as this forum has large number of very capable members.

I am having similar problem with Jessie. What I noticed that the .png names have localhost in them as the make graph script expecting rrds in the localhost folder, yet some rrds are going into “host name” folder. I have not sorted this out yet as I am away at the moment, but one of my initial mistake was that I did not restarted collectd after applying changes to the config file (as well as what config file have to be changed). Take a very close look on where the rrds are and if the location of the rrds match the png file names and adjust the make graphs script accordingly. The html file may need similar adjustments.

This would not be a Jessie problem it is more than likely your collectd.conf file.

Check your collectd.conf:

Make sure the setting Hostname is the proper hostname.
Under the dump1090 module section instance is set to the proper hostname.

If you want the rrd files to be stored in the localhost folder change it to “localhost”.
If you want the rrd files stored in a folder corresponding to the hostname change these lines to the hostname of the computer.

These should be the same name also make sure the hostnames match the hostname part of the .png file names your linking to.

Be sure to also check your graph generating script to make sure the hostname variable if present and the paths go to the proper hostname folder as well. You may also need to edit your HTML file to reflect the proper .png names as well.

Well that was painless!! 8)

To fix the 404 issue. cd /etc/lighttpd
Then sudo nano lighttpd.conf

Make it this line look like this.
server.document-root= “/var/www/html”

Then restart lighttpd

I’ve done this twice before but this time it worked.

Graphs come up on 192.168.2.15/collectd

Many thanks to all for the help. :bulb:

Kind regards

Phill

Oh dear! I broke it.

Sooo, a few beers tonight whilst my old Wheezy SD card runs Piaware and then I’ll start anew tomorrow running the script.

Many thanks, jprochazka, I appreciate the help, I’ll let you know how it goes.

Kind regards

Phill

Sorry jprochazka, I wasn’t able to get it to work.

During the install I saw no error messages, and all the “fetches” seemed to process OK to 100%.

The graphs were drawn (apart from bandwidth) and displayed, although there was only a small amount of data, as expected. Clicking on the map tab brought up the map, but with no traffic and an ajax error message stating that perhaps dump1090 was not running.

Flightaware stats were not updating.

Log was stuck about 2 hours in arrears.

[2015-12-03 13:10 CET] mlat(2453): Lost connection to localhost:30005
[2015-12-03 13:10 CET] mlat(2453): Reconnecting in 30.0 seconds
[2015-12-03 13:10 CET] mlat(2453): Beast-format results connection with localhost:30104: connection lost
[2015-12-03 13:10 CET] lost connection to dump1090 via faup1090

Rebooted pi, no effect.

Restarted pi and manually started dump1090, no effect.

Shutdown and replaced with card carrying original dump1090, whilst I think about it.

Kind regards

Phill

Found the answer!


How To:



pi@raspberrypi ~ $ sudo nano dump-tools/collectd/make-graphs.sh


Press: Ctrl+w to search
type: common_graphs
Press Enter: the cursor will jump to

common_graphs() {
aircraft_graph /var/www/collectd/dump1090-$2-acs-$4.png /var/lib/collectd/rrd/$1/dump1090-$2 “$3” “$4” “$5”
cpu_graph /var/www/collectd/dump1090-$2-cpu-$4.png /var/lib/collectd/rrd/$1/dump1090-$2 “$3” “$4” “$5”
tracks_graph /var/www/collectd/dump1090-$2-tracks-$4.png /var/lib/collectd/rrd/$1/dump1090-$2 “$3” “$4” “$5”
metric_temp_graph /var/www/collectd/table-$2-core_temp-$4.png /var/lib/collectd/rrd/$1/table-$2 “$3” “$4” “$5”
#imperial_temp_graph /var/www/collectd/table-$2-core_temp-$4.png /var/lib/collectd/rrd/$1/table-$2 “$3” “$4” “$5”
metric_range_graph /var/www/collectd/dump1090-$2-range-$4.png /var/lib/collectd/rrd/$1/dump1090-$2 “$3” “$4” “$5”
#imperial_range_graph /var/www/collectd/dump1090-$2-range-$4.png /var/lib/collectd/rrd/$1/dump1090-$2 “$3” “$4” “$5”
}

add the line below to common_graphs() function

signal_graph /var/www/collectd/dump1090-$2-signal-$4.png /var/lib/collectd/rrd/$1/dump1090-$2 “$3” “$4” “$5”

Save (Ctrl+o) and Exit (Ctrl+x)

Now edit file /var/www/collectd/index.html



pi@raspberrypi ~ $ sudo nano /var/www/collectd/index.html


Press: Ctrl+w
Type: switchView
Press: Enter
The cursor will jump to:

function switchView(time_name){
$(“#rate”).attr(“src”, base_name + “-rate-” + time_name + “.png”);
$(“#acs”).attr(“src”, base_name + “-acs-” + time_name + “.png”);
$(“#cpu”).attr(“src”, base_name + “-cpu-” + time_name + “.png”);
$(“#tracks”).attr(“src”, base_name + “-tracks-” + time_name + “.png”);
$(“#range”).attr(“src”, base_name + “-range-” + time_name + “.png”);
$(“#ctemp”).attr(“src”, “table-rpi-core_temp-” + time_name + “.png”);
}

Add following line to the function switchView()

  • $(“#signal”).attr(“src”, base_name + “-signal-” + time_name + “.png”);*

Press: Ctrl+w
Type: img id=
Press: Enter
The cursor will jump to:

  •    <div style="width: 2390px; height: 273px;">
              <img id="rate" width="628" height="273" src="dump1090-rpi-rate-24h.png">
              <img id="acs" width="577" height="273" src="dump1090-rpi-acs-24h.png">
      </div>*
    

Add following html code just before the above html code: (See EDIT below)

  •    <div style="width: 2390px; height: 273px;">
              <img id="signal" width="628" height="273" src="dump1090-rpi-signal-24h.png" >
      </div>*
    

Save (Ctrl+o) and Exit (Ctrl+x)

Now go to page http:// /collected. A blank signals graph space will be displayed. click 3 hrs ] or day ] at top-left, and you will see the signal dBFS graph. I have yet to find out why the dBFS graph is not displayed initially, and only when 3 hrs], [day], [week] links are pressed.

EDIT: As advised by @crkbday (see his post below), I have now added the missing quote (") immediately after .png, and added the missing closing angle bracket (>) at the end of img tag of the new inserted code. The graph now appears when the page is loaded.

I’ve had this graph since I started logging data, and unfortunately it’s not very useful for comparing antenna efficiency except in the crudest terms. The problem is that you aren’t receiving a single transmitter, but many different ones all in separate locations with different signal strengths. You really need a way to display the average signal strength at a particular location so you can see the actual effect of antenna changes.