Re: SNMP Problem with VM Appliance
Jonathan Heard <[email protected]>
| Newsgroups | gmane.network.opennms.general |
|---|---|
| Message-ID | <[email protected]> |
Mike,
Looking a little bit further into this I can see that the error
you're getting is actually more likely to be from the Snmp4J library. It
raises an identical exception to the class I pointed out in my last
email if it cannot cast the received snmp data to a valid IP Address.
Unfortunately for you, it fails unless the address is an IP Address type
- i.e. Octet String type would cause this exception:
/./core/snmp/impl-snmp4j/src/main/java/org/opennms/netmgt/snmp/snmp4j/Snmp4JValue.java/
242 @Override
243 public InetAddress toInetAddress() {
244 switch (m_value.getSyntax()) {
245 case SMIConstants.SYNTAX_IPADDRESS:
246 return ((IpAddress)m_value).getInetAddress();
247 default:
248 throw new IllegalArgumentException("cannot convert
"+m_value+" to an InetAddress");
249 }
250 }
I *think* that an Octet String would be a byte sequence in the correct
order to effectively allow for an additional case in the code above to
cast it the same way as the correct type. But this would need to be
tried and tested.
I also *think* that if the above problem was addressed then it may work,
but would then bleat about the RFC non-conformance as previously mentioned.
If Adtran are able to provide a standards-compliant update to their SNMP
implementation I think this would be the best solution. Alternatively,
you could try the SNMP poller idea I suggested, or consider coding a
work-around in the above code - To date I'm still in the process of
submitting my own first-ever bug fix to the OpenNMS team so I have no
idea whether a change to Snmp4J would be accepted - perhaps if it were a
configurable workaround which only allowed Octet Strings as an IP
Address if a config property is true, then it might be a happier outcome.
Best of luck
Jonathan
On 06/10/17 13:53, Mike Wells wrote:
> Jonathan,
>
> Thanks for responding. Yikes - reading RFCs is no picnic is it? But I
> understand enough of it to see what you are talking about and to see
> that the Adtran device is not doing what it should.
>
> I've emailed their support group under the ticket I raised and we'll
> see what they say.
>
> I took a look in provisiond.log (C:\Program Files\OpenNMS\logs on my
> server) and the only entries for the date/time when I forced the
> rescan (and got the error again) are these:
>
> 2017-10-06 08:17:31,184 WARN [nodeScanExecutor-1]
> o.o.n.p.s.Provisioner: nodeScan =
> org.opennms.netmgt.provision.service.NodeScan@557a20eb[foreign
> source=BlueSocket-Controllers,foreign id=1505495340989,node
> id=88,location=Default,aborted=false,provision
> service=org.opennms.netmgt.provision.service.DefaultProvisionService@3f1b6d1a]
> 2017-10-06 08:17:31,184 WARN [nodeScanExecutor-1]
> o.o.n.p.s.Provisioner: addToScheduleQueue future =
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@689e45c8
>
> Then, about 15-20 minutes later are some java errors but I'm not sure
> if they are related. They do seem to relate to a problem with an
> interface table:
>
> 2017-10-06 08:35:34,728 WARN [DefaultUDPTransportMapping_0.0.0.0/0]
> o.o.n.p.s.PhysInterfaceTableTracker: Cannot decode MAC address: '.......্
> java.lang.IllegalArgumentException: Cannot decode MAC address:
> '....... at
> org.opennms.core.utils.InetAddressUtils.macAddressStringToBytes(InetAddressUtils.java:469)
> ~[org.opennms.core.lib-20.0.1.jar:?]
> at
> org.opennms.core.utils.InetAddressUtils.normalizeMacAddress(InetAddressUtils.java:498)
> ~[org.opennms.core.lib-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker$PhysicalInterfaceRow.getPhysAddr(PhysInterfaceTableTracker.java:207)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker$PhysicalInterfaceRow.createInterfaceFromRow(PhysInterfaceTableTracker.java:224)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.NodeScan$AgentScan$3.processPhysicalInterfaceRow(NodeScan.java:589)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker.rowCompleted(PhysInterfaceTableTracker.java:256)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpTableResult.handleCompleteRows(SnmpTableResult.java:99)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpTableResult.storeResult(SnmpTableResult.java:75)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.TableTracker.storeResult(TableTracker.java:116)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.TableTracker.lambda$handleWalkResponses$2(TableTracker.java:221)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> ~[?:1.8.0_141]
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
> ~[?:1.8.0_141]
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> ~[?:1.8.0_141]
> at
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> ~[?:1.8.0_141]
> at
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> ~[?:1.8.0_141]
> at
> org.opennms.netmgt.snmp.TableTracker.handleWalkResponses(TableTracker.java:221)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.SNMPWalkWithTrackerBuilder.processResponse(SNMPWalkWithTrackerBuilder.java:66)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.SNMPWalkWithTrackerBuilder.processResponse(SNMPWalkWithTrackerBuilder.java:39)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.AbstractSNMPRequestBuilder.lambda$execute$0(AbstractSNMPRequestBuilder.java:92)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> [?:1.8.0_141]
> at
> org.opennms.netmgt.snmp.proxy.common.SnmpProxyRpcModule$4.complete(SnmpProxyRpcModule.java:145)
> [org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.finish(SnmpWalker.java:177)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.handleDone(SnmpWalker.java:112)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.buildAndSendNextPdu(SnmpWalker.java:101)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker.access$800(Snmp4JWalker.java:48)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.processResponse(Snmp4JWalker.java:155)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.onResponse(Snmp4JWalker.java:180)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at org.snmp4j.Snmp.processPdu(Snmp.java:1273)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:691)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:310)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:387)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:347)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:430)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141]
> 2017-10-06 08:35:34,728 WARN [DefaultUDPTransportMapping_0.0.0.0/0]
> o.o.n.p.s.PhysInterfaceTableTracker: Cannot decode MAC address: '........'
> java.lang.IllegalArgumentException: Cannot decode MAC address: '........'
> at
> org.opennms.core.utils.InetAddressUtils.macAddressStringToBytes(InetAddressUtils.java:469)
> ~[org.opennms.core.lib-20.0.1.jar:?]
> at
> org.opennms.core.utils.InetAddressUtils.normalizeMacAddress(InetAddressUtils.java:498)
> ~[org.opennms.core.lib-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker$PhysicalInterfaceRow.getPhysAddr(PhysInterfaceTableTracker.java:207)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker$PhysicalInterfaceRow.createInterfaceFromRow(PhysInterfaceTableTracker.java:224)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.NodeScan$AgentScan$3.processPhysicalInterfaceRow(NodeScan.java:589)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker.rowCompleted(PhysInterfaceTableTracker.java:256)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpTableResult.handleCompleteRows(SnmpTableResult.java:99)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpTableResult.storeResult(SnmpTableResult.java:75)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.TableTracker.storeResult(TableTracker.java:116)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.TableTracker.lambda$handleWalkResponses$2(TableTracker.java:221)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> ~[?:1.8.0_141]
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
> ~[?:1.8.0_141]
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> ~[?:1.8.0_141]
> at
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> ~[?:1.8.0_141]
> at
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> ~[?:1.8.0_141]
> at
> org.opennms.netmgt.snmp.TableTracker.handleWalkResponses(TableTracker.java:221)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.SNMPWalkWithTrackerBuilder.processResponse(SNMPWalkWithTrackerBuilder.java:66)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.SNMPWalkWithTrackerBuilder.processResponse(SNMPWalkWithTrackerBuilder.java:39)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.AbstractSNMPRequestBuilder.lambda$execute$0(AbstractSNMPRequestBuilder.java:92)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> [?:1.8.0_141]
> at
> org.opennms.netmgt.snmp.proxy.common.SnmpProxyRpcModule$4.complete(SnmpProxyRpcModule.java:145)
> [org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.finish(SnmpWalker.java:177)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.handleDone(SnmpWalker.java:112)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.buildAndSendNextPdu(SnmpWalker.java:101)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker.access$800(Snmp4JWalker.java:48)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.processResponse(Snmp4JWalker.java:155)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.onResponse(Snmp4JWalker.java:180)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at org.snmp4j.Snmp.processPdu(Snmp.java:1273)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:691)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:310)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:387)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:347)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:430)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141]
> 2017-10-06 08:35:34,728 WARN [DefaultUDPTransportMapping_0.0.0.0/0]
> o.o.n.p.s.PhysInterfaceTableTracker: Cannot decode MAC address: '.......্
> java.lang.IllegalArgumentException: Cannot decode MAC address:
> '....... at
> org.opennms.core.utils.InetAddressUtils.macAddressStringToBytes(InetAddressUtils.java:469)
> ~[org.opennms.core.lib-20.0.1.jar:?]
> at
> org.opennms.core.utils.InetAddressUtils.normalizeMacAddress(InetAddressUtils.java:498)
> ~[org.opennms.core.lib-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker$PhysicalInterfaceRow.getPhysAddr(PhysInterfaceTableTracker.java:207)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker$PhysicalInterfaceRow.createInterfaceFromRow(PhysInterfaceTableTracker.java:224)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.NodeScan$AgentScan$3.processPhysicalInterfaceRow(NodeScan.java:589)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.provision.service.PhysInterfaceTableTracker.rowCompleted(PhysInterfaceTableTracker.java:256)
> ~[opennms-provisiond-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpTableResult.handleCompleteRows(SnmpTableResult.java:99)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpTableResult.storeResult(SnmpTableResult.java:75)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.TableTracker.storeResult(TableTracker.java:116)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.TableTracker.lambda$handleWalkResponses$2(TableTracker.java:221)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> ~[?:1.8.0_141]
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
> ~[?:1.8.0_141]
> at
> java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> ~[?:1.8.0_141]
> at
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
> ~[?:1.8.0_141]
> at
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
> ~[?:1.8.0_141]
> at
> java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> ~[?:1.8.0_141]
> at
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> ~[?:1.8.0_141]
> at
> org.opennms.netmgt.snmp.TableTracker.handleWalkResponses(TableTracker.java:221)
> ~[org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.SNMPWalkWithTrackerBuilder.processResponse(SNMPWalkWithTrackerBuilder.java:66)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.SNMPWalkWithTrackerBuilder.processResponse(SNMPWalkWithTrackerBuilder.java:39)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.proxy.common.AbstractSNMPRequestBuilder.lambda$execute$0(AbstractSNMPRequestBuilder.java:92)
> ~[org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> [?:1.8.0_141]
> at
> java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> [?:1.8.0_141]
> at
> org.opennms.netmgt.snmp.proxy.common.SnmpProxyRpcModule$4.complete(SnmpProxyRpcModule.java:145)
> [org.opennms.core.snmp.proxy.rpc-impl-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.finish(SnmpWalker.java:177)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.handleDone(SnmpWalker.java:112)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.SnmpWalker.buildAndSendNextPdu(SnmpWalker.java:101)
> [org.opennms.core.snmp.api-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker.access$800(Snmp4JWalker.java:48)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.processResponse(Snmp4JWalker.java:155)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.onResponse(Snmp4JWalker.java:180)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at org.snmp4j.Snmp.processPdu(Snmp.java:1273)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:691)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:310)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:387)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:347)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at
> org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:430)
> [org.opennms.core.snmp.implementations.snmp4j-20.0.1.jar:?]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141
>
> Regards,
> Mike Wells
> Director of Technology
> Town of Westford, MA
>
> Tel : 978-399-2411
>
> *General OpenNMS Discussion <[email protected]
> <mailto:[email protected]>> on Friday, October 06,
> 2017 at 7:10 AM -0400 wrote:*
>
> Hi Mike,
>
> I think the problem goes a bit deeper than just the data type being
> 'OctetString'..
>
>
> Have a look at the code
> https://searchcode.com/codesearch/view/33902469/ which handles the
> Interface Tables. The device you are monitoring is not using RFC4001
> as commented in the code - if it were, you'd see the IP Address
> forming part of the OID as you can see with the Windows example you
> posted.
>
> OpenNMS tries to soldier on regardless but I think you'll need to
> capture a full log to establish exactly where it's giving up. It looks
> like the key logging is all done at WARN so it should be in the logs
> already. Take a look at /var/log/opennms/provisiond.log and see what's
> happening in there. It wouldn't hurt to bump the log level up to DEBUG
> for provisiond in /etc/opennms/log4j2.xml in case more relevant info
> comes out of other classes involved.
>
> If/What you can do about this is a bit trickier. I'm sure I recently
> read an OpenNMS bug report ( but can't locate it right now ) that was
> about nodes not getting a Primary SNMP interface, thus not collecting
> data if the IP Address Table is malformed or missing. I think there's
> a work-around where you can hack an snmp interface entry into Postgres
> for this node, but it will be clobbered by OpenNMS.
>
> In short, I'm not certain that there's much you can do about the above
> problem :-(
>
>
> If you want to monitor some particular OIDs as an up/down status like
> you get with ICMP ( i.e. not collecting data for
> graphing/thresholding) then you might get around your problem by
> configuring the SnmpMonitor class as a service poller:
> https://wiki.opennms.org/wiki/SNMP_Monitor This monitor allows you to
> poll a specific OID and test it against a criteria to decided whether
> it should be considered up or down.
>
> HTH
>
> Jonathan
>
>
>
>
>
> ________________________________________________________________
> All email messages and attached content sent from and to this email
> account are public records unless qualified as an exemption under the
> Massachusetts Public Records Law
> <http://www.sec.state.ma.us/pre/preidx.htm>.
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
>
> _______________________________________________
> Please read the OpenNMS Mailing List FAQ:
> http://www.opennms.org/index.php/Mailing_List_FAQ
>
> opennms-discuss mailing list
>
> To *unsubscribe* or change your subscription options, see the bottom of this page:
> https://lists.sourceforge.net/lists/listinfo/opennms-discuss
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ
opennms-discuss mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-discuss