Install or Upgrade Collector on Remote Virtual Machine

Important:
  • When deploying the collector on a remote Virtual Machine, currently, there is no built-in failover mechanism.
  • If a previous version of the collector is running on SevOne NMS, please remove it before installing the collector on a remote Virtual Machine. To remove the collector, please refer to Manual Removal of WLC Collector section.
Important:
Before proceeding with the installation or upgrade process, please perform the steps available in section Pre-Installation > subsection Create MySQL User.

The following steps apply to perform installation from scratch or an upgrade of the collector on the remote Virtual Machine or for installing the collector on SevOne NMS appliance which is not configured as a datasource on SevOne Data Insight.

  1. SSH to the remote Virtual Machine as user root.
  2. Verify docker is running.
  3. Download the following (latest) files from IBM Passport Advantage (https://www.ibm.com/software/passportadvantage/pao_download_software.html) via Passport Advantage Online. However, if you are on a legacy / flexible SevOne contract and do not have access to IBM Passport Advantage but have an active Support contract, please contact IBM SevOne Support for the latest files. You must place these files in /root directory of SevOne NMS appliance.
    1. wifi-solution-v6.8.0-build.1.tar.gz
    2. signature-tools-latest-version-build.<###>.tgz. For example, signature-tools-2.0.2-build.1.tgz
    3. signature-tools-latest-version-build.<###>.tgz.sha256.txt. For example, signature-tools-2.0.2-build.1.tgz.sha256.txt
  4. Execute the following commands to verify the checksum of the code signing tool before extracting it.
    $ (cat $(ls -Art signature-tools-*.tgz.sha256.txt | \
    tail -n 1) | sha256sum --check)
    
    $ sudo tar xvfz $(ls -Art signature-tools-*.tgz | \
    tail -n 1) -C /
  5. Extract the .tar.gz file.
    $ tar xvf wifi-solution-v6.8.0-build.1.tar.gz
  6. Go to folder wifi-solution-v6.8.0-build.1.
    $ cd wifi-solution-v6.8.0-build.1

    You will see the following files in the folder.

    • install.sh
    • multi-peer-installer.tar.gz
    • upgrade.sh
    • WifiSolution-ootb-alerts.spk
    • WifiSolution-ootb-reports.tgz
    • wifi-v6.8.0-build.1.tar.gz
  7. Copy the checksum file, wifi-solution-v6.8.0-build.1.tar.gz.sha256.txt, in wifi-solution-v6.8.0-build.1 folder.

Fresh Installation

Execute the following command to start the installation from scratch.

$ ./install.sh setup --remote

The install.sh setup --remote script performs the following tasks.

  • You will be prompted to backup /opt/WLCCollector ( yes | no).
  • Load all the vendor-specific docker images.
  • Extract the configuration files.
  • Validate the checksum file.
Important: Now, skip to section Deploy Collector (Remote).

Upgrade

Important: When upgrading the collector version from <=2.4 to a version >=2.5, please delete the following metadata attributes from Wifi Access Point namespace.
  • Last Update Time
  • Group
To avoid errors during data collection, these attributes must be deleted as they have been discontinued from collector versions >=2.5.
Important:
You must run the following command to grant DELETE permission to the user for removing the duplicate entries of units.
$ GRANT DELETE ON net.* to '<user>'@'<ip_address>' identified by '<password>';

Execute the following command to upgrade the collector from a previous version.

Get current collector version prior to the upgrade

Example

$ docker images
  
REPOSITORY                                               TAG               IMAGE ID       CREATED      SIZE
docker.sevone.com/soa                                    v6.7.0-build.70   639d122cfb88   4 days ago   903MB
docker.sevone.com/sc/collectors/wifi/aruba               v6.7.0-build.12   210da1aedbe5   6 days ago   163MB
docker.sevone.com/sc/collectors/wifi/cisco               v6.7.0-build.12   5df078b42159   6 days ago   163MB
docker.sevone.com/cloud-monitoring/azure-nms-collector   e26b5361          8afdaf7fdf12   6 days ago   47.2MB
docker.sevone.com/cloud-monitoring/aws-nms-collector     5e98c286          687e22ce939f   6 days ago   76.8MB  

This indicates that the current Wifi version (after the upgrade) is v6.7.0-build.12.

The current collector version can be extracted from the TAG column of the docker images. In the example above, the current collector version (after the upgrade) shows the collector version as v6.7.0.

Upgrade to Wifi 6.8

$ ./install.sh upgrade <name of previous collector tag> --remote

Example

$ ./install.sh upgrade v6.7.0-build.12 --remote

Get current collector version after the upgrade

Example

$ docker images
 
REPOSITORY                                                               TAG              IMAGE ID       CREATED        SIZE
docker.s1artrtp1.s1.devit.ibm.com/soa                                    v6.8.0-build.3   4c46159edfa8   16 hours ago   729MB
docker.s1artrtp1.s1.devit.ibm.com/cloud-monitoring/aws-nms-collector     e74b644f         b62d5e473a8c   2 weeks ago    80.7MB
docker.s1artrtp1.s1.devit.ibm.com/cloud-monitoring/azure-nms-collector   020c8090         2641d461dd62   2 weeks ago    49.2MB
docker.s1artrtp1.s1.devit.ibm.com/sc/collectors/wifi/aruba               v6.8.0-build.1   5775bf52ca0c   3 weeks ago    137MB
docker.s1artrtp1.s1.devit.ibm.com/sc/collectors/wifi/cisco               v6.8.0-build.1   3023f686f16a   3 weeks ago    137MB
jaegertracing/all-in-one                                                 1.50.0           4863242e10ae   4 months ago   59.3MB

This indicates that the current Wifi version (after the upgrade) is v6.8.0-build.1.

The current collector version can be extracted from the TAG column of the docker images. In the example above, the current collector version (after the upgrade) shows the collector version as v6.8.0.

The install.sh upgrade script performs the following tasks:

  • Create a backup of /opt/WLCCollector as /opt/WLCCollector-<backup_timestamp>.
  • Load all the vendor-specific docker images.
  • Extract the configuration files.
  • It will prompt the user to remove docker images and docker files of the previous version ( yes | no).
  • Validate the checksum file.
  • Migrate the existing .env configuration except comments.
Important: Now, skip to section Deploy Collector (Remote).

Deploy Collector (Remote)

Important: It is recommended to update the latest MAC Address manufacturer list in oui.csv file. To update the list, please refer to section Update MAC Address Manufacturer List section.

Perform the following actions for remote installation of collector.

  1. Change the environment variables in following .env file.

    The configuration files are stored in /opt/WLCCollector/configuration directory, which will have the following files:

    • aruba.env - env file for running collector for vendor aruba.
    • cisco.env - env file for running collector for vendor cisco.
    • disable_config.json - used to Cleanup Inactive Wifi Station objects.
    • oui.csv.sample - IEEE Registration Authority MAC Address Block Large (MA-L) CSV file.

    Using a text editor of your choice, change the environment variables in the .env files.

    Go the directory where configuration files are stored

    $ vi /opt/WLCCollector/configuration/<aruba | cisco>.env
    Important: Please change all the configuration variables in these .env files before proceeding to the next steps.

    If you are performing an upgrade, the original .env files are copied to /opt/WLCCollector<###>.old/configuration directory, if needed, for reference. Please do not overwrite the files in this directory with the new .env files.
    The list of all the .env variables along with their description can be found in section Additional Commands / Features > sub-section Environment Variables.
  2. Install the collector.

    Execute this command separately for each vendor. i.e., cisco, aruba

    $ ./install.sh install --vendor <cisco | aruba> --remote
    Note: When installing the collector, the following are created in SevOne NMS:
    • Object Types
    • Indicator Types
    • Device Groups and Device Group Rules
    • Metadata Schema
    • Alert Generation Policies
    1. To import OOTB reports, please execute the following command.

      Execute this command for <cisco / aruba> to import OOTB reports

      $ ./install.sh install --vendor <cisco or aruba> --remote --import-ootb-reports
      Important: OOTB reports will be imported to your SevOne NMS only when the --import-ootb-reports flag is enabled.
    2. To import OOTB alerts, please execute the following command.
      $ ./install.sh --remote --import-ootb-alerts
  3. (optional) If you want to remove the prefix WiFi AP: from the name of AP devices, set NO_PREFIX value to true and then run the following command to rename Access Points (APs). Applicable in case of upgrades only.
    $ /opt/WLCCollector/wlccmd.sh v{collector-version}-build{version} task rename_aps cisco
    Important: Please make sure to check the following before running the above command.
    • There must be no running collector docker container for any vendor.
    • Collector crons must be disabled/deleted so no new containers are spun when the rename script is running.
  4. Run the collector once by executing the following command.

    Execute this command separately for each vendor. i.e., cisco, aruba

    $ /opt/WLCCollector/wlccmd.sh v6.8.0-build.1 run <cisco | aruba>
  5. Login to the NMS appliance, empty devices/objects will start getting created. Wait until all the devices are discovered before you proceed with the next step.
  6. Run the collector.

    Execute this command separately for each vendor. i.e., cisco, aruba

    $ ./install.sh run --vendor <cisco | aruba> --remote
    Important: This step adds crontab for the collector, creates log files, and adds logrotate to the log files.

    If the user needs to change any environment variable for collector, they do not need to perform this step again except if the user is changing the POLL_INTERVAL. For POLL_INTERVAL, user must run ./install.sh run --vendor <cisco | aruba> command again to update the cron files based on the POLL_INTERVAL set in the .env file.
  7. Please verify the following.
    1. Verify cron files have been created on the remote Virtual Machine.
      $ cd /etc/cron.d

      The directory will contain the following files with their respective crons.

      • wifi-cron-aruba - if aruba vendor is deployed.
        #Adding vendor's cronjob
        2-59/5 * * * * root /opt/WLCCollector/wlccmd.sh v6.8.0-build.1 run aruba
      • wifi-cron-cisco - if cisco vendor is deployed.
        #Adding vendor's cronjob
        0-59/5 * * * * root /opt/WLCCollector/wlccmd.sh v6.8.0-build.1 run cisco   
    2. Verify the log directory has been created and the logs are being redirected on the remote Virtual Machine.
      $ cd /var/log/wifi-wlc 

      This directory contains the following log files for Wifi collector.

      • wlc_<vendor>_install.log - different file for each vendor; on the remote Virtual Machine.
      • wlc_<vendor>_<WLC_GROUPS>.log - different file for each vendor and each member of WLC_GROUPS; on the remote Virtual Machine.
  8. Once done, perform the steps available in section Update MAC Address Manufacturer List.
    Important: Update oui.csv file regularly so collector can identify manufacturer for the maximum number of stations.