Added support for HikVision-DS Cameras (#9980)

* Added support for HikVision-DS Cameras

clean up

removed pointless file, cleaned up code

fixed failing unit tests, a bit of cleanup

WIP - will rebase

split hikvision into hikvision-nvr an hikvision-cam

* removed unneeded comment and rec file
This commit is contained in:
Spencer Butler 2019-03-27 15:38:35 -05:00 committed by Tony Murray
parent 54893b9c4e
commit 7bfe0bc831
17 changed files with 987 additions and 12 deletions

View File

@ -0,0 +1,8 @@
mib: HIK-DEVICE-MIB:HIKVISION-MIB
modules:
processors:
data:
-
oid: cpuPercent
num_oid: '.1.3.6.1.4.1.39165.1.7.{{ $index }}'
index: 0

View File

@ -0,0 +1,14 @@
os: hikvision-cam
text: 'Hikvision Camera'
type: network
icon: hikvision
mib_dir:
- hikvision
over:
- { graph: device_processor, text: 'CPU Usage' }
- { graph: device_mempool, text: 'Memory Usage' }
discovery:
- snmpget:
oid: .1.3.6.1.4.1.39165.1.1.0
op: starts
value: 'DS-'

View File

@ -0,0 +1,14 @@
os: hikvision-nvr
text: 'Hikvision NVR'
type: network
icon: hikvision
mib_dir:
- hikvision
over:
- { graph: device_mempool, text: 'Memory Usage' }
- { graph: device_uptime, text: 'Device Uptime' }
discovery:
- sysObjectID:
- .1.3.6.1.4.1.50001
- sysDescr:
- 'Hikvision company products'

View File

@ -1,8 +0,0 @@
os: hikvision
text: Hikvision
type: network
icon: hikvision
over:
- { graph: device_uptime, text: 'Device Uptime' }
discovery:
- sysObjectID: .1.3.6.1.4.1.50001

View File

@ -0,0 +1,34 @@
<?php
/**
* hikvision-cam.inc.php
*
* LibreNMS mempool discovery module for hikvision-cam
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2019 Spencer Butler
* @author Spencer Butler <github@crooked.app>
*/
if ($device['os'] === 'hikvision-cam') {
echo 'hikvision-cam:';
$index = 0;
$type = 'hikvision-cam';
$descr = 'Memory';
$precision = '1';
discover_mempool($valid_mempool, $device, $index, $type, $descr, $precision, null, null);
}

View File

@ -0,0 +1,34 @@
<?php
/**
* hikvision-nvr.inc.php
*
* LibreNMS mempool discovery module for hikvision-nvr
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2019 Spencer Butler
* @author Spencer Butler <github@crooked.app>
*/
if ($device['os'] === 'hikvision-nvr') {
echo 'hikvision-nvr:';
$index = 0;
$type = 'hikvision-nvr';
$descr = 'Memory';
$precision = '1';
discover_mempool($valid_mempool, $device, $index, $type, $descr, $precision, null, null);
}

View File

@ -0,0 +1,36 @@
<?php
/**
* hikvision-cam.inc.php
*
* LibreNMS storage discovery module for hikvision-cam
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2019 Spencer Butler
* @author Spencer Butler <github@crooked.app>
*/
if ($device['os'] === 'hikvision-cam') {
echo 'hikvision-cam:';
$size = snmp_get($device, 'diskSize.0', '-Ovq', 'HIK-DEVICE-MIB');
$used = snmp_get($device, 'diskPercent.0', '-Ovq', 'HIK-DEVICE-MIB');
$index = 0;
$fstype = 'hikvision-cam';
$mib = 'HIK-DEVICE-MIB';
$descr = 'Storage';
discover_storage($valid_storage, $device, $index, $fstype, $mib, $descr, $size, null, $used);
}

View File

@ -0,0 +1,36 @@
<?php
/**
* hikvision-nvr.inc.php
*
* LibreNMS storage discovery module for hikvision-nvr
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2019 Spencer Butler
* @author Spencer Butler <github@crooked.app>
*/
if ($device['os'] === 'hikvision-nvr') {
echo 'hikvision-nvr:';
$size = snmp_get($device, 'hikDiskCapability.1.0', '-Ovq', 'HIKVISION-MIB');
$free = snmp_get($device, 'hikDiskFreeSpace.1.0', '-Ovq', 'HIKVISION-MIB');
$index = 0;
$type = 'hikvision-nvr';
$descr = 'Storage';
$mib = 'HIKVISION-MIB';
discover_storage($valid_storage, $device, $index, $type, $mib, $descr, 0, size, null);
}

View File

@ -0,0 +1,10 @@
<?php
$temp_data = snmp_get_multi_oid($device, ['softwVersion.0', 'deviceType.0', 'videoEncode.0', 'videoNetTrans.0'], '-OUQs', 'HIK-DEVICE-MIB');
$version = $temp_data['softwVersion.0'];
$hardware = $temp_data['deviceType.0'];
$features = $temp_data['videoEncode.0'];
$features .= '-' . $temp_data['videoNetTrans.0'];
unset($temp_data);

View File

@ -0,0 +1,10 @@
<?php
$temp_data = snmp_get_multi_oid($device, ['hikEntity.101.0', 'hikEntityType.0', 'hikEntityIndex.0'], '-OUQs', 'HIKVISION-MIB');
$hostname =
$version = $temp_data['hikEntity.101.0'];
$hardware = $temp_data['hikEntityType.0'];
$serial = $temp_data['hikEntityIndex.0'];
unset($temp_data);

View File

@ -1,4 +0,0 @@
<?php
$version = trim(snmp_get($device, '.1.3.6.1.4.1.39165.1.3.0', '-OQv', '', ''), '"');
$hardware = trim(snmp_get($device, '.1.3.6.1.4.1.39165.1.1.0', '-OQv', '', ''), '"');

View File

@ -0,0 +1,285 @@
HIK-DEVICE-MIB DEFINITIONS ::=BEGIN
IMPORTS
enterprises, OBJECT-TYPE, Integer32,
IpAddress FROM SNMPv2-SMI;
test OBJECT IDENTIFIER ::= { enterprises 39165}
devicemib OBJECT IDENTIFIER ::= { test 1 }
deviceType OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of device."
::= { devicemib 1 }
hardwVersion OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The version of hardware in this device."
::= { devicemib 2 }
softwVersion OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The version of software in this device"
::= { devicemib 3 }
macAddr OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The MAC address of the device."
::= { devicemib 4 }
deviceID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The code name of manufacturer of this device."
::= { devicemib 5 }
manufacturer OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The manufacturer of this device."
::= { devicemib 6 }
cpuPercent OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Percentage of cpu used on the device."
::= { devicemib 7 }
diskSize OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The tatol size of the disk."
::= { devicemib 8 }
diskPercent OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Percentage of space used on disk."
::= { devicemib 9 }
memSize OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The memory size on the device."
::= { devicemib 10 }
memUsed OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The memory used on the device."
::= { devicemib 11 }
restartDev OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The support of restarting the device."
::= { devicemib 12 }
dynIpAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The dynamic IP address."
::= { devicemib 13 }
dynNetMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The dynamic subnet mask associated with the IP address."
::= { devicemib 14 }
dynGateway OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The dynamic gateway address."
::= { devicemib 15 }
staticIpAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The static IP address."
::= { devicemib 16 }
staticNetMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The static subnet mask associated with the IP address."
::= { devicemib 17 }
staticGateway OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The static Gateway."
::= { devicemib 18 }
sysTime OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The host's notion of the local date and time of day."
::= { devicemib 19 }
videoInChanNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of video input channels."
::= { devicemib 20 }
videoEncode OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of video coding."
::= { devicemib 21 }
videoNetTrans OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of video network transmission."
::= { devicemib 22 }
audioAbility OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ability of audio."
::= { devicemib 23 }
audioInNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of audio input."
::= { devicemib 24 }
videoOutNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of video output."
::= { devicemib 25 }
clarityChanNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of clarity channels."
::= { devicemib 26 }
localStorage OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The support of local storage."
::= { devicemib 27 }
rtspPlayBack OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The support of RTSP lookback."
::= { devicemib 28 }
netAccessType OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of network access supported."
::= { devicemib 29 }
alarmInChanNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The num of input channel for alarming."
::= { devicemib 30 }
alarmOutChanNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The num of output channel for alarming."
::= { devicemib 31 }
manageServAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The address of network manage host."
::= { devicemib 32 }
managePort OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The port of network manage host."
::= { devicemib 34 }
ntpServIpAddr OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The IP address of NTP server."
::= { devicemib 33 }
END

View File

@ -0,0 +1,319 @@
HIKVISION-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises,
Counter
FROM RFC1155-SMI
OBJECT-TYPE
FROM SNMPv2-SMI;
hikvision OBJECT IDENTIFIER ::= { enterprises 50001 }
hikEntity OBJECT IDENTIFIER ::= { hikvision 1 }
-- hikvision persistent property
hikIp OBJECT-TYPE
SYNTAX NetworkAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"hikvision device valid ip address"
::= { hikEntity 1 }
hikPort OBJECT-TYPE
SYNTAX INTEGER(1..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"hikvision device valid manager port,default is 8000"
::= { hikEntity 2 }
hikEntityIndex OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"hikvision device unique index, for DVR this is serial NO."
::= { hikEntity 3 }
hikEntityType OBJECT IDENTIFIER ::= { hikEntity 100 }
hikEntityType OBJECT-TYPE
SYNTAX INTEGER {
DVR(1),
NVR(2),
IPC(3),
Unknown(255)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"hikvision products type"
::= { hikEntity 100 }
-- these throw errors and prevent translation, spencerbutler 20190319
-- hikEntitySubType OBJECT-TYPE
-- SYNTAX INTEGER {
-- DVR_70xx(1),
-- DVR_71xx(2),
-- DVR_80xx(20),
-- DVR_81xx(21),
-- DVR_90xx(40),
-- DVR_91xx(41),
-- NVR(200),
-- IPC(400),
-- Unknown(65535)
-- }
-- ACCESS read-only
-- STATUS mandatory
-- DESCRIPTION
-- "hikvision product sub type"
-- ::= { hikEntity 101 }
hikOnline OBJECT-TYPE
SYNTAX INTEGER {
Online(1),
Absent(2),
Unknown(255)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product online status"
::= { hikEntity 102 }
hikService OBJECT-TYPE
SYNTAX INTEGER {
Unknown(255)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product service type, now dvr will return Unknown"
::= { hikEntity 103 }
hikCMSDefType OBJECT-TYPE
SYNTAX INTEGER {
Unknown(255)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product defined CMS type, now dvr will return Unknown"
::= { hikEntity 104 }
hikObjectID OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product object ID, now dvr do not need this will return 0"
::= { hikEntity 105 }
hikObjectName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product object Name, now dvr do not need this will return nothing"
::= { hikEntity 106 }
hikTrapHostIp1 OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..128))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product 1st trap host ip address "
::= { hikEntity 110}
--hik cpu info
hikCPUNum OBJECT-TYPE
SYNTAX INTEGER(1..512)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the number of hikvision product's cpu "
::= { hikEntity 200}
hikCPUFrequency OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the frequency of hikvision product's cpu, format like ¡°2000MHZ¡± "
::= { hikEntity 201}
--hik memery info
hikMemoryCapability OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the size of Memory"
::= { hikEntity 220}
hikMemoryUsage OBJECT-TYPE
SYNTAX INTEGER(0..100)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the Usage of hikvision product's Memory, value scope is (0-100)"
::= { hikEntity 221}
hikDeviceStatus OBJECT-TYPE
SYNTAX INTEGER{
Online(1),
Absent(2),
Unknown(255)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"display hikvision product status"
::= { hikEntity 230}
-- malformed definitions
-- hikDeviceLanguage OBJECT-TYPE
-- SYNTAX INTEGER {
-- English(1),
-- Simple Chinese(2),
-- Traditional Chinese(3),
-- Japanese(4),
-- Korea(5),
-- Unknown(255)
-- }
-- ACCESS read-only
-- STATUS mandatory
-- DESCRIPTION
-- "display hikvision product language"
-- ::= { hikEntity 231}
-- hikvision disk info --
hikDiskNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the number of hikvision device local disks"
::= { hikEntity 240}
-- the disk table
hikDiskTable OBJECT-TYPE
SYNTAX SEQUENCE OF hikDiskEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of disk entries. The number of
entries is given by the value of hikDiskNum."
::= { hikEntity 241 }
hikDiskEntry OBJECT-TYPE
SYNTAX HikDiskEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A disk entry containing objects at local disk status."
INDEX { hikDiskIndex }
::= { hikDiskTable 1 }
HikDiskEntry ::=
SEQUENCE {
hikDiskIndex
INTEGER,
hikDiskVolume
DisplayString,
hikDiskStatus
INTEGER,
hikDiskFreeSpace
INTEGER,
hikDiskCapability
INTEGER
}
hikDiskIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An unique value for each local disk entry. Its value
ranges between 1 and the value of ifNumber."
::= { hikDiskEntry 1 }
hikDiskVolume OBJECT-TYPE
SYNTAX DisplayString(SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual string containing information about local
disk"
::= { hikDiskEntry 2 }
hikDiskStatus OBJECT-TYPE
SYNTAX INTEGER{
Normal(0),
Unformatted(1),
Abnormal(2),
Smartfailed(3),
Mismatch(4),
Idle(5),
NotOnline(6),
Reparing(10),
Formatting(11)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"local disk status"
::= { hikDiskEntry 3 }
hikDiskFreeSpace OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the size of local disk entry free space,
if we get 100, means free space is 100M"
::= { hikDiskEntry 4 }
hikDiskCapability OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"the size of local disk entry all space,
if we get 100, means all space is 100M"
::= { hikDiskEntry 5 }
-- hikvisoin trap define
-- these throw errors
--power status trap
-- Power_PowerOn TRAP-TYPE
-- ENTERPRISE hikvision
-- DESCRIPTION
-- "hikvision device power on"
-- ::= 1
--
-- Power_PowerOff TRAP-TYPE
-- ENTERPRISE hikvision
-- DESCRIPTION
-- "hikvision device shut down"
-- ::= 2
--
-- Power_ReBoot TRAP-TYPE
-- ENTERPRISE hikvision
-- DESCRIPTION
-- "hikvision device reboot"
-- ::= 3
END

View File

@ -0,0 +1,101 @@
{
"os": {
"discovery": {
"devices": [
{
"sysName": "",
"sysObjectID": null,
"sysDescr": null,
"sysContact": null,
"version": null,
"hardware": null,
"features": null,
"os": "hikvision-cam",
"type": "network",
"serial": null,
"icon": "hikvision.png",
"location": null
}
]
},
"poller": {
"devices": [
{
"sysName": "",
"sysObjectID": null,
"sysDescr": null,
"sysContact": null,
"version": "V5.5.3 build 171025",
"hardware": "DS-2CD2185FWD-I",
"features": "H.264-MJPEG",
"os": "hikvision-cam",
"type": "network",
"serial": null,
"icon": "hikvision.png",
"location": null
}
]
}
},
"processors": {
"discovery": {
"processors": [
{
"entPhysicalIndex": 0,
"hrDeviceIndex": 0,
"processor_oid": ".1.3.6.1.4.1.39165.1.7.0",
"processor_index": "0",
"processor_type": "hikvision-cam",
"processor_usage": 15,
"processor_descr": "Processor",
"processor_precision": 1,
"processor_perc_warn": 75
}
]
},
"poller": "matches discovery"
},
"mempools": {
"discovery": {
"mempools": [
{
"mempool_index": "0",
"entPhysicalIndex": null,
"hrDeviceIndex": null,
"mempool_type": "hikvision-cam",
"mempool_precision": 1,
"mempool_descr": "Memory",
"mempool_perc": 0,
"mempool_used": 0,
"mempool_free": 0,
"mempool_total": 0,
"mempool_largestfree": null,
"mempool_lowestfree": null,
"mempool_deleted": 0,
"mempool_perc_warn": 75
}
]
},
"poller": "matches discovery"
},
"storage": {
"discovery": {
"storage": [
{
"storage_mib": "HIK-DEVICE-MIB",
"storage_index": "0",
"storage_type": "hikvision-cam",
"storage_descr": "Storage",
"storage_size": 0,
"storage_units": 0,
"storage_used": 0,
"storage_free": 0,
"storage_perc": 0,
"storage_perc_warn": 60,
"storage_deleted": 0
}
]
},
"poller": "matches discovery"
}
}

View File

@ -0,0 +1,63 @@
{
"os": {
"discovery": {
"devices": [
{
"sysName": "<private>",
"sysObjectID": ".1.3.6.1.4.1.50001",
"sysDescr": "Hikvision company products",
"sysContact": null,
"version": null,
"hardware": null,
"features": null,
"os": "hikvision-nvr",
"type": "network",
"serial": null,
"icon": "hikvision.png",
"location": null
}
]
},
"poller": {
"devices": [
{
"sysName": "<private>",
"sysObjectID": ".1.3.6.1.4.1.50001",
"sysDescr": "Hikvision company products",
"sysContact": "<private>",
"version": "200",
"hardware": "NVR",
"features": null,
"os": "hikvision-nvr",
"type": "network",
"serial": "0820160719AARR624053979WCVU",
"icon": "hikvision.png",
"location": "<private>"
}
]
}
},
"mempools": {
"discovery": {
"mempools": [
{
"mempool_index": "0",
"entPhysicalIndex": null,
"hrDeviceIndex": null,
"mempool_type": "hikvision-nvr",
"mempool_precision": 1,
"mempool_descr": "Memory",
"mempool_perc": 0,
"mempool_used": 0,
"mempool_free": 0,
"mempool_total": 0,
"mempool_largestfree": null,
"mempool_lowestfree": null,
"mempool_deleted": 0,
"mempool_perc_warn": 75
}
]
},
"poller": "matches discovery"
}
}

View File

@ -0,0 +1,9 @@
1.3.6.1.4.1.39165.1.1.0|4|DS-2CD2185FWD-I
1.3.6.1.4.1.39165.1.3.0|4|V5.5.3 build 171025
1.3.6.1.4.1.39165.1.7.0|4|15 PERCENT
1.3.6.1.4.1.39165.1.8.0|4|0.0 GB
1.3.6.1.4.1.39165.1.9.0|4|0 PERCENT
1.3.6.1.4.1.39165.1.10.0|4|512 MB
1.3.6.1.4.1.39165.1.11.0|4|83 PERCENT
1.3.6.1.4.1.39165.1.21.0|4|H.264
1.3.6.1.4.1.39165.1.22.0|4|MJPEG

View File

@ -0,0 +1,14 @@
1.3.6.1.2.1.1.1.0|4|Hikvision company products
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.50001
1.3.6.1.2.1.1.3.0|67|85447143
1.3.6.1.2.1.1.4.0|4|<private>
1.3.6.1.2.1.1.5.0|4|<private>
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.4.1.50001.1.1.0|64|192.168.80.94
1.3.6.1.4.1.50001.1.3.0|4|0820160719AARR624053979WCVU
1.3.6.1.4.1.50001.1.100.0|2|2
1.3.6.1.4.1.50001.1.101.0|2|200
1.3.6.1.4.1.50001.1.220.0|2|169
1.3.6.1.4.1.50001.1.221.0|2|5
1.3.6.1.4.1.50001.1.241.1.4.1.0|2|2715648
1.3.6.1.4.1.50001.1.241.1.5.1.0|2|3815447