Flows Troubleshooting
This section describes ways to troubleshoot flows when the feature does not work or performs suboptimally.
Troubleshoot telemetryd
Telemetryd receives and decodes flows on Meridian, so you can run the following checks to determine that it works as expected:
-
Telemetryd availability
-
Are routers sending data?
-
Docker networking
-
Minion health check
-
OpenNMS health check
-
Are sink consumer graphs populated?
-
Is SNMP available on the routers that provide Netflow?
-
Review OpenNMS and Minion logs
The Troubleshoot Telemetryd article on Discourse provides details on how to run these checks.
No data or incorrect data
In a scenario where you see no data or incorrect data, you should view the state and parameters of telemetry listeners, and whether they are processing data and information with the following command: opennms:telemetry-listeners
Check Elasticsearch persistence
If you store flows in Elasticsearch, you can use Kibana to check if flow documents (raw and/or aggregated) are written to Elasticsearch. You must know your endpoint address and API key.
Run the following curl command:
curl "https://your-es-server.hostname:9200/_cat/indices?v&apikey=Your-API-Key"
The query returns a list of indices.
Those that start with a .
are system indices.
All others are regular indices.
Regular indices appear only when Elasticsearch is receiving flows.
Persisted flows do not appear in Helm
If you have persisted flows but they do not appear in Helm, check the configuration in etc/org.opennms.features.flows.persistence.elastic.cfg
, in particular, the elasticUrl
property.
If you are using aggregated flows, make sure your aggregate.elasticIndexStrategy
matches the index strategy you configured in the streaming analytics tool.
To persist only raw flows or only aggregated flows in Elasticsearch, you must set alwaysUseRawForQueries
or alwaysUseAggForQueries
appropriately.
(For more information on troubleshooting Elasticsearch, refer to the Elasticsearch documentation.)