I have try to monitor juniper firewall filter counter with OID: .1.3.6.1.4.1.2636.3.5.2.1 .
Just follow this case Add OID to existing OS to add OID to yaml file and polling is failed with returning 0.
Any other files I need to config it ? How can I classify the value object to this setting?
Moreover, is it possible to monitor non if-mib interfaces with custom OID?
Warning: A non-numeric value encountered in /opt/librenms/includes/polling/functions.inc.php on line 167
0
RRD[update /opt/librenms/rrd/103.15.181.172/sensor-count-junos-jnxFWCounterPacketCount.A-Filter.Incoming.rrd N:0]
RRDtool Output:
The oid is a string_indexed OID, and that is not supported by LibreNMS right now (nor by any snmp command in fact). The only option is to change the query to a real numoid.
There is a PR ongoing to allow YAML discovery to deal with those, you can follow it.
[root@librenms librenms]# snmpget -v2c -c network ip.address .1.3.6.1.4.1.2636.3.5.2.1.5.39.67.84.71.45.70.105.108.116.101.114.73.78.46.80.111.108.105.99.101.114.45.72.82.45.67.111.117.110.116.101.114.46.99.111.117.110.116.101.114
SNMPv2-SMI::enterprises.2636.3.5.2.1.5.39.67.84.71.45.70.105.108.116.101.114.73.78.46.80.111.108.105.99.101.114.45.72.82.45.67.111.117.110.116.101.114.46.99.111.117.110.116.101.114 = No Such Instance currently exists at this OID
And snmpwalk jnxFirewallCounterTable OID can get below object.
After compare both OID, I found this different.
DB:
.2636.3.5.2.1.5.39.67.84.71.45.70.105.108.116.101.114.73.78.46.80.111.108.105.99.101.114.45.72.82.45.67.111.117.110.116.101.114.46.99.111.117.110.116.101.114
snmpwalk:
.2636.3.5.2.1.5.12.67.84.71.45.70.105.108.116.101.114.73.78.18.80.111.108.105.99.101.114.45.72.82.45.67.111.117.110.116.101.114.2
Yes and No. The conversion is not using the mib. 1st number should gives the length, and other numbers are ASCII code characters.
In that aspect, DB looks good, snmpwalk looks wrong.
SQL[SELECT sensor_class FROM sensors WHERE device_id = ? GROUP BY sensor_class [1] 1.21ms]
SQL[SELECT * FROM sensors WHERE sensor_class = ? AND device_id = ? [âcountâ,1] 1.22ms]
SNMP[â/usr/bin/snmpgetâ â-v2câ â-câ âud_networkâ â-OUQnteâ â-Mâ â/opt/librenms/mibs:/opt/librenms/mibs/junosâ âudp:103.15.181.172:161â â.1.3.6.1.4.1.2636.3.5.2.1.5.39.67.84.71.45.70.105.108.116.101.114.73.78.46.80.111.108.105.99.101.114.45.72.82.45.67.111.117.110.116.101.114.46.99.111.117.110.116.101.114â]
.1.3.6.1.4.1.2636.3.5.2.1.5.39.67.84.71.45.70.105.108.116.101.114.73.78.46.80.111.108.105.99.101.114.45.72.82.45.67.111.117.110.116.101.114.46.99.111.117.110.116.101.114 = No Such Instance currently exists at this OID
Warning: A non-numeric value encountered in /opt/librenms/includes/polling/functions.inc.php on line 167
0
RRD[update /opt/librenms/rrd/ip.address/sensor-count-junos-jnxFirewallCounterTable.CTG-FilterIN.Policer-HR-Counter.counter.rrd N:0]
RRDtool Output: OK u:0.01 s:0.01 r:1.10
If the OID is always the same for all Juniper devices, you can configure the oid_num completely manually (without the {{ $index }} ) so it wonât be calculated dynamically.
If the OID is changing (so if the text in the OID is changing) between devices, then you wonât be able to add it via YAML until this PR 10410 is merged (or another equivalent one).