BUG: Graphite connector sends invalid data for SNMP

Tags: #<Tag:0x00007f3b87375e28>

Output of validate.php

/opt/librenms # ./validate.php

Component Version
LibreNMS 1.62.2
DB Schema 2020_03_24_0844_add_primary_key_to_device_graphs (160)
PHP 7.3.14
MySQL 5.7.29-32
RRDTool 1.7.2
SNMP NET-SNMP 5.8

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

[OK] Installed from the official Docker image; no Composer required
[OK] Database connection successful
[OK] Database schema correct
[FAIL] fping6 could not be executed. fping6 must have CAP_NET_RAW capability (getcap) or suid. Selinux exlusions may be required.
(/usr/sbin/fping: can’t create socket (must run as root?))
[FAIL] fping6 should have CAP_NET_RAW!
[FIX]:
setcap cap_net_raw+ep /usr/sbin/fping6
[WARN] Updates are managed through the official Docker image

I’m in the process of setting up LibreNMS / Graphite / Grafana, and got the LibreNMS -> Graphite connection working yesterday, but I am seeing these lines every so often in the Graphite logs.

https://p.libren.ms/view/74b3c5cc

It looks like LibreNMS is sending a U instead of a numeric value to Graphite?

The netstats/snmp graphs in the LibreNMS web ui seems to contain numeric values, at least somethings being graphed.

This is an artifact of rrd… either could filter the u out in the graphite datastore or push the ‘U’ down into the rrd datastore.

I’m not sure how I would go about filtering on the graphite side, as it is librenms that pushes the data to the collector socket, and it being non-numeric, and as I understand it, invalid data for monitoring purposes, its not accepted there.

If you could point me in the general direction of the codebase that handles Graphite data, I could take a look there and see if I could propose a fix.