Flow Collector

Overview

The Unified Assurance Flow Collector microservice is part of the microservice flow pipeline. The microservice is responsible for receiving, decoding, transforming, normalizing, translating and enriching network flow records and telemetry sent from network devices and applications using IPFIX, Netflow, sFlow and AWS VPC Flow Logs. The resulting records are then sent to the flow analytics database and can be viewed in the flow analytics dashboards.

Refer to the Flow Analytics Concepts for more details.

Prerequisites

  1. The ElasticSearch database must be configured and running before setting up this microservice.
  2. A microservice cluster must be setup. Refer to Microservice Cluster Setup.
  3. The flow-collector must be assigned to a specific server in a multi-node cluster. Identify the server name ahead of deployment.
  4. If your Unified Assurance installed base directory is not the default of /opt/assure1, and you want to use enrichment files, you must specify the custom base directory when deploying.

Setup

Standard Single Server deployment:

su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
a1helm install flow-collector assure1/flow-collector -n $NAMESPACE --set global.imageRegistry=$WEBFQDN

Standard Multi-Server deployment and starts the microservice on a specific node:

su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
export NODEFQDN=<Cluster Target Node FQDN>
a1helm install flow-collector assure1/flow-collector -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set nodeSelector."kubernetes\.io/hostname"=$NODEFQDN

Default Configuration

Name Value Possible Values Notes
LOG_LEVEL INFO FATAL, ERROR, WARN, INFO, DEBUG Logging level used by application.
COLLECTOR_PORT 9995 Integer Flow UDP socket port.

Configurations can be changed by passing the values to the a1helm install prefixed with the configData parent key.

Example of setting the log level to DEBUG

a1helm install ... --set configData.LOG_LEVEL=DEBUG

Example of setting a custom base directory

a1helm install ... --set global.a1BaseDir=/example/assure1