Setting up Remote Flow Collector
Optionally, install the Flow Collector Service on a remote host as a stand-alone installation to keep the collector closer to your data center. Remote Flow Collector sends captured flow packet to flow collector that uses Kafka messaging.
Before you begin
You can install Kafka version 2.4.1 on the server where you want to install Remote Flow Collector or use other Kafka cluster if available.
Make sure you have Java™ SDK v8 on the node where you are installing the Remote Flow Collector.
Procedure
- Download and extract the IBM® Telco Network Cloud Manager
- Performance, version 1.4.6
English Multiplatform Advanced package that has M0HSWEN.tar.gz
file. Download and extract the file to <DIST_DIR>.
- Copy and extract the
/remote/basecamp-remote-flow-collector-2.4.5.0.tar.gz file to a location of
your choice. You can see the following files and folders:
- bin
- conf
- etc
- lib
- work
- Edit the settings in /conf/application.conf file.
Parameter Description Default value collector.flow.udp.ports The UDP port from where the Flow Collector is listening. 4379 collector.flow.sctp.ports The SCTP port from where the Flow Collector is listening. 4381 main.zk-url URL with Zookeeper node IP address with port number http://<zookeeper_IP_add>:2181 messaging.kafka.broker-list Kafka brokerlist with Kafka node IP address with port number <kafka_IP_add>:9092 messaging.kafka.zk-connect Zookeeper node IP address with port number <zookeeper_IP_add>:2181 remote.id Unique ID for the Remote Flow Collector rfc1 remote.context Domain name of the Remote Flow Collector node. It is required to append the domain name to the interfaces. Currently, it is used for Flow interfaces only to avoid overlapping of IP addresses from different domains that can be uniquely identified with domain name that is appended to the IP addresses.Note: The remote.context parameter is introduced to represent a domain."MY" remote.topic The name of the Kafka topic to which the records that are collected from the Remote Flow Collector are written to. <remote.flow.topic> remote.cluster.collector.protocol The cluster Flow Collector Service protocol or the Dashboard Service protocol if you are accessing with proxy server setup. http remote.cluster.collector.hosts The cluster Flow Collector Service host or dashboard if via proxy <host name> remote.cluster.collector.port Port number of the cluster where the Remoter Flow Collector is installed.
Use the <proxy_port> if you have configured a proxy server.
30040 On OpenShift® Container Platform, the port is 443. Typically, the port of the Route, is 443, which is the default https port.
If you have configured a proxy server, this port is the Dashboard Service port, which is 31443 in Kubernetes environment.
remote.cluster.collector.proxy.path Proxy server path. Note: Optional, use this only if you have configured a proxy server.remote.cluster.collector.proxy.tokens Proxy server token. Note: Optional, use this only if you have configured a proxy server.In Kubernetes environment, the token can be obtained from here:
<https://<server>:<dashboardPort>/remoteToken/>In OpenShift Container Platform environment, the token can be obtained from here:
https://<dashboard-route>/remoteToken/<Note: Optional, use this only if you have configured a proxy server.collector.flow.udp.ports = [ 4379 ] collector.flow.sctp.ports = [ 4381 ] main.zk-url = "http://<zookeeper_node_IP_add>:2181" messaging.kafka.broker-list = "<kafka_node_IP_add>:9092" messaging.kafka.zk-connect = "<zookeeper_node_IP_add>:2181" remote.id = "remote-X" remote.context = "" remote.topic = "remote.flow.topic" remote.cluster.collector.protocol = "http" remote.cluster.collector.hosts = [<cluster-node>] remote.cluster.collector.port = 30040 remote.cluster.collector.proxy.path = "" remote.cluster.collector.proxy.tokens = [""]
- Use the following command to run bin/remote-flow-collector
script:
cd <DIST_DIR>/remote_flow ./bin/remote-flow-collector
- Check the log files in the Flow Collector Pod in your cluster.
[INFO] [2020-11-16 11:22:48.720] [akka.tcp://flow-collector@<IP>:2554/user/basecamp-flow-collector/flow-collector/flow-collector-mgr/singleton] [flow-collector-flow-collector.dispatcher-2111] remote RemoteCollector [ <collector.flow.remote.id>,<messaging.kafka.broker-list>.<collector.flow.remote.topic>,,9223372030684775807) already registered [INFO] [2020-11-16 11:22:48.716] [akka.actor.ActorSystemImpl (flow-collector)] [qtp85930990-46] Receiving RemoteCollector(<collector.flow.remote.id>,<message.kafka.broker.list>,<collector.flow.remote.topic>,,9223372030684775807)