hrDeviceProcessor unknown for HP DL360

Tags: #<Tag:0x00007f70753b3390> #<Tag:0x00007f70753b32a0>

Hi

We have some HP DL360 servers that are detected in LibreNMS with OS of Windows Server.
However the ‘Hardware’ section shows: Intel x64.
When running a ./discovery.php against the host I get the following (snapshot of relevant items hopefully:


Modules status: Global+
OS
Device

Load disco module processors

No YAML Discovery data.
Host Resources: SNMP[’/usr/bin/snmpbulkwalk’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-OQUs’ ‘-m’ ‘HOST-RESOURCES-MIB’ ‘-M’ ‘/opt/librenms/mibs:/opt/librenms/mibs/dell’ ‘-t’ ‘10’ ‘udp:HOSTNAME:161’ ‘hrProcessorLoad’]
hrProcessorLoad.3 = 0

SNMP Check response code: 0
Modules status: Global+
OS
Device

Load disco module core

SNMP[’/usr/bin/snmpget’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-OUQn’ ‘-m’ ‘SNMPv2-MIB’ ‘-M’ ‘/opt/librenms/mibs:/opt/librenms/mibs/dell’ ‘-t’ ‘10’ ‘udp:HOSTNAME:161’ ‘sysName.0’ ‘sysObjectID.0’ ‘sysDescr.0’]
...0 = [Hostname]
...0 = ..4.1.3.1.3
...0 = Hardware: Intel64 Family 6 Model 79 Stepping 1 AT/AT COMPATIBLE - Software: Windows Version 6.3 (Build 14393 Multiprocessor Free)

| Hardware: Intel64 Family 6 Model 79 Stepping 1 AT/AT COMPATIBLE - Software: Windows Version 6.3 (Build 14393 Multiprocessor Free) | .1.3.6.1.4.1.311.1.1.3.1.3 |
Attempting to initialize OS: windows
OS initialized: LibreNMS\OS\Windows
OS: Microsoft Windows (windows)

SNMP[’/usr/bin/snmpbulkwalk’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-OQUs’ ‘-m’ ‘HOST-RESOURCES-MIB’ ‘-M’ ‘/opt/librenms/mibs:/opt/librenms/mibs/dell’ ‘-t’ ‘10’ ‘udp:HOSTNAME:161’ ‘hrDeviceDescr’]
hrDeviceDescr.1 = Microsoft XPS Document Writer v4
hrDeviceDescr.2 = Microsoft Print To PDF
hrDeviceDescr.3 = Unknown Processor Type
hrDeviceDescr.4 = Unknown Processor Type
hrDeviceDescr.5 = Unknown Processor Type
hrDeviceDescr.6 = Unknown Processor Type

An example processor from the list:-

Discovered LibreNMS\Device\Processor Array
(
[processor_id] =>
[entPhysicalIndex] => 0
[hrDeviceIndex] => 3
[device_id] => 100
[processor_oid] => .1.3.6.1.2.1.25.3.3.1.2.3
[processor_index] => 3
[processor_type] => hr
[processor_usage] => 0
[processor_descr] => Processor
[processor_precision] => 1
[processor_perc_warn] => 75

The output of ./validate.php

====================================

Component Version
LibreNMS 21.1.0-24-g5380f996f
DB Schema 2021_02_08_224355_fix_invalid_dates (199)
PHP 7.4.3
Python 3.8.5
MySQL 10.3.25-MariaDB-0ubuntu0.20.04.1
RRDTool 1.7.2
SNMP NET-SNMP 5.8

====================================

[OK] Composer Version: 2.0.9
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

Can anyone suggest how to resolve the discovery of these servers hardware types?

Thanks in advance.

Run the commands outlined here https://docs.librenms.org/Support/FAQ/#faq20

HI @Jellyfrog

I’ve completed the discovery and got this, has it worked?

./discovery.php !hostnameremoved! 2021-02-18 10:21:58 - 1 devices discovered in 1575. secs
title:
name: xxxx
private: 1
expire: 0
curl: (6) Could not resolve host: 'https

./poller.php !hostnameremoved! 2021-02-18 10:24:55 - 1 devices polled in 4.392 secs
title:
name: xxxx
private: 1
expire: 0
curl: (6) Could not resolve host: 'https

Any ideas?

Kind regards

It looks like you have entered URLs instead of hostnames?

HI @Jellyfrog

it does appear that way, but I manually typed in the FQDNs of the device as it appears in LibreNMS.

Kind regards

Okey maybe you have one of those weird systems without https support in curl.

Try these and replace HOSTNAME with the ip of the machine

./discovery.php -h HOSTNAME -d
./poller.php -h HOSTNAME -r -f -d
snmpbulkwalk -OUneb -v2c -c COMMUNITY HOSTNAME .

Hi @Jellyfrog

Thanks for the response.
The commands you supplied work if you use the hostname or or IP.
I think you are right, there appears to be something in the curl command using the " | ./pbin.sh" of the command.

Any ideas on the curl component to install/update to fix this?

Kind regards

The problem with pbin.sh has been fixed in nightly

Thanks @Jellyfrog

I’ve run this again and uploaded what I can.
https://p.libren.ms/view/9e41cb29
https://p.libren.ms/view/b9f4b4c1

The last command now causes a database error, this is a snip of the start of the error:

Filename: models/Pastes.php

Line Number: 140

A PHP Error was encountered

Severity: Warning

Message: Error while sending QUERY packet. PID=29066

Filename: mysqli/mysqli_driver.php

Line Number: 305

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /opt/Stikked/htdocs/system/database/DB_driver.php:1782)

Filename: core/Common.php

Line Number: 570

A Database Error Occurred

Error Number: 2006

MySQL server has gone away

INSERT INTO `sessions` (`id`, `ip_address`, `timestamp`, `data`) VALUES ('ubd0pm75rajrs3diqc8hl7s21fhsdq4v', '89.38.125.68', 1614073239, '__ci_last_regenerate|i:1614073235;')

Filename: libraries/Session/drivers/Session_database_driver.php

Line Number: 238

A PHP Error was encountered

Severity: Warning

Message: Unknown: Cannot call session save handler in a recursive manner

Filename: Unknown

Line Number: 0

A PHP Error was encountered

Severity: Warning

Message: Unknown: Failed to write session data using user defined save handler. (session.save_path: /var/opt/remi/php71/lib/php/session)

Filename: Unknown

Line Number: 0

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /opt/Stikked/htdocs/system/database/DB_driver.php:1782)

