Links

Edge Collector

Discover and collect IT assets data from hybrid cloud environments and send data to RDA Platform

Overview

An Edge Collector is a type of RDA Agent that can discover and collect IT asset data in an agentless manner and send this data to the RDA platform. If a user wants to send data from their network devices (Chassis, Fabric Extender, Interfaces) to the RDA platform, users can install Edge collector in their local environment. Currently, Edge Collector can collect data using SNMP and SSH protocols.

Prerequisites

Installation Instructions

Step-1: Download RDA Fabric Configuration and copy to host where Edge Collector Agent will be installed

Download RDA Fabric Configuration from the RDA SaaS portal by going to:
Configuration > Fabric Configuration and download the file to the local filesystem where the Edge Collector Agent is going to be installed
  • Save the file as rda_network_config.json
Download RDA Fabric configuration
  • Copy the downloaded file to ~/network_config/rda_network_config.json
mkdir -p ~/network_config
cp rda_network_config.json ~/network_config/rda_network_config.json

Step-2: Docker Login

$ docker login -u=readonly -p='readonly' cfxregistry.cloudfabrix.io
WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Step-3: Docker Compose File Download

Download edge-collector-docker-compose.yml file from the following location

Step-4: Create a credential file for accessing agent to perform discovery

bash# mkdir -p ~/cfxedgecollector
bash# mkdir -p ~/cfxedgecollector/cred
create credentials.json file and enter credentials as shown below in the file and copy file in the directory ~/cfxedgecollector/cred/credentials.json
We need to add all required credentials for collection in the credentials.json file
bash# cat credentials.json
[
{
"ipAddress" : [
"10.95.158.*",
"10.95.123.10-10.95.123.20"
],
"id": "<unique_name>",
"type": "device-snmp-v1v2",
"credentials": {
"readCommunity": "*****",
"protocol": "snmpv2c",
"port": 161
}
},
{
"ipAddress" : [
"10.95.158.*"
],
"id": "<unique_name>",
"type": "device-host-ssh",
"credentials": {
"username": "cfxuser",
"password": "*****",
"port": 22,
"protocol": "SSHV2",
"pkey": null,
"passphrase": null
}
},
{
"ipAddress" : [
"10.95.158.9,10.95.158.10"
],
"id": "<unique_name>",
"type": "device-host-ssh",
"credentials": {
"username": "cfxuser",
"password": "*****",
"port": 22,
"protocol": "SSHV2",
"pkey": null,
"passphrase": null
}
}
]
Note: In the above credentials.json file,
  • “id” field indicates that you can give any unique name for the credential identifier,
  • “type” field is a standard type used for SNMP and SSH Devices. Supported types are
    • “device-snmp-v1 or device-snmp-v2” for SNMP data collection
    • "device-host-ssh" for SSH data collection for the network devices

Step-5: Edit the edgecollector-agent-docker-compose.yml file and provide the name of the agent in the last line:

vi edgecollector-agent-docker-compose.yml (or use your favorite editor to edit / update the file )
rda_edgecollector_agent:
image: 'cfxregistry.cloudfabrix.io/cfxcollector:3.0.0'
restart: always
ports:
- '8889:5000'
volumes:
- '~/network_config:/network_config'
- '~/cfxedgecollector:/cfxedgecollector'
- '~/cfxedgecollector/cred:/cred'
environment:
RDA_NETWORK_CONFIG: /network_config/rda_network_config.json
PYTHONPATH: /opt/cfxedgecollector/
container_name: rda_edgecollector_agent
ulimits:
nproc:
soft: 64000
hard: 128000
nofile:
soft: 64000
hard: 128000
entrypoint:
- /bin/bash
- '-c'
- >-
cd /opt/cfxedgecollector/src/; python -c 'import edgecollector_rda_agent ;
edgecollector_rda_agent.run()' --creddir /cred/ --agent-group-name <name>

Step-6: Bring Up Edge Collector Agent:

docker-compose -f edgecollector-agent-docker-compose.yml up -d

Step-7: Check Edge Collector Agent Status:

Check Edge Collector Agent status using docker ps command and ensure that Edge Collector Agent is up and running, without any restarts. If you see that the Edge Collector Agent is restarting, make sure you copied the RDA network config file to the correct location.
[macaw@sysloglinux110 ~]$ docker ps | grep rda_edgecollector_agent
0be4f22ba07e cfxcollector:cfxcollector-1.0.1 "/bin/bash -c 'cd /o…" 2 days ago Up 2 days 0.0.0.0:8889->5000/tcp rda_edgecollector_agent
[macaw@sysloglinux110 ~]$

Step-8: Verify Edge Collector Agent in RDA Studio or rdac utility

Command: !rdac agent-bots
If you have installed an RDA Client (rdac) command-line utility, you can also verify the newly created Edge Collector Agent using rdac agents command.
Command: rdac agent-bots