From 3f4696677a1611111e330b011fe8d942e175f060 Mon Sep 17 00:00:00 2001 From: Tom Laermans Date: Tue, 24 Apr 2012 19:19:27 +0000 Subject: [PATCH] add synology Disk Station Manager recognition git-svn-id: http://www.observium.org/svn/observer/trunk@3084 61d68cd4-352d-0410-923a-c4978735b2b8 --- html/images/os/synology.png | Bin 0 -> 873 bytes includes/discovery/os/linux.inc.php | 20 +++++++++++++------- includes/polling/os/unix.inc.php | 6 ++++++ includes/static-config.php | 13 ++++++++++++- 4 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 html/images/os/synology.png diff --git a/html/images/os/synology.png b/html/images/os/synology.png new file mode 100644 index 0000000000000000000000000000000000000000..7cb13f2c2cd5731df1b8be70d539b7102507a339 GIT binary patch literal 873 zcmV-v1D5=WP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyc0 z6ATON0wn1G00QYrL_t(o!|j&KYZO@&#(!Tux+>`;w(-$wFo|P)qbQ9FA4r%%CCrF0 zvv79f#+?hd;-(ia+=<{${{Rs;G7D#;qM!(Z3rX;SASw<+6pfEOEW7Hs$gQ!c#I+0i z!sXmLb?&*}xplsel9};6hsSpwZ2)ZmZ2)Zm00Km_=>ak`oI0vJi~f1mp0j@GS*}pc zpSRHnX*5F2gqheNTX8mWb~ms!AX(4>Gci&|=fGXk>53E`g5k?j z?^2j-fKt#~$W}t_s#IMGtyRG1p`ql8>m`$P449O(12`_}FCdfD58Re?82DAv5x~ss zyvN6<<3xiuu}|xmdO1S!adklFc*xj>fNUtF_oYu9_ONXXYGXb#KSQtxlFK1I&!0SD zm%Gk>px4aK0pq}R-~n(6SYu`vfE7Ru=rgnPl02_NoBJwLAC@#{USI1@*I)5lt<^2+ zk20p$8dk5e{&7kxerLDeRPb7mMxfNp5|7HHYqV)#G0^31;{`AZ>;(pZQ_g<^xB%SC z85m6S-vqpGG>JCOHe4`j_V8aRO2C_#;6nn550LP_1JYOUxm$|&L$(6=2UrKZ1@=iA z26h5xfs+p4W8j9F{p~)>s3hOaQrAR{5H@weV9hm1Cq%zN-=bMigE3t6p|=O>RWQMl zWniAGy5E5i@Q1T|fL*|T;50DosC^Wux|o0hr$gtAT<~`1^8vrv{GY#JQ3o8K{gN*R zes_Iv2KW>B1-J#QDKNv!g~KmWrtmTspd3gpHl2kSuOL2QVSj!|$2_#nbB2_Vdj;j1 zqj*K>{e~=iWw|YDN;$XMf5mM8Z2)ZmKRkdhh!=B!$2<>;00000NkvXXu0mjfBZ`V+ literal 0 HcmV?d00001 diff --git a/includes/discovery/os/linux.inc.php b/includes/discovery/os/linux.inc.php index d5c8c67c1..454a76577 100755 --- a/includes/discovery/os/linux.inc.php +++ b/includes/discovery/os/linux.inc.php @@ -6,17 +6,23 @@ if (!$os) ## Specific Linux-derivatives - if ($os == "linux") { - + if ($os == "linux") + { ## Check for QNAP Systems TurboNAS $entPhysicalMfgName = snmp_get($device, "ENTITY-MIB::entPhysicalMfgName.1", "-Osqnv"); - if (strpos($entPhysicalMfgName, "QNAP") !== FALSE) { $os = "qnap";} - elseif(strstr($sysObjectId, ".1.3.6.1.4.1.5528.100.20.10.2014")) { $os = "netbotz"; } - elseif(strstr($sysDescr, "endian")) { $os = "endian"; } - elseif(preg_match("/Cisco Small Business/", $sysDescr)) { $os = "ciscosmblinux"; } - } + if(strstr($sysObjectId, ".1.3.6.1.4.1.5528.100.20.10.2014")) { $os = "netbotz"; } + elseif (strstr($sysDescr, "endian")) { $os = "endian"; } + elseif (preg_match("/Cisco Small Business/", $sysDescr)) { $os = "ciscosmblinux"; } + elseif (strpos($entPhysicalMfgName, "QNAP") !== FALSE) { $os = "qnap"; } + else + { + ## Check for Synology DSM + $hrSystemInitialLoadParameters = trim(snmp_get($device, "hrSystemInitialLoadParameters.0", "-Osqnv")); + if (strpos($hrSystemInitialLoadParameters, "syno_hw_version") !== FALSE) { $os = "dsm"; } + } + } } ?> diff --git a/includes/polling/os/unix.inc.php b/includes/polling/os/unix.inc.php index 4c00f0220..d8deb962c 100755 --- a/includes/polling/os/unix.inc.php +++ b/includes/polling/os/unix.inc.php @@ -71,5 +71,11 @@ elseif ($device['os'] == "qnap") $version = snmp_get($device, "ENTITY-MIB::entPhysicalFirmwareRev.1", "-Osqnv"); $serial = snmp_get($device, "ENTITY-MIB::entPhysicalSerial.1", "-Osqnv"); } +elseif ($device['os'] == "dsm") +{ +# FIXME only the build, not the actual version number, so won't use this.. yet? +# list(,,,$version,) = explode(" ",$poll_device['sysDescr'],5); +# $version = "Build " . trim($version,'#'); +} ?> diff --git a/includes/static-config.php b/includes/static-config.php index 99a527d6a..2da96b651 100644 --- a/includes/static-config.php +++ b/includes/static-config.php @@ -48,7 +48,7 @@ $config['os'][$os]['over'][2]['graph'] = "device_storage"; $config['os'][$os]['over'][2]['text'] = "Storage Usage"; $os = "qnap"; -$config['os'][$os]['type'] = "server"; +$config['os'][$os]['type'] = "storage"; $config['os'][$os]['group'] = "unix"; $config['os'][$os]['text'] = "QNAP TurboNAS"; $config['os'][$os]['ifXmcbc'] = 1; @@ -870,6 +870,12 @@ $config['os'][$os]['text'] = "ArubaOS"; $config['os'][$os]['type'] = "wireless"; $config['os'][$os]['icon'] = "arubaos"; +$os = "dsm"; +$config['os'][$os]['text'] = "Synology DSM"; +$config['os'][$os]['group'] = "unix"; +$config['os'][$os]['type'] = "storage"; +$config['os'][$os]['icon'] = "synology"; + foreach ($config['os'] as $this_os => $blah) { if (isset($config['os'][$this_os]['group'])) @@ -1071,6 +1077,11 @@ $config['device_types'][$i]['text'] = 'Load Balancers'; $config['device_types'][$i]['type'] = 'loadbalancer'; $config['device_types'][$i]['icon'] = 'loadbalancer.png'; +$i++; +$config['device_types'][$i]['text'] = 'Storage'; +$config['device_types'][$i]['type'] = 'storage'; +$config['device_types'][$i]['icon'] = 'storage.png'; + if (isset($config['enable_printers']) && $config['enable_printers']) { $i++;