<div dir="ltr">Whoops, forgot to CC this to the list.  I hate it when that happens.  So in case it helps someone else, my off-list email is below.<div><br></div><div>And just for the record, I still reckon Smokeping is the go.  I see no reason why it wouldn't detect a lot of transient errors, more likely if you adjust the parameters for step and ping count.  There's no way of guaranteeing that you would see a transient error, unless you happen to be sending every packet received by the device you're testing!  Instead you should be monitoring the error rates on the switch port and the device NIC, probably using SNMP.</div>

<br><div class="gmail_quote">====<br><br>Adam<div class=""><br><br>On Thursday, 5 June 2014, Adam Goryachev <<a href="mailto:mailinglists@websitemanagers.com.au" target="_blank">mailinglists@websitemanagers.com.au</a>> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Specifically, I now want to record at least the following data into RRD's for later viewing:<br>


1) Maximum ping time per minute<br>
2) Average ping time per minute<br>
3) Minimum ping time per minute<br>
4) Packet loss per minute</blockquote><div><br></div></div><div>Seems to me that this is exactly what Smokeping can provide for you.  Have a look at the demo site, drill down to a single device, and have a look at the graphs.  eg: <a href="http://oss.oetiker.ch/smokeping-demo/?target=Customers.OP.octopus" target="_blank">http://oss.oetiker.ch/smokeping-demo/?target=Customers.OP.octopus</a></div>

<div class="">
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">One thing that does happen is obviously drift, ie, the processing time of my script will take a fraction of a second, so I won't really get a value for every single second</blockquote>


<div><br></div></div><div>One way to overcome this is to run the probe in background, so that it doesn't really matter how long it takes (as long as you're not accumulating processes over time). Like this:</div><div>

<br>
</div><div>#!/bin/sh</div><div>doping() {</div><div>  ...</div><div>}</div><div>while true; do<br></div><div>  SECONDS=`date +%s` # in case not bash</div><div>  sleep `expr 60 - $SECONDS % 60`<br></div><div>  doping >> /var/log/pingmon.log &</div>


<div>done<br></div><div><br></div><div>This runs the subroutine do_ping in the background, but first waits how ever long it needs until the clock ticks over for the next minute.  You would always have the subroutine run at the start of the minute.</div>


<div><br></div><div>Cheers</div><span class=""><font color="#888888"><div>Jeremy</div><div><br></div>
</font></span></div><br></div>