Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further improve SNMP result handling for non-numeric results #312

Closed
tataa36 opened this issue Aug 18, 2023 · 5 comments
Closed

Further improve SNMP result handling for non-numeric results #312

tataa36 opened this issue Aug 18, 2023 · 5 comments
Labels
bug QA Issue found in QA, no ChangeLog required resolved
Milestone

Comments

@tataa36
Copy link

tataa36 commented Aug 18, 2023

Please close or merge this case if we could keep on working on #311.
I was not sure if an answer on a closed case will be read anymore.
Sorry for that.

It seems to depend on how many snmp bulkget I configure for each device:
max 10 OIDs per get:
2 from 18 avlues are working.
max 20 OIDs per get:
12 from 18 are working.
max 30 OIDs per get:
2 from 18 are working.
max 40 OIDs per port:
all 18 are working.

Total[0.4351] Device[80] HT[1] DS[20833] TT[3.42] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.1.1, value: -007.6674
Total[0.4351] Device[80] HT[1] DS[20833] TT[3.43] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.1.1, value: 000.6314
Total[0.4351] Device[80] HT[1] DS[20834] TT[3.44] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.3.1, value: -002.8124
Total[0.4351] Device[80] HT[1] DS[20834] TT[3.45] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.3.1, value: -002.2657
Total[0.4351] Device[80] HT[1] DS[20835] TT[3.47] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.5.1, value: -020.0877
Total[0.4351] Device[80] HT[1] DS[20835] TT[3.48] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.5.1, value: 001.3684
Total[0.4351] Device[80] HT[1] DS[20836] TT[3.49] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.7.1, value: -012.2475
Total[0.4351] Device[80] HT[1] DS[20836] TT[3.50] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.7.1, value: 000.7294
Total[0.4352] Device[80] HT[1] DS[20837] TT[3.52] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.9.1, value: -006.7923
Total[0.4352] Device[80] HT[1] DS[20837] TT[3.53] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.9.1, value: 001.2962
Total[0.4352] Device[80] HT[1] DS[20838] TT[3.54] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.10.1, value: -007.7650
Total[0.4352] Device[80] HT[1] DS[20838] TT[3.55] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.10.1, value: -002.3792
Total[0.4352] Device[80] HT[1] DS[20839] TT[3.56] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.257.1, value: -007.8621
Total[0.4352] Device[80] HT[1] DS[20839] TT[3.58] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.257.1, value: 001.2538
Total[0.4352] Device[80] HT[1] DS[20840] TT[3.59] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.261.1, value: -019.7469
Total[0.4352] Device[80] HT[1] DS[20840] TT[3.60] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.261.1, value: 001.5354
Total[0.4353] Device[80] HT[1] DS[20841] TT[3.61] SNMP: v2: HOST, dsname: snIfMonitoringRxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.4.263.1, value: -010.8512
Total[0.4353] Device[80] HT[1] DS[20841] TT[3.62] SNMP: v2: HOST, dsname: snIfMonitoringTxPwr, oid: .1.3.6.1.4.1.1991.1.1.3.3.10.1.3.263.1, value: 002.3258

If I look at the wireshark data structure with max 30 OIDs per get where at the end I only receive the last two values.
Cacti sends two snmp-get with 30 items in for these power values.
The first one has at the end 16 OIDs, and the second one starts with the two working OIDs.
Seems like only the last snmp-get is intepreted.
If I set it to max 40 OIDs per get, they all fit into a single snmp-get.

@TheWitness
Copy link
Member

Can you forward the Wireshark capture of the broken and working examples. Include with it the spine debug output. Send it to thewitness@cacti.net

@TheWitness
Copy link
Member

Glad the patch is otherwise working.

TheWitness added a commit that referenced this issue Aug 24, 2023
Spine won't work with complex SNMP results #v2
@TheWitness TheWitness added bug QA Issue found in QA, no ChangeLog required resolved labels Aug 24, 2023
@TheWitness TheWitness added this to the v1.2.25 milestone Aug 24, 2023
@TheWitness
Copy link
Member

@tataa36 , feedback?

@TheWitness
Copy link
Member

Okay, got this through email...

"Good morning Larry

This one looks very good. Doesn’t matter how many OIDs grouped I take.

Thanks a lot

Florian"

@jdcoats
Copy link

jdcoats commented Aug 25, 2023

wow, my poller is 6 sec faster now also. 22-24 sec down to 16-17
BEFORE

2023/08/25 07:22:25 - SYSTEM STATS: Time:24.1112 Method:spine Processes:2 Threads:40 Hosts:1811 HostsPerProcess:906 DataSources:70092 RRDsProcessed:0
2023/08/25 07:21:24 - SYSTEM STATS: Time:22.0792 Method:spine Processes:2 Threads:40 Hosts:1811 HostsPerProcess:906 DataSources:70092 RRDsProcessed:0

AFTER

2023/08/25 08:42:18 - SYSTEM STATS: Time:16.8145 Method:spine Processes:2 Threads:40 Hosts:1811 HostsPerProcess:906 DataSources:70092 RRDsProcessed:0
2023/08/25 08:41:18 - SYSTEM STATS: Time:16.5041 Method:spine Processes:2 Threads:40 Hosts:1811 HostsPerProcess:906 DataSources:70092 RRDsProcessed:0

@netniV netniV changed the title Spine won't work with complex SNMP results #v2 Further improve SNMP result handling for non-numeric results Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug QA Issue found in QA, no ChangeLog required resolved
Projects
None yet
Development

No branches or pull requests

3 participants