summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/rrd.inc
diff options
context:
space:
mode:
authorStephen Beaver <sbeaver@netgate.com>2015-11-10 10:25:30 -0500
committerStephen Beaver <sbeaver@netgate.com>2015-11-10 10:25:30 -0500
commitaf9fd483747d1070400f475d79a8d13b9dd5de69 (patch)
treed86e746e6c6b8e7f4becffbefd7adb6df3b24a75 /src/etc/inc/rrd.inc
parentf1551428c4fe708232fc80239ec207640b058a28 (diff)
parent588a6068e476c2867948735ece7a5e8c886abd5a (diff)
downloadpfsense-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.inc44
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";
OpenPOWER on IntegriCloud