mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 10:28:13 +00:00
newdevice: Added extrahop detection (#6097)
This commit is contained in:
parent
ead3abb2c2
commit
2a211e86dc
1
html/images/logos/extrahop.svg
Normal file
1
html/images/logos/extrahop.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 84 KiB |
1
html/images/os/extrahop.svg
Normal file
1
html/images/os/extrahop.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 7.8 KiB |
11
includes/definitions/extrahop.yaml
Normal file
11
includes/definitions/extrahop.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
os: extrahop
|
||||
type: network
|
||||
group: unix
|
||||
text: 'Extrahop Appliance'
|
||||
icon: extrahop
|
||||
over:
|
||||
- { graph: device_bits, text: 'Device Traffic' }
|
||||
- { graph: device_processor, text: 'Processor Usage' }
|
||||
- { graph: device_mempool, text: 'Memory Usage' }
|
||||
mib_dir: extrahop
|
||||
processor_stacked: 1
|
@ -12,6 +12,8 @@ if (starts_with($sysDescr, 'Linux') || starts_with($sysObjectId, '.1.3.6.1.4.1.8
|
||||
} elseif (snmp_get($device, 'fwVersion.1', '-Osqnv', 'UBNT-AirFIBER-MIB', 'ubnt') !== false) {
|
||||
$os = 'airos-af';
|
||||
}
|
||||
} elseif (snmp_get($device, 'extrahopInfoVersionString', '-Osqnv', 'EXTRAHOP-MIB', 'extrahop') !== false) {
|
||||
$os = 'extrahop';
|
||||
} elseif (snmp_get($device, 'GANDI-MIB::rxCounter.0', '-Osqnv', 'GANDI-MIB') !== false) {
|
||||
$os = 'pktj';
|
||||
} elseif (snmp_get($device, 'SFA-INFO::systemName.0', '-Osqnv', 'SFA-INFO') !== false) {
|
||||
|
15
includes/polling/os/extrahop.inc.php
Normal file
15
includes/polling/os/extrahop.inc.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* LibreNMS
|
||||
*
|
||||
* Copyright (c) 2017 Dave Bell <me@geordish.org>
|
||||
*
|
||||
* 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, 'extrahopInfoVersionString', '-Oqv', 'EXTRAHOP-MIB');
|
335
mibs/extrahop/EXTRAHOP-MIB
Normal file
335
mibs/extrahop/EXTRAHOP-MIB
Normal file
@ -0,0 +1,335 @@
|
||||
EXTRAHOP-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
enterprises FROM SNMPv2-SMI
|
||||
Counter64 FROM SNMPv2-SMI
|
||||
OBJECT-TYPE FROM SNMPv2-SMI
|
||||
DisplayString FROM SNMPv2-TC
|
||||
NOTIFICATION-TYPE FROM SNMPv2-SMI
|
||||
OBJECT-GROUP FROM SNMPv2-CONF
|
||||
NOTIFICATION-GROUP FROM SNMPv2-CONF
|
||||
MODULE-IDENTITY FROM SNMPv2-SMI;
|
||||
|
||||
extrahop MODULE-IDENTITY
|
||||
LAST-UPDATED "201505080000Z"
|
||||
ORGANIZATION "ExtraHop Networks"
|
||||
CONTACT-INFO
|
||||
"support@extrahop.com"
|
||||
DESCRIPTION
|
||||
"The MIB module for ExtraHop SNMP messages."
|
||||
REVISION "201505080000Z"
|
||||
DESCRIPTION
|
||||
"The latest version of this MIB module."
|
||||
|
||||
::= { enterprises 32015 }
|
||||
|
||||
extrahopInfo OBJECT IDENTIFIER ::= { extrahop 0 }
|
||||
|
||||
extrahopInfoVersionString OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The full version number of the ExtraHop firmware."
|
||||
::= { extrahopInfo 0 }
|
||||
|
||||
extrahopInfoVersionMajor OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The major version number of the ExtraHop firmware."
|
||||
::= { extrahopInfo 1 }
|
||||
|
||||
extrahopInfoVersionMinor OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The minor version number of the ExtraHop firmware."
|
||||
::= { extrahopInfo 2 }
|
||||
|
||||
extrahopInfoVersionBranchRelease OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The branch release version number of the ExtraHop firmware."
|
||||
::= { extrahopInfo 3 }
|
||||
|
||||
extrahopInfoVersionRevision OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The revision version number of the ExtraHop firmware."
|
||||
::= { extrahopInfo 4 }
|
||||
|
||||
extrahopAlert OBJECT IDENTIFIER ::= { extrahop 1 }
|
||||
|
||||
extrahopTraps OBJECT IDENTIFIER ::= { extrahop 2 }
|
||||
|
||||
extrahopObjects OBJECT IDENTIFIER ::= { extrahop 4 }
|
||||
|
||||
extrahopObjectGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
extrahopAlertName,
|
||||
extrahopAlertComment,
|
||||
extrahopAlertObjectType,
|
||||
extrahopAlertObjectName,
|
||||
extrahopAlertExpr,
|
||||
extrahopAlertValue,
|
||||
extrahopAlertTime,
|
||||
extrahopAlertObjectId,
|
||||
extrahopAlertObjectStrId,
|
||||
extrahopAlertObjectMACAddr,
|
||||
extrahopAlertObjectIPAddr,
|
||||
extrahopAlertObjectTags,
|
||||
extrahopAlertObjectURL,
|
||||
extrahopAlertStatName,
|
||||
extrahopAlertStatFieldName,
|
||||
extrahopAlertSeverity,
|
||||
extrahopStatsPktsSinceBoot,
|
||||
extrahopStatsBytesSinceBoot,
|
||||
extrahopStorageAlertRole,
|
||||
extrahopStorageAlertDevice,
|
||||
extrahopStorageAlertStatus,
|
||||
extrahopStorageAlertDetails,
|
||||
extrahopStorageAlertSeverity,
|
||||
extrahopStorageAlertMachine
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION "ExtraHop Object Collection"
|
||||
::= { extrahopObjects 1 }
|
||||
|
||||
extrahopNotificationGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS {
|
||||
extrahopAlertTrap,
|
||||
extrahopStorageAlertTrap
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION "ExtraHop Notification Collection"
|
||||
::= { extrahopObjects 2 }
|
||||
|
||||
extrahopAlertTrap NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
extrahopAlertName,
|
||||
extrahopAlertComment,
|
||||
extrahopAlertObjectType,
|
||||
extrahopAlertObjectName,
|
||||
extrahopAlertExpr,
|
||||
extrahopAlertValue,
|
||||
extrahopAlertTime,
|
||||
extrahopAlertObjectId,
|
||||
extrahopAlertObjectStrId,
|
||||
extrahopAlertObjectMACAddr,
|
||||
extrahopAlertObjectIPAddr,
|
||||
extrahopAlertObjectTags,
|
||||
extrahopAlertObjectURL,
|
||||
extrahopAlertStatName,
|
||||
extrahopAlertStatFieldName,
|
||||
extrahopAlertSeverity
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION "Alert notification"
|
||||
::= { extrahopTraps 1 }
|
||||
|
||||
extrahopAlertName OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Name of the alert"
|
||||
::= { extrahopAlert 1}
|
||||
|
||||
extrahopAlertComment OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Alert comment"
|
||||
::= { extrahopAlert 2}
|
||||
|
||||
extrahopAlertObjectType OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Type of object alert applies to"
|
||||
::= { extrahopAlert 3}
|
||||
|
||||
extrahopAlertObjectName OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Name of object alert applies to"
|
||||
::= { extrahopAlert 4}
|
||||
|
||||
extrahopAlertExpr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Alert expression"
|
||||
::= { extrahopAlert 5}
|
||||
|
||||
extrahopAlertValue OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Value that triggered alert"
|
||||
::= { extrahopAlert 6}
|
||||
|
||||
extrahopAlertTime OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Time of the alert trigger"
|
||||
::= { extrahopAlert 7}
|
||||
|
||||
extrahopAlertObjectId OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Decimal representation of numeric object id"
|
||||
::= { extrahopAlert 8}
|
||||
|
||||
extrahopAlertObjectStrId OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "String object id"
|
||||
::= { extrahopAlert 9}
|
||||
|
||||
extrahopAlertObjectMACAddr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Object MAC Address"
|
||||
::= { extrahopAlert 10}
|
||||
|
||||
extrahopAlertObjectIPAddr OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Object IP Address"
|
||||
::= { extrahopAlert 11}
|
||||
|
||||
extrahopAlertObjectTags OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Object tags"
|
||||
::= { extrahopAlert 12}
|
||||
|
||||
extrahopAlertObjectURL OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "URL"
|
||||
::= { extrahopAlert 13}
|
||||
|
||||
extrahopAlertStatName OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Stat name"
|
||||
::= { extrahopAlert 14}
|
||||
|
||||
extrahopAlertStatFieldName OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Stat field name"
|
||||
::= { extrahopAlert 15}
|
||||
|
||||
extrahopAlertSeverity OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
emergency (0),
|
||||
alert (1),
|
||||
critical (2),
|
||||
error (3),
|
||||
warning (4),
|
||||
notice (5),
|
||||
info (6),
|
||||
debug (7)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Severity"
|
||||
::= { extrahopAlert 16}
|
||||
|
||||
extrahopStats OBJECT IDENTIFIER ::= { extrahop 3 }
|
||||
|
||||
extrahopStatsPktsSinceBoot OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of packets captured since system boot."
|
||||
::= { extrahopStats 1 }
|
||||
|
||||
extrahopStatsBytesSinceBoot OBJECT-TYPE
|
||||
SYNTAX Counter64
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "The number of bytes captured since system boot."
|
||||
::= { extrahopStats 2 }
|
||||
|
||||
extrahopStorageAlert OBJECT IDENTIFIER ::= { extrahop 5 }
|
||||
|
||||
extrahopStorageAlertTrap NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
extrahopStorageAlertRole,
|
||||
extrahopStorageAlertDevice,
|
||||
extrahopStorageAlertStatus,
|
||||
extrahopStorageAlertDetails,
|
||||
extrahopStorageAlertSeverity,
|
||||
extrahopStorageAlertMachine
|
||||
}
|
||||
STATUS current
|
||||
DESCRIPTION "Storage notification"
|
||||
::= { extrahopTraps 2 }
|
||||
|
||||
extrahopStorageAlertRole OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Role of the storage device"
|
||||
::= { extrahopStorageAlert 1}
|
||||
|
||||
extrahopStorageAlertDevice OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Storage device issuing the alert"
|
||||
::= { extrahopStorageAlert 2}
|
||||
|
||||
extrahopStorageAlertStatus OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Status of the device"
|
||||
::= { extrahopStorageAlert 3}
|
||||
|
||||
extrahopStorageAlertDetails OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Details about the notification"
|
||||
::= { extrahopStorageAlert 4}
|
||||
|
||||
extrahopStorageAlertSeverity OBJECT-TYPE
|
||||
SYNTAX INTEGER {
|
||||
emergency (0),
|
||||
alert (1),
|
||||
critical (2),
|
||||
error (3),
|
||||
warning (4),
|
||||
notice (5),
|
||||
info (6),
|
||||
debug (7)
|
||||
}
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Severity"
|
||||
::= { extrahopStorageAlert 5}
|
||||
|
||||
extrahopStorageAlertMachine OBJECT-TYPE
|
||||
SYNTAX DisplayString (SIZE (0..255))
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Machine sending alert"
|
||||
::= { extrahopStorageAlert 6}
|
||||
|
||||
END
|
@ -686,6 +686,11 @@ class DiscoveryTest extends \PHPUnit_Framework_TestCase
|
||||
$this->checkOS('exinda');
|
||||
}
|
||||
|
||||
public function testExtrahop()
|
||||
{
|
||||
$this->checkOS('extrahop');
|
||||
}
|
||||
|
||||
public function testExtremeware()
|
||||
{
|
||||
$this->checkOS('extremeware');
|
||||
|
2
tests/snmpsim/extrahop.snmprec
Normal file
2
tests/snmpsim/extrahop.snmprec
Normal file
@ -0,0 +1,2 @@
|
||||
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.8072.3.2.10
|
||||
1.3.6.1.4.1.32015.0.0|4|6.1.2.2052
|
Loading…
Reference in New Issue
Block a user