Filename: core/Common.php

Line Number: 570

A Database Error Occurred

Error Number: 2006

MySQL server has gone away

SELECT RELEASE_LOCK('e494785851fba4e982fa8904fd79e762') AS ci_session_lock

Filename: libraries/Session/drivers/Session_database_driver.php

Line Number: 425

Err seems youre a bit unlucky, that error is from our pastebin…
Anyway, Windows support is quite limited, what youre seeing is set here; https://github.com/librenms/librenms/blob/master/LibreNMS/OS/Windows.php#L59

If you want to contribute better support for windows, im all for it.

Hey @Jellyfrog
It’s feeling that way :upside_down_face: :upside_down_face:

The interesting thing is that this only seems to affect HP servers running Windows, Dell devices capture their device info properly as below:

Dell Hardware:

image

HP Hardware:

image

Is there just an issue with the vendor hardware MIB support or the way it’s being read?

I can’t see anything windows OS support link you included that references either vendor so believe that this isn’t an OS issue.

However happy to add and dev the Windows functionality, huge opportunity there and as I understand, a deadline on SNMP support for Windows until this will become a limiting factor for the solution.
Are you focusing on Check_MK or NSClient++ for WIndows integration?

Kind regards

I missed this, https://github.com/librenms/librenms/blob/master/LibreNMS/OS/Traits/ServerHardware.php#L57

so thats what it tries to read, you should snmpwalk and check if you need to add something, probably some “hp health snmp agent” or something you need to install

Cheers @Jellyfrog

I’ve just run an SNMP discovery again and I believe it’s related to the exposure of system information through iLO on an HP device, for some reason the system information does return through a standard SNMP test.
Allowing passthrough SNMP from the iLO also doesn’t pass the necessary information through.

It’d be interesting to see if anyone else on the forum has found similar and a workaround.

Kind regards