Custom value labels for monitored metrics?


Firstly, I have been using LibreNMS for a little while now and am very impressed.

One of the things I am monitoring is our air conditioning units which are controlled via a Carel controller.

When our controller was installed, the labels of various measurable metrics were changed to something meaningful…for example, one of the labels is ‘Unit Setpoint’ which is a fixed temperature value which the controller uses to decide when to switch between different types of cooling.

The problem I have is that when LibreNMS polls/discovers the air con controller, it automatically labels the values I would like to monitor as per whatever is defined in the SNMP MIB.

In the ‘Unit Setpoint’ example above, LibreNMS labels this as ‘Room Temperature’ on all graphs, logs etc. presumably because the SNMP OID corresponding to the value for ‘Unit Setpoint’ is defined like this in the MIB:

    roomTemp OBJECT-TYPE
                SYNTAX Integer32 (-32767..32767)
                UNITS "degrees C"
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION "Room Temperature"
                ::= { analogObjects 1 }

I guess the feature I’d like to request is the ability to override the label which LibreNMS reads from the MIB with a custom value.

If I go to the device’s health settings there is a column for ‘Desc’ which has all the automatically defined labels (see screenshot at end of this topic)…would it be possible to make the values in this column editable?

If this were possible, would entering a custom value here be reflected everywhere for that device (on graphs, in logs etc.), or is it more complicated than that?

I’d have a try at this myself, but I wouldn’t know where to start. I am not a coder myself, but I can do some php, mysql etc. In any case, if this were to be implemented as a new feature, I would certainly be willing to help in any way I can.

Anyway, I hope I have explained all this in a way that makes sense.

Thanks in advance.


This can easily be fixed if the description you set is returned somewhere by snmp.

If you could either do some snmpwalks or pastebin one, I could probably fix that.

This might help:


Thanks for the swift reply. I just ran a ‘snmpbulwalk … bit-daqs-1 -M /opt/librenms/mibs -m CAREL-ug40cdz-MIB .’ command. The output is pretty big, but it doesn’t return any STRING values which correspond to the temperatures I would be monitoring…the relevant OIDs are below…beside them I have put what I think are the corresponding labels which I see on the front panel and also the web interface to our controllers (there’s 2 I’m not sure about):

CAREL-ug40cdz-MIB::roomTemp.0 = INTEGER: 210 degrees C (Unit Setpoint)
CAREL-ug40cdz-MIB::outdoorTemp.0 = INTEGER: 231 degrees C (Return Air Temperature)
CAREL-ug40cdz-MIB::deliveryTemp.0 = INTEGER: 181 degrees C (NOT SURE ABOUT THIS ONE)
CAREL-ug40cdz-MIB::cwTemp.0 = INTEGER: 189 degrees C (NOT SURE ABOUT THIS ONE)
CAREL-ug40cdz-MIB::hwTemp.0 = INTEGER: 131 degrees C (Outdoor Air Temperature)

…and there is no STRING type returned which corresponds to these OIDs. It seems to me that LibreNMS is pulling the description from the MIB file (observium does the same thing).

The values shown are correct, valid temperature parameters, but it seems that however the controllers were set up (and quite possibly they were setup incorrectly), the labels displayed on the front panel (and also the web interface to the controllers) don’t correspond to anything in the MIB file and don’t seem to be returned with an snmpwalk.

If you still want to see the full snmpwalk output let me know…its pretty long, but I could make it available if you think it would help.

Thanks in advance for your help.


Bummer. Well, something would probably need to be added to the webui to allow generic renaming of sensors.
You might want to create a feature request on github.

I wouldn’t mind the snmpwalk so I can put in my simulator, just make sure it doesn’t have any info you don’t want available on the web. Thanks.