KEY INFORMATION:
Watch out for setting your global ping timeout too low and getting silly results for high latency hosts.
In the future, an option to override global ping timeout on a per host basis would be very useful.
#------
I just got the Advanced Ping script basically working.
I am set up to run the poller as root ( on Linux ) so that I can do ICMP pings.
The one particular host I am trying to ping has both high latency and jitter. It is on the far end of an oversubscribed satellite link.
Another user reported a similar problem in post
http://forums.cacti.net/viewtopic.php?p ... ght=#51310 back on December 15th.
From the script server command line I get a result:
/var/www/cacti/scripts/ss_fping.php ss_fping 66.178.17.166 20 ICMP
min:0.2900 avg:194.4835 max:370.4100 dev:134.6791 loss:15.0000
From the shell command line I get:
ping 66.178.17.166
PING 66.178.17.166 (66.178.17.166) 56(84) bytes of data.
--- 66.178.17.166 ping statistics ---
21 packets transmitted, 21 received, 0% packet loss, time 20014ms
rtt min/avg/max/mdev = 563.522/689.862/2127.833/352.732 ms, pipe 4
I found that the script was completely accurate for another host with a latency of around 60ms.
Rooting around in the ./lib/ping.php code ( for the Net Ping class - please note that I know perl not php ) I found references to a ping timeout value:
$ping_timeout = read_config_option("ping_timeout");
I then noticed under Settings->Poller in the web interface that the timeout could be adjusted ( I actually changed the ping type from UDP to ICMP and set the timeout to a rather high 2000 ( which I later dropped to 1000 - more than 1000 may as well be considered a dropped packet ).
SEE BELOW FOR SCREENSHOT OF LOCATION IN WEB INTERFACE.
Hope this helps someone.