* Split Telco Systems discovery into BiNOX and BiNOS

* Fix formatting errors

 Changes to be committed:
	renamed:    includes/discovery/mempools/batm.inc.php -> includes/discovery/mempools/binox.inc.php
	renamed:    includes/discovery/os/batm.inc.php -> includes/discovery/os/binos.inc.php
	new file:   includes/discovery/os/binox.inc.php
	deleted:    includes/discovery/processors/batm.inc.php
	new file:   includes/discovery/processors/binos.inc.php
	new file:   includes/discovery/processors/binox.inc.php
	deleted:    includes/discovery/sensors/temperatures/batm.inc.php
	new file:   includes/discovery/sensors/temperatures/binos.inc.php
	new file:   includes/discovery/sensors/temperatures/binox.inc.php
	renamed:    includes/polling/mempools/batm.inc.php -> includes/polling/mempools/binox.inc.php
	new file:   includes/polling/os/binos.inc.php
	renamed:    includes/polling/os/batm.inc.php -> includes/polling/os/binox.inc.php
This commit is contained in:
walrus
2016-07-03 17:42:08 -05:00
parent 6236657126
commit 6763ad0790
12 changed files with 208 additions and 152 deletions

View File

@@ -14,7 +14,7 @@
if ($device['os'] == "batm") {
if ($device['os'] == "binox") {
echo("telco systems: ");
$used = snmp_get($device, ".1.3.6.1.4.1.738.10.111.3.1.3.0", "-Ovq");
@@ -22,10 +22,9 @@ if ($device['os'] == "batm") {
$used = str_replace('"', '', $used);
$total = "100";
$free = ($total - $used);
$percent = $used;
if (is_numeric($used)) {
discover_mempool($valid_mempool, $device, 0, "batm", "Memory", "1", NULL, NULL);
discover_mempool($valid_mempool, $device, 0, "binox", "Memory", "1", NULL, NULL);
}
}

View File

@@ -14,7 +14,7 @@
if (!$os) {
if (strstr($sysObjectId, '.1.3.6.1.4.1.738')) {
$os = 'batm';
if (strstr($sysObjectId, '.1.3.6.1.4.1.738.1.5.100')) {
$os = 'binos';
}
}

View File

@@ -0,0 +1,20 @@
<?php
/*
* LibreNMS Telco Systems OS discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if (!$os) {
if (strstr($sysObjectId, '.1.3.6.1.4.1.738.10.5.100')) {
$os = 'binox';
}
}

View File

@@ -1,58 +0,0 @@
<?php
/*
* LibreNMS Telco Systems Processor Discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if ($device['os'] == 'batm') {
if (strpos($device['sysObjectID'], 'enterprises.738.1.5.100') !== false) {
echo 'Telco Systems:';
$descr = 'Processor';
$usage = snmp_get($device, '.1.3.6.1.4.1.738.1.111.3.1.2.1.0', '-Ovq');
echo "This is the CP info AAAA $usage AAAA";
if (is_numeric($usage)) {
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.738.1.111.3.1.2.1.0', '0', 'batm', $descr, '1', $usage, null, null);
}
}
elseif (strpos($device['sysObjectID'], 'enterprises.738.10.5.100') !== false) {
if ($device['version'] == '2.4.R3.1.1') {
echo 'Telco Systems:';
$descr = 'Processor';
$usage = snmp_get($device, '.1.3.6.1.4.1.738.10.111.1.1.3.1.1.0', '-Ovq');
echo "This is the CP info AAAA $usage AAAA";
if (is_numeric($usage)) {
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.738.10.111.1.1.3.1.1.0', '0', 'batm', $descr, '1', $usage, null, null);
}
}
else {
echo 'Telco Systems:';
$descr = 'Processor';
$usage = snmp_get($device, '.1.3.6.1.4.1.738.10.111.3.1.1.0', '-Ovq');
$usage = str_replace('%', '', $usage);
$usage = str_replace('"', '', $usage);
if (is_numeric($usage)) {
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.738.10.111.3.1.1.0', '0', 'batm', $descr, '1', $usage, null, null);
}
}
}
else {
}
}

View File

@@ -0,0 +1,32 @@
<?php
/*
* LibreNMS Telco Systems Processor Discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if ($device['os'] == 'binos') {
if (strpos($device['sysObjectID'], 'enterprises.738.1.5.100') !== false) {
echo 'Telco Systems:';
$descr = 'Processor';
$usage = snmp_get($device, '.1.3.6.1.4.1.738.1.111.3.1.2.1.0', '-Ovq');
echo "This is the CP info AAAA $usage AAAA";
if (is_numeric($usage)) {
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.738.1.111.3.1.2.1.0', '0', 'binos', $descr, '1', $usage, null, null);
}
}
else {
}
}

View File

@@ -0,0 +1,46 @@
<?php
/*
* LibreNMS Telco Systems Processor Discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if ($device['os'] == 'binox') {
if (strpos($device['sysObjectID'], 'enterprises.738.10.5.100') !== false) {
if ($device['version'] == '2.4.R3.1.1') {
echo 'Telco Systems:';
$descr = 'Processor';
$usage = snmp_get($device, '.1.3.6.1.4.1.738.10.111.1.1.3.1.1.0', '-Ovq');
echo "This is the CP info AAAA $usage AAAA";
if (is_numeric($usage)) {
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.738.10.111.1.1.3.1.1.0', '0', 'binox', $descr, '1', $usage, null, null);
}
}
else {
echo 'Telco Systems:';
$descr = 'Processor';
$usage = snmp_get($device, '.1.3.6.1.4.1.738.10.111.3.1.1.0', '-Ovq');
$usage = str_replace('%', '', $usage);
$usage = str_replace('"', '', $usage);
if (is_numeric($usage)) {
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.738.10.111.3.1.1.0', '0', 'binox', $descr, '1', $usage, null, null);
}
}
}
else {
}
}

View File

@@ -1,59 +0,0 @@
<?php
/*
* LibreNMS Telco Systems Temperature Sensor Discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if ($device['os'] == 'batm') {
if (strpos($device['sysObjectID'], 'enterprises.738.1.5.100') !== false) {
echo("Telco Systems:");
// CPU temperature
$high_limit = 70;
$high_warn_limit = 65;
$low_warn_limit = 5;
$low_limit = 0;
$descr = "CPU Temperature";
$valueoid = ".1.3.6.1.4.1.738.1.5.100.3.2.3.0"; // PRVT-SWITCH-MIB::reportsHardwareTemperature.0
$value = snmp_get($device, $valueoid, '-Oqv');
$value = str_replace('"', '', $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'temperature', $device, $valueoid, 1, 'batm', $descr, '1', '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value);
}
}
elseif (strpos($device['sysObjectID'], 'enterprises.738.10.5.100') !== false) {
echo("Telco Systems:");
// CPU temperature
$high_limit = 70;
$high_warn_limit = 65;
$low_warn_limit = 5;
$low_limit = 0;
$descr = "CPU Temperature";
$valueoid = ".1.3.6.1.4.1.738.10.111.3.1.2.0"; // PRVT-SYS-MON-MIB::prvtSysMonCurrentCpuTemperature.0
$value = snmp_get($device, $valueoid, '-Oqv');
$value = str_replace('C', '', $value);
$value = str_replace('"', '', $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'temperature', $device, $valueoid, 1, 'batm', $descr, '1', '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value);
}
}
else {
}
}

View File

@@ -0,0 +1,40 @@
<?php
/*
* LibreNMS Telco Systems Temperature Sensor Discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if ($device['os'] == 'binos') {
if (strpos($device['sysObjectID'], 'enterprises.738.1.5.100') !== false) {
echo("Telco Systems:");
// CPU temperature
$high_limit = 70;
$high_warn_limit = 65;
$low_warn_limit = 5;
$low_limit = 0;
$descr = "CPU Temperature";
$valueoid = ".1.3.6.1.4.1.738.1.5.100.3.2.3.0"; // PRVT-SWITCH-MIB::reportsHardwareTemperature.0
$value = snmp_get($device, $valueoid, '-Oqv');
$value = str_replace('"', '', $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'temperature', $device, $valueoid, 1, 'binos', $descr, '1', '1', $low_limit, $low_warn_limit, $high_warn_limit, $hig$
}
}
else {
}
}

View File

@@ -0,0 +1,39 @@
<?php
/*
* LibreNMS Telco Systems Temperature Sensor Discovery module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
if ($device['os'] == 'batm') {
if (strpos($device['sysObjectID'], 'enterprises.738.10.5.100') !== false) {
echo("Telco Systems:");
// CPU temperature
$high_limit = 70;
$high_warn_limit = 65;
$low_warn_limit = 5;
$low_limit = 0;
$descr = "CPU Temperature";
$valueoid = ".1.3.6.1.4.1.738.10.111.3.1.2.0"; // PRVT-SYS-MON-MIB::prvtSysMonCurrentCpuTemperature.0
$value = snmp_get($device, $valueoid, '-Oqv');
$value = str_replace('C', '', $value);
$value = str_replace('"', '', $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'temperature', $device, $valueoid, 1, 'binox', $descr, '1', '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value);
}
}
else {
}
}

View File

@@ -16,9 +16,10 @@
// Somewhat of an ugly hack since Telco Systems device
// don't support fetching total memory of the device over SNMP. Only used percentage.
// Given OID returns usage in percent so we set total to 100 in order to get a proper graph
$mempool['total'] = "100";
$usage = snmp_get($device, ".1.3.6.1.4.1.738.10.111.3.1.3.0", "-Ovq");
$usage = str_replace('%', '', $usage);
$usage = str_replace('"', '', $usage);
$usage = str_replace('%', '', $usage);
$usage = str_replace('"', '', $usage);
$mempool['used'] = $usage;
$mempool['free'] = ($mempool['total'] - $mempool['used']);

View File

@@ -0,0 +1,24 @@
<?php
/*
* LibreNMS Telco Systems OS polling module
*
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
$version = snmp_get($device, '.1.3.6.1.4.1.738.1.111.1.1.4.0', '-Ovqs', '');
$serial = snmp_get($device, '.1.3.6.1.4.1.738.1.5.100.1.3.1.0', '-Ovqs', '');
$hardware = snmp_get($device, '.1.3.6.1.4.1.738.1.5.100.1.3.2.0', '-OQv', '');
$features = '';
$version = str_replace('"', '', $version);
$serial = str_replace('"', '', $serial);
$hardware = str_replace('"', '', $hardware);

View File

@@ -13,26 +13,6 @@
*/
if ($device['os'] == 'batm') {
if (strpos($device['sysObjectID'], 'enterprises.738.1.5.100') !== false) {
/* $version = snmp_get($device, '.1.3.6.1.2.1.1.1.0', '-Ovqs', '');
preg_match('/[^ ]+\..+\..+\.[^ ]+/', $version, $matches);
$version = $matches[0]; */
$version = snmp_get($device, '.1.3.6.1.4.1.738.1.111.1.1.4.0', '-Ovqs', '');
$serial = snmp_get($device, '.1.3.6.1.4.1.738.1.5.100.1.3.1.0', '-Ovqs', '');
$hardware = snmp_get($device, '.1.3.6.1.4.1.738.1.5.100.1.3.2.0', '-OQv', '');
$features = '';
$version = str_replace('"', '', $version);
$serial = str_replace('"', '', $serial);
$hardware = str_replace('"', '', $hardware);
}
elseif (strpos($device['sysObjectID'], 'enterprises.738.10.5.100') !== false) {
$version = snmp_get($device, '.1.3.6.1.4.1.738.10.111.1.1.1.1.0', '-Ovqs', '');
$serial = snmp_get($device, '.1.3.6.1.4.1.738.10.5.100.1.3.1.0', '-Ovqs', '');
$hardware = snmp_get($device, '.1.3.6.1.4.1.738.10.5.100.1.3.4.0', '-OQv', '');
@@ -41,11 +21,3 @@ if ($device['os'] == 'batm') {
$version = str_replace('"', '', $version);
$serial = str_replace('"', '', $serial);
$hardware = str_replace('"', '', $hardware);
}
else {
}
}