Huawei server does not work with LibreNMS

Hello, i have troubles with huawei server RH2288H V3, i added this server, set up SNMP community but it just cant work, graphs not working and values are unreal (like it showing 100% cpu load but in reality cpu has 0%…)

  • Steps to reproduce an issue. => add host in GUI LibreNMS, config SNMP community, perform auto discovery, graphs not working → error reading graph, values not look correct.
  • The output of ./validate.php =>
    [email protected]:/opt/librenms# ./validate.php
    ====================================
    Component | Version
    --------- | -------
    LibreNMS | 1.60-80-gf8c43ee90
    DB Schema | 2020_02_10_223323_create_alert_location_map_table (159)
    PHP | 7.2.24-0ubuntu0.18.04.3
    MySQL | 10.1.44-MariaDB-0ubuntu0.18.04.1
    RRDTool | 1.7.0
    SNMP | NET-SNMP 5.7.3
    ====================================

[OK] Composer Version: 1.9.3
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct
[WARN] Your local git contains modified files, this could prevent automatic updates.
[FIX]:
You can fix this with ./scripts/github-remove
Modified Files:
config/hashing.php
config/logging.php
config/tinker.php
[email protected]:/opt/librenms#

If it’s an issue with the WebUI then please consider including a screenshot and the browser version you are using.

If you are having troubles with discovery/polling include the pastebin output of:

./discovery.php -h HOSTNAME -d | ./pbin.sh => //p.libren.ms/view/38aff802
./poller.php -h HOSTNAME -r -f -d | ./pbin.sh => //p.libren.ms/view/39058d3d

Idk what i should do.

I also have question connected with auto discovery, how it works in SNMP case when i dont import MIB to LibreNMS ? in case of huawei switch everything works and there is no need for importing MIB, how it is possible ? where are the informations about meaning the values (MIB) it is possible that NMS can download MIB from device ? or while autodiscovering LibreNMS use some internal default database of MIBS ?

thank you very much

BR

Filip Směšný

Hello
The discovery is automatic in LibreNMS, we already have all the mib we need.
Concerning the RH2288V3, they are doing quite OK in our setup. But looking at your screen, the IBMC is somehow not reachable. They should basically never be “red”, unless you reboot the IBMC or unplug it.
Of course, if you did not do it already, please update both ibmc and bios to the last version to avoid issues.

Hello, thank you for fast response, unfortunately iBMC & BIOS upgrade didnt help.
When i adding server librenms tells me this error message:

Could not connect to 2102311HHU10HB000037, please check the snmp details and snmp reachability

SNMP v2c: No reply with community [email protected]_123

I know that i can use " Force add (No ICMP or SNMP checks performed)" than i can add device but obviously it still dont have connection…

I can test SNMP connection from my laptop via SNMP testing tool and it run correctly.
When i log in Librenms CLI i can ping to the server what i cant add … strange, maybe some mistake with SNMP setting but which ? i have SNMPV2 turned on in iBMC, right community name, correct hostname, last option about what im not sure is “Port Association Mode” in Libre NMS GUI setting - i have “ifIndex” …

I really cant understand what is wrong, it seems it has not connection but in fact i can ping from NMS to iBMC …

i enslosing screenshots

2 4 5

I also try walk OIDs from LibreNMS CLI and it reads … see pictures below:

walk2

UPDATE: It Works ! i did several more tries and now i read values :slight_smile:

But still some values are strange, in iBMC i can see CPU load about 6% but LIbre shows me about 40-50%


LibreNMS shows the cpu of IBMC at the time LibreNMS is running. So it is only mesuring during the peaks. And the IBMC GUI is averaging during minutes. LibreNMS is taking instant peak. So this is clearly artificially higher than truth but there is no easy way to fix this.

Hello, but Libre NMS should use OID for monitoring CPU load right ?, but i still have above 40% no matter the server is IDLE for whole day … so the value is false, if i read value via OID directly it gave me back 0, and when i have 0 whole day, i dont understand why LibreNMS displaying 40% ?

I have also another issue, when server is turned off, value of OID for CPU temperature is 255 which means that this information is unvaliable, LibreNMS displays 6550 °C in this situation.
Is there any workaround ? because i cant imagine situation stat everytime when customer turn off server alarms about temperature will be activated.

Thank you

