diff options
author | Renato Botelho <renato@netgate.com> | 2015-12-11 12:59:40 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2015-12-11 12:59:40 -0200 |
commit | c53acd0f6ab02cfc006ce9eb9854fb4d4b352b85 (patch) | |
tree | 11adc29148b2ed299c53e5db36be717fdc2c3bd2 /src/etc | |
parent | afb6ae0c7a94c8e40703f680d9609b08a9f89893 (diff) | |
download | pfsense-c53acd0f6ab02cfc006ce9eb9854fb4d4b352b85.zip pfsense-c53acd0f6ab02cfc006ce9eb9854fb4d4b352b85.tar.gz |
Implement RRD gateway qualiry support after move to dpinger. Fixes #5624
Diffstat (limited to 'src/etc')
-rw-r--r-- | src/etc/inc/rrd.inc | 37 |
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")); |