diff --git a/includes/discovery/discovery-arp.inc.php b/includes/discovery/discovery-arp.inc.php index 813fdd56b..90750f9f2 100644 --- a/includes/discovery/discovery-arp.inc.php +++ b/includes/discovery/discovery-arp.inc.php @@ -12,7 +12,7 @@ // Author: Paul Gear // License: GPLv3 // -require_once '../../includes/print-interface.inc.php'; +include_once '../../includes/print-interface.inc.php'; echo 'ARP Discovery: '; diff --git a/includes/polling/ports.inc.php b/includes/polling/ports.inc.php index f374f5f62..114f0b416 100644 --- a/includes/polling/ports.inc.php +++ b/includes/polling/ports.inc.php @@ -509,6 +509,25 @@ foreach ($ports as $port) { $this_port['ifOutMulticastPkts'], ); + $measurement = 'port'; + $tags = array('ifIndex' => $this_port['ifIndex']); + $fields = array('ifInOctets' => $this_port['ifInOctets'], + 'ifOutOctets' => $this_port['ifOutOctets'], + 'ifInErrors' => $this_port['ifInErrors'], + 'ifOutErrors' => $this_port['ifOutErrors'], + 'ifInUcastPkts' => $this_port['ifInUcastPkts'], + 'ifOutUcastPkts' => $this_port['ifOutUcastPkts'], + 'ifInNUcastPkts' => $this_port['ifInNUcastPkts'], + 'ifOutNUcastPkts' => $this_port['ifOutNUcastPkts'], + 'ifInDiscards' => $this_port['ifInDiscards'], + 'ifOutDiscards' => $this_port['ifOutDiscards'], + 'ifInUnknownProtos' => $this_port['ifInUnknownProtos'], + 'ifInBroadcastPkts' => $this_port['ifInBroadcastPkts'], + 'ifOutBroadcastPkts' => $this_port['ifOutBroadcastPkts'], + 'ifInMulticastPkts' => $this_port['ifInMulticastPkts'], + 'ifOutMulticastPkts' => $this_port['ifOutMulticastPkts'] + ); + influx_update($device,$measurement,$tags,$fields); rrdtool_update("$rrdfile", $this_port['rrd_update']); // End Update IF-MIB // Update PAgP diff --git a/includes/rrdtool.inc.php b/includes/rrdtool.inc.php index afbd2f7ad..56a50d32f 100644 --- a/includes/rrdtool.inc.php +++ b/includes/rrdtool.inc.php @@ -253,6 +253,8 @@ function rrdtool_update($filename, $options) { $options = implode(':', $values); } + + return rrdtool('update', $filename, $options); } @@ -301,3 +303,27 @@ function rrdtool_escape($string, $maxlength=null){ return $result.' '; } + +function influx_update($device,$measurement,$tags=array(),$fields) { + $tmp_tags = array(); + $tmp_fields = array(); + foreach ($tags as $k => $v) { + $tmp_tags[] = "$k=$v"; + } + foreach ($fields as $k => $v) { + $tmp_fields[] = "$k=$v"; + } + + $tags = implode(',', $tmp_tags); + $fields = implode(',', $tmp_fields); + + $influx_url = 'http://localhost:8086/write?db=librenms'; + + $ch = curl_init($influx_url); + $post = "$measurement,host=".$device['hostname'].",$tags $fields"; + curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); + curl_setopt($ch, CURLOPT_POSTFIELDS, $post); + $response = curl_exec($ch); + echo "YEAH $response END\n"; + d_echo($response); +}