Hi,
Huawei servers are providing the instant CPU value of the IBMC (not of the OS that is running on the Xeon, only the small CPU that runs the ibmc). And this instant CPU is high during polling because on those small CPUs polling is ressource intensive. They have nothing else to do. So the value is as accurate as ibmc provides it at the time LibreNMS asks … No computation is done. If you don’t like this value, you can open a ticket at Huawei Support.
Concerning the temperature, the value we display is the one the IBMC is providing. Once again, please get in touch with Huawei and ask them to change this to a more usual value, and document it properly in the mib. We have no way to catch this alien value right now, and it is not documented (so it might change between versions, devices, etc etc).

So this Graph:

Is not graph of Xeon ( i have 2* Xeon E5)but it is graph of BMC processor (which do polling and due to this fact the load 40-60% ?)

I thought it is graph of Xeon CPU, when i poll Xeon CPU load it reverts me value 0, still it has value 0.

So the values which are shown in CPU usage are not about Intel Xeon but BMC chip ?

Where can i search for Intel Xeon CPU load values ? i can poll them and get the value but i cant see this in LibreNMS.

Same story with physical memory:

Libre shows me around 80% but OID for system memory usage showing still 0 (because server idling)it is really about RAM ? or it is again something different ?

Thank you.

The details per XeonCPU seem to be only accessible in the OS or hypervisor that runs on the server as far as I know. But an “average CPU” value is indeed accessible with the OID you provided. I can’t tell if it is the Xeon(s) or the iBMC one for sur, the MIB does not tell. On my servers, your OID is at 22% and the iBMC is around 60% so probably your OID is the one that averages the Xeon(s). When you look at the MIB, almost no details are available.
I’ll check the memory as well, but same in the MIB, not many details available.
If it makes sense, we’ll change the iBMC definition in LibreNMS to use these.

It is just possible to assing this OID to CPU load graph in LibreNMS ?

Actually there must be different OID because it reads absolutely different values as i showed in the picture.

Can i edit what OID is assigned to CPU load ? because actually it is just wrong OID → with right OID i can read correct walues (via my dedicated SNMP poller).

Thank you

Filip

I am testing it. Cause, looking at the MIB description, it is not clear which CPU is graphed with those OIDs.
If the results of the test are OK, a PR will come to fix this.
Bye

You can test this new patch :

./scripts/github-apply 11236

Let us know if it looks OK.

Hello, I applied the patch, restart whole system but nothing changed.

I did test, i start walking OID with SNMP tester and set repeating of this (my purpose was to make bigger load on BMC chip which is responsible for polling [retrieving polling]).

Result was that i can see load raised for exactly same time while i did the test.

So the graph not showing Intel Xeon CPU load with OID 1.3.6.1.4.1.2011.2.235.1.1.1.23.0 because this OID retrieving me absolutely different values (0 ,max about 4-6%), LibreNMS graph of CPU load show around 40% constantly (even if server is powered off), when i did the polling test it was about 80% - only for time when i did the test.

Is there any chance to have graph and make alarms for OID 1.3.6.1.4.1.2011.2.235.1.1.1.23.0 ??

Thank you lot for cooperation.

You need to discover all devices again (or wait until the nightly discovery occurs) to see the change.

Thank you, after rediscovery od device and some time to take effect i can tell that CPU reading now work fine.

I have same problem with RAM memory usage, can you help me also in this case ?

ram load by vmware

Thank you

Yes, will do. One issue at a time, we start with the CPU, and then we’ll check the Memory part.

Hello, thank you very much, it looks that CPU monitoring works fine now.

so next points are:

  • same problem with RAM
  • wrong reading of CPU temp when server is powered off (it shows 6550°C)

Thank you in advance !

BR

Filip Směšný

As already indicated:

  • the temperature of 6550 is provided by Huawei. Nothing we can do here. You have to ask them to correct it.
  • the RAM part will be started as soon as the 1st patch for CPU is accepted in LibreNMS.

Hello @Fi_Lip
Patched was merged now in main LibreNMS. So you have to revert the manual application you did for testing (daily.sh will fail to upgrade until you do).
Will have a look at the Memory part next week.
Bye

Thank you for informations

Hello,

i have question regarding adding device, when i fill in “Hostname:” and when the hostname in Libre nms differ from hostname in iBMC Libre nms telling that there is problem with hostname.

Do i understand it correctly that hostname in Libre nms must be exactly same as the one in iBMC ?

BR

Filip Směšný