newdevice: Added DHCP Leases Graph for Mikrotik (#7333)

This commit is contained in:
Paul Heinrichs
2017-09-13 14:49:41 -04:00
committed by Neil Lathwood
parent 98786c0ea7
commit 9f553af71e
3 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
<?php
$rrd_filename = rrd_name($device['hostname'], 'routeros_leases');
require 'includes/graphs/common.inc.php';
$ds = 'leases';
$colour_area = '9999cc';
$colour_line = '0000cc';
$colour_area_max = '9999cc';
$scale_min = '0';
$graph_max = 1;
$graph_min = 0;
$unit_text = 'Leases';
require 'includes/graphs/generic_simplex.inc.php';

View File

@@ -600,6 +600,11 @@ $config['graph_types']['device']['riverbed_passthrough']['section'] = 'network';
$config['graph_types']['device']['riverbed_passthrough']['order'] = 3;
$config['graph_types']['device']['riverbed_passthrough']['descr'] = 'Bandwidth Passthrough';
//mikrotik specific graphs
$config['graph_types']['device']['routeros_leases']['section'] = 'network';
$config['graph_types']['device']['routeros_leases']['order'] = 0;
$config['graph_types']['device']['routeros_leases']['descr'] = 'DHCP Lease Count';
// Device Types
$i = 0;
$config['device_types'][$i]['text'] = 'Servers';

View File

@@ -1,5 +1,7 @@
<?php
use LibreNMS\RRD\RrdDefinition;
$version = trim(snmp_get($device, '1.3.6.1.4.1.14988.1.1.4.4.0', '-OQv', '', ''), '"');
if (strstr($poll_device['sysDescr'], 'RouterOS')) {
$hardware = substr($poll_device['sysDescr'], 9);
@@ -7,3 +9,20 @@ if (strstr($poll_device['sysDescr'], 'RouterOS')) {
$features = 'Level '.trim(snmp_get($device, '1.3.6.1.4.1.14988.1.1.4.3.0', '-OQv', '', ''), '"');
$serial = trim(snmp_get($device, '1.3.6.1.4.1.14988.1.1.7.3.0', '-OQv', '', ''), '"');
$leases = snmp_get($device, 'mtxrDHCPLeaseCount.0', '-OQv', 'MIKROTIK-MIB');
if (is_numeric($leases)) {
$rrd_def = RrdDefinition::make()->addDataset('leases', 'GAUGE', 0);
$fields = array(
'leases' => $leases,
);
$tags = compact('rrd_def');
data_update($device, 'routeros_leases', $tags, $fields);
$graphs['routeros_leases'] = true;
}
unset($leases);