Telegraf: how to gather 'opaque float' values via new SNMP plugin?


I’m monitoring an APC UPS, which is attached to my Synology NAS (via USB). The Synology exposes lots of useful info about the UPS via SNMP.

Having solved my previous issue with MIB-OID translation, I then found that only a subset of values were being collected by Telegraf.

Any OIDs which returned values as ‘opaque float’ type were ignored by Telegraf (and thus didn’t arrive at InfluxDB): ups load, battery charge, battery voltage, input voltage - basically anything useful. :frowning:
The only useful value that I could monitor was battery runtime, which was returned as integer seconds.

I think I’m hitting this issue:

I’ve worked around it by creating a shell script which uses snmpget and curl to gather and post the missing fields, then sleeps before looping.

It feels very much like a kludge, so I thought I’d ask here if anyone has any better solutions please? I’m hoping the new SNMP plugin will eventually be updated to handle opaque floats, of course… but are there better workarounds until then?


Thank you for adding to the issue. I haven’t heard of any other solutions sadly.