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

https://macaw-amer.s3.amazonaws.com/releases/RDA/edgecollector-agent-docker-compose.yml

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

Last updated