Issue with Enriching Flow Data


Unable to see any Flow Data in the OpenNMS Web UI - Resources Graphs:
I am trying to use OpenNMS to see the Flow data from the Switches. I followed the Troubleshoot Telemetryd knowledge article did the checks mentioned there.

I wish to see the incoming sFlow data in the OpenNMS Web UI. I can see the icon and it says "No Flows found for the current Time range. Please provide any pointers or insight on how to resolve this.

Thank you.
I did the following checks:

Telemetryd Availability

Nmap result:

Starting Nmap 7.60 ( ) at 2021-03-25 14:23 PDT
Nmap scan report for localhost (
Host is up.
Other addresses for localhost (not scanned): ::1

6343/udp open|filtered sflow

Nmap done: 1 IP address (1 host up) scanned in 2.23 seconds

The flow packages are coming as well. I ran tcpdump and seeing the data coming through.

ONMS Health Check results in the following

admin@opennms> opennms:health-check
Verifying the health of the container

Verifying installed bundles [ Success ]
Connecting to ElasticSearch ReST API (Flows) [ Success ]

=> Everything is awesome

SNMP enabled and working fine. There is performance data for the Switches, but no Flow data.

OpenNMS version:

Version Details

Version: [27.1.0]
Server Time: Thu Mar 25 14:47:07 PDT 2021
Client Time: Thu Mar 25 2021 14:47:08 GMT-0700 (Pacific Daylight Time)
Java Version: 11.0.9 (Ubuntu)
Java Runtime: OpenJDK Runtime Environment (11.0.9+11-Ubuntu-0ubuntu1.18.04.1)
Java Specification: Java Platform API Specification (Oracle Corporation, 11)
Java Virtual Machine: OpenJDK 64-Bit Server VM (Ubuntu, 11.0.9+11-Ubuntu-0ubuntu1.18.04.1)
Java Virtual Machine Specification: Java Virtual Machine Specification (Oracle Corporation, 11)
Operating System: Linux 4.15.0-139-generic (amd64)
OSGi Container: Apache Karaf 4.2.6
Servlet Container: jetty/9.4.34.v20201102 (Servlet Spec 3.1)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0
Database Type: PostgreSQL
Database Version: 11.11 (Ubuntu 11.11-1.pgdg16.04+1)
Time-Series Strategy: RRDTool or JRobin
IPC Strategy: Sink: camel; RPC: jms

Other relevant data:


/var/log/opennms/telemetryd.log No errors in telemetryd.log

karaf logs shows the following

2021-03-25T14:34:38,076 | ERROR | AggregatorFlush-Telemetry-SFlow | AbstractFlowAdapter              | 326 - org.opennms.features.telemetry.protocols.flows - 27.1.0 | Error while persisting flows: Failed to enrich one or more flows.
org.opennms.netmgt.flows.api.FlowException: Failed to enrich one or more flows.
        at org.opennms.netmgt.flows.elastic.ElasticFlowRepository.persist( ~[?:?]
        at org.opennms.netmgt.flows.elastic.InitializingFlowRepository.persist( ~[?:?]
        at Proxy0ef62b7b_8518_4977_98b5_043e37d3f1a1.persist(Unknown Source) ~[?:?]
        at org.opennms.netmgt.telemetry.protocols.flows.AbstractFlowAdapter.handleMessageLog( ~[?:?]
        at org.opennms.netmgt.telemetry.daemon.TelemetryMessageConsumer.handleMessage( ~[?:?]
        at org.opennms.netmgt.telemetry.daemon.TelemetryMessageConsumer.handleMessage( ~[?:?]
        at org.opennms.core.ipc.sink.common.AbstractMessageConsumerManager.lambda$dispatch$0( ~[?:?]
        at java.lang.Iterable.forEach( [?:?]
        at org.opennms.core.ipc.sink.common.AbstractMessageConsumerManager.dispatch( [?:?]
        at org.opennms.core.ipc.sink.camel.client.CamelLocalMessageDispatcherFactory.dispatch( [?:?]
        at org.opennms.core.ipc.sink.camel.client.CamelLocalMessageDispatcherFactory.dispatch( [?:?]
        at org.opennms.core.ipc.sink.common.AbstractMessageDispatcherFactory.timedDispatch( [?:?]
        at org.opennms.core.ipc.sink.common.AbstractMessageDispatcherFactory.access$000( [?:?]
        at org.opennms.core.ipc.sink.common.AbstractMessageDispatcherFactory$1.dispatch( [?:?]
        at org.opennms.core.ipc.sink.common.AbstractMessageDispatcherFactory$1.dispatch( [?:?]
        at [?:?]
        at org.opennms.core.ipc.sink.aggregation.Aggregator$ [?:?]
        at java.util.TimerThread.mainLoop( [?:?]
        at [?:?]
Caused by: org.bson.BsonInvalidOperationException: Value expected to be of type INT64 is of unexpected type DOCUMENT
        at org.bson.BsonValue.throwIfInvalidType( ~[?:?]
        at org.bson.BsonValue.asInt64( ~[?:?]
        at org.opennms.netmgt.telemetry.protocols.sflow.adapter.SFlow.lambda$getInputSnmp$6( ~[?:?]
        at ~[?:?]
        at org.opennms.netmgt.telemetry.protocols.sflow.adapter.SFlow.getInputSnmp( ~[?:?]
        at org.opennms.netmgt.flows.elastic.FlowDocument.from( ~[?:?]
        at org.opennms.netmgt.flows.elastic.DocumentEnricher.lambda$null$0( ~[?:?]
        at$3$1.accept( ~[?:?]
        at java.util.LinkedList$LLSpliterator.forEachRemaining( ~[?:?]
        at ~[?:?]
        at ~[?:?]
        at$ReduceOp.evaluateSequential( ~[?:?]
        at ~[?:?]
        at ~[?:?]
        at org.opennms.netmgt.flows.elastic.DocumentEnricher.lambda$enrich$1( ~[?:?]
        at org.opennms.netmgt.dao.hibernate.DefaultSessionUtils.lambda$withTransaction$0( ~[?:?]
        at ~[?:?]
        at org.opennms.netmgt.dao.hibernate.DefaultSessionUtils.withTransaction( ~[?:?]
        at Proxyfa274854_000c_4afb_b6f6_f7ed3b494052.withTransaction(Unknown Source) ~[?:?]
        at org.opennms.netmgt.flows.elastic.DocumentEnricher.enrich( ~[?:?]
        at org.opennms.netmgt.flows.elastic.ElasticFlowRepository.persist( ~[?:?]
        ... 18 more