diff options
author | Stephen Beaver <sbeaver@netgate.com> | 2015-11-10 10:25:30 -0500 |
---|---|---|
committer | Stephen Beaver <sbeaver@netgate.com> | 2015-11-10 10:25:30 -0500 |
commit | af9fd483747d1070400f475d79a8d13b9dd5de69 (patch) | |
tree | d86e746e6c6b8e7f4becffbefd7adb6df3b24a75 /src/etc/inc/rrd.inc | |
parent | f1551428c4fe708232fc80239ec207640b058a28 (diff) | |
parent | 588a6068e476c2867948735ece7a5e8c886abd5a (diff) | |
download | pfsense-af9fd483747d1070400f475d79a8d13b9dd5de69.zip pfsense-af9fd483747d1070400f475d79a8d13b9dd5de69.tar.gz |
Merge pull request #2036 from heper/patch-1
Diffstat (limited to 'src/etc/inc/rrd.inc')
-rw-r--r-- | src/etc/inc/rrd.inc | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/src/etc/inc/rrd.inc b/src/etc/inc/rrd.inc index d1ec4aa..0c05062 100644 --- a/src/etc/inc/rrd.inc +++ b/src/etc/inc/rrd.inc @@ -228,6 +228,7 @@ function enable_rrd_graphing() { $captiveportalconcurrent = "-concurrent.rrd"; $captiveportalloggedin = "-loggedin.rrd"; $ntpd = "ntpd.rrd"; + $dhcpd = "-dhcpd.rrd"; $rrdtool = "/usr/bin/nice -n20 /usr/local/bin/rrdtool"; $netstat = "/usr/bin/netstat"; @@ -240,6 +241,7 @@ function enable_rrd_graphing() { $spamd_gather = "/usr/local/bin/spamd_gather_stats.php"; $ifconfig = "/sbin/ifconfig"; $captiveportal_gather = "/usr/local/bin/captiveportal_gather_stats.php"; + $dhcpd_gather = "/usr/local/bin/dhcpd_gather_stats.php"; $ntpq = "/usr/local/sbin/ntpq"; $rrdtrafficinterval = 60; @@ -257,6 +259,7 @@ function enable_rrd_graphing() { $rrdvpninterval = 60; $rrdcaptiveportalinterval = 60; $rrdntpdinterval = 60; + $rrddhcpdinterval = 60; $trafficvalid = $rrdtrafficinterval * 2; $wirelessvalid = $rrdwirelessinterval * 2; @@ -273,7 +276,8 @@ function enable_rrd_graphing() { $vpnvalid = $rrdvpninterval * 2; $captiveportalvalid = $rrdcaptiveportalinterval * 2; $ntpdvalid = $rrdntpdinterval * 2; - + $dhcpdvalid = $rrddhcpdinterval * 2; + /* Assume 2*10GigE for now */ $downstream = 2500000000; $upstream = 2500000000; @@ -910,6 +914,44 @@ function enable_rrd_graphing() { } /* End NTP statistics */ + + /* Start dhcpd statistics */ + foreach ($config['dhcpd'] as $dhcpif => $dhcpifconf) { + if (isset($config['dhcpd'][$dhcpif]['statsgraph'])) { + if (!file_exists("$rrddbpath$dhcpif$dhcpd")) { + $rrdcreate = "$rrdtool create $rrddbpath$dhcpif$dhcpd --step $rrddhcpdinterval "; + $rrdcreate .= "DS:leases:GAUGE:$dhcpdvalid:0:100000 "; + $rrdcreate .= "DS:staticleases:GAUGE:$dhcpdvalid:0:100000 "; + $rrdcreate .= "RRA:MIN:0.5:1:1200 "; + $rrdcreate .= "RRA:MIN:0.5:5:720 "; + $rrdcreate .= "RRA:MIN:0.5:60:1860 "; + $rrdcreate .= "RRA:MIN:0.5:1440:2284 "; + $rrdcreate .= "RRA:AVERAGE:0.5:1:1200 "; + $rrdcreate .= "RRA:AVERAGE:0.5:5:720 "; + $rrdcreate .= "RRA:AVERAGE:0.5:60:1860 "; + $rrdcreate .= "RRA:AVERAGE:0.5:1440:2284 "; + $rrdcreate .= "RRA:MAX:0.5:1:1200 "; + $rrdcreate .= "RRA:MAX:0.5:5:720 "; + $rrdcreate .= "RRA:MAX:0.5:60:1860 "; + $rrdcreate .= "RRA:MAX:0.5:1440:2284 "; + create_new_rrd($rrdcreate); + unset($rrdcreate); + } + + /* enter UNKNOWN values in the RRD so it knows we rebooted. */ + if (platform_booting()) { + mwexec("$rrdtool update $rrddbpath$dhcpif$dhcpd N:U:U:U:U:U:U:U:U"); + } + + $rrdupdatesh .= "\n"; + $rrdupdatesh .= "# polling leases for dhcp \n"; + $rrdupdatesh .= "DHCP=`${php} -q ${dhcpd_gather} '${dhcpif}'`\n"; + $rrdupdatesh .= "$rrdtool update $rrddbpath$dhcpif$dhcpd \${DHCP}\n"; + + } + } + + /* END dhcpd statistics */ $rrdupdatesh .= "sleep 60\n"; $rrdupdatesh .= "done\n"; |