summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/rrd.inc
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-12-11 12:59:40 -0200
committerRenato Botelho <renato@netgate.com>2015-12-11 12:59:40 -0200
commitc53acd0f6ab02cfc006ce9eb9854fb4d4b352b85 (patch)
tree11adc29148b2ed299c53e5db36be717fdc2c3bd2 /src/etc/inc/rrd.inc
parentafb6ae0c7a94c8e40703f680d9609b08a9f89893 (diff)
downloadpfsense-c53acd0f6ab02cfc006ce9eb9854fb4d4b352b85.zip
pfsense-c53acd0f6ab02cfc006ce9eb9854fb4d4b352b85.tar.gz
Implement RRD gateway qualiry support after move to dpinger. Fixes #5624
Diffstat (limited to 'src/etc/inc/rrd.inc')
-rw-r--r--src/etc/inc/rrd.inc37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/etc/inc/rrd.inc b/src/etc/inc/rrd.inc
index 3d27e8e..7f2eff7 100644
--- a/src/etc/inc/rrd.inc
+++ b/src/etc/inc/rrd.inc
@@ -956,6 +956,43 @@ function enable_rrd_graphing() {
}
/* END dhcpd statistics */
+ /* Start gateway quality */
+ $rrdupdatesh .= <<<EOD
+
+# Gateway quality graphs
+for sock in {$g['varrun_path']}/dpinger_*.sock; do
+ if [ ! -S "\$sock" ]; then
+ continue
+ fi
+ loss=\$(/usr/bin/nc -U \$sock | awk '{ print \$3 }')
+ delay=\$(/usr/bin/nc -U \$sock | awk '{ print \$1 }')
+
+ if echo "\$loss" | grep -Eqv '^[0-9]+\$'; then
+ loss="U"
+ fi
+ if echo "\$delay" | grep -Eqv '^[0-9]+\$'; then
+ delay="U"
+ fi
+
+ gw=\$(echo \$sock | sed 's,^.*dpinger_,,; s,\.sock,,')
+ if [ ! -f {$rrddbpath}\$gw-quality.rrd ]; then
+ {$rrdtool} create {$rrddbpath}\$gw-quality.rrd --step 60 \\
+ DS:loss:GAUGE:120:0:100 \\
+ DS:delay:GAUGE:120:0:100000 \\
+ RRA:AVERAGE:0.5:1:1200 \\
+ RRA:AVERAGE:0.5:5:720 \\
+ RRA:AVERAGE:0.5:60:1860 \\
+ RRA:AVERAGE:0.5:1440:2284
+
+ {$rrdtool} update {$rrddbpath}\$gw-quality.rrd N:U:U
+ fi
+
+ {$rrdtool} update {$rrddbpath}\$gw-quality.rrd N:\$loss:\$delay
+done
+
+EOD;
+ /* End gateway quality */
+
$rrdupdatesh .= "sleep 60\n";
$rrdupdatesh .= "done\n";
log_error(gettext("Creating rrd update script"));
OpenPOWER on IntegriCloud