Additional Commands and Features

Alerts

Access Point

The Wifi Collector handles AP migrations in two ways (can be set using the flag UPDATE_UNAVAILABLE_APS).

  1. Update all the unavailable Access Points - UPDATE_UNAVAILABLE_APS = true.
    • All the access points are pinned to their WLC specific device group. So if during a poll, the WLC does not poll an Access Point device, all the indicators for that Access Point device will be set to zero (including its availability and WLC tracking id), its WLC name in Metadata and description will be set to unknown. No values will be plotted in the next polls till the Access Point data is received from the WLC or another WLC.
    • A policy has been created named Unavailable AP devices (Unavailable APs set to zero) which is not enabled by default. It raises an alert whenever availability of an Access Point device goes to zero in the past TIME_SINCE_AP_UNAVAILABLE seconds.NMS AP Alerts
    • This policy does not handle Access Point migrations from one WLC to another. For example, if the Access Point migrates from WLC 1 to WLC 2 and if WLC 1 is polled first, the zero value for Access Point will be plotted and then, when it runs for WLC 2, the availability will become 100% again but the alert will still be generated.
  2. Do not update the Access Points - UPDATE_UNAVAILABLE_APS = false
    • The access point will not be updated if they are not polled from the WLC. Only the values for the Access Points received from the WLC will be updated.
    • A policy has been created named Unavailable AP devices (Time since newest data point) which is not enabled by default. It raises an alert when the Access Point device's availability indicator does not receive any data for the past TIME_SINCE_AP_UNAVAILABLE seconds. NMS AP Condition Time Since Newest

NOTE: Both the unavailable AP Policies get created the first time collector is installed and then they are not updated by the collector, the user needs to manually change these policies if required. Also, these policies are not enabled by default; user must enable them.

Self-Monitoring Device
WiFi Selfmon: Polling duration is more than polling cycle

  • During the collector installation, a policy WiFi Selfmon: Polling duration is more than polling cycle is created for a WiFi Selfmon device's indicator. By default, it is disabled. If enabled, it creates an alert for the respective object if the newly created indicator, container_run_time, exceeds the base limit of 300 seconds.
  • To generate this alert, please ensure that SELF_MONITORING environment variable in cisco.env | aruba.env files is set to true. Wifi Selfmon
WiFi Selfmon: WLC skipped due to error
  • Collector skips WLCs that are timed out when querying MAC addresses. The count of skipped WLCs is displayed as an indicator wlc_skipped under the Wifi Selfmon device.
  • A policy WiFi Selfmon: WLC skipped due to error triggers a Critical alert when the count of skipped WLCs becomes > 0 for more than past 1 minute. It clears an alert when the count becomes 0 for the past 1 minute. By default, the policy remains disabled.

Controller
WiFi Controller: APs skipped due to error

  • Collector skips APs when name or MAC address is not valid. The count of skipped APs is displayed as an indicator ap_skipped under the Wifi Controller device.
  • A policy Wifi Controller: APs skipped due to error triggers a Critical alert when the count of skipped APs becomes > 0 for more than past 1 minute. It clears an alert when the count becomes 0 for the past 1 minute. By default, the policy remains disabled.
WiFi Controller: Stations skipped due to error
  • Collector skips stations only when one of the following conditions occurs.
    • When the Access Points (APs) are skipped for stations.
    • When bss, essid, or ap_slot is invalid for stations.
  • The count of skipped stations is displayed as an indicator station_skipped under the Wifi Controller device.
  • A policy Wifi Controller: Stations skipped due to error triggers a Critical alert when the count of skipped stations becomes > 0 for more than past 1 minute. It clears an alert when the count becomes 0 for the past 1 minute. By default, the policy remains disabled.
Wifi Controller: SelfMon - Metric Collection takes too long to complete
  • A policy Wifi Controller: SelfMon - Metric Collection takes too long to complete triggers a Warning alert when the Average Total time to metric availability exceeds 90% (of the poll duration) for more than 20 minutes. It clears an alert when the Average Total time to metric availability falls below or equals 50% (of the poll duration) for more than 20 minutes. By default, the policy remains disabled.
Stations
  • During the collector installation, Wifi Station Monitor: Some stations are not available, is created for monitoring wifi stations. By default, it is disabled. If enabled, it generates alerts when specific wifi stations (pinned under Wifi Station Monitor object group) disconnect from the wifi network.
  • The value for all indicators (related to the Wifi Station Monitor object group) will be set to 0 (zero) during the first polling cycle after the wifi stations went missing. WLC and AP names will be set to unknown for the disconnected stations.
  • To pin wifi stations to the Wifi Station Monitor object group, please refer to section Pin Wifi Stations on SevOne NMS.
The value for indicators will not be updated until the wifi station rejoins a WLC.

Cleanup Deprecated Objects

You may remove all the deprecated Objects that were used prior to Wifi 2.3.0 release.

The user can change the following variables in /opt/WLCCollector/configuration/<vendor>.env before running the cleanup script.

ENVIRONMENT VARIABLES DEFAULT VALUES DESCRIPTION
DEL_DEP_OBJECTS false The flag must be set to true to delete all depreciated objects. If false, it will get all the depreciated objects and store them in /opt/WLCCollector/configuration/depreciated_objects.json and not delete them.
DEP_DEL_FILE none If this variable is provided, the script will delete all the objects included in the file. The file must be in /opt/WLCCollector/configuration directory and the path provided must be the absolute path. CAUTION!Irrespective of DEL_DEP_OBJECTS flag setting, please use this variable with caution.
DELETION_THREAD 10 Deletion thread count. NOTE: The pool size of the connection (transport's request method) is 10.
LOG_LEVEL info Log level.
MAX_WAIT_TIME 300 Maximum time provided to a thread to finish its job in seconds.
POLLER_THREAD 3 Poller thread count. NOTE: The pool size of the connection (transport's request method) is 10.

Execute the steps below to perform the cleanup.

  1. Manually run the cleanup script.
    $ /opt/WLCCollector/wlccmd.sh v6.7.0-build.12 task delete_depreciated_objects <vendor> &>> /var/log/wifi-wlc/delete_depreciated_objects.log
    
  2. Inspect the log file, /var/log/wifi-wlc/delete_depreciated_objects.log.
  3. Confirm the list of objects to be deleted in /opt/WLCCollector/configuration/depreciated_objects.json.
  4. When ready to delete the Objects, using a text editor of your choice, edit /opt/WLCCollector/configuration/<vendor>.env file and add the following variables to it.
    DEL_DEP_OBJECTS=true
    DEP_DEL_FILE=depredicated_objects.json
    
  5. Run the following script.
    $ /opt/WLCCollector/wlccmd.sh v6.7.0-build.12 task delete_depreciated_objects <vendor> &>> /var/log/wifi-wlc/delete_depreciated_objects.log
    
  6. Inspect /var/log/wifi-wlc/delete_depreciated_objects.log to confirm the Objects have been deleted.
  7. Using a text editor of your choice, edit /opt/WLCCollector/configuration/<vendor>.env and remove the following variables from it.
    DEL_DEP_OBJECTS=true
    DEP_DEL_FILE=depredicated_objects.json
    
  8. Rediscover the affected WLCs in SevOne NMS to trigger an immediate removal of the deleted Objects.

INFO: wlccmd.sh script will run and remove the deprecated Objects of the current peer's devices only. And current peer will be identified by SEVONE_API_HOST in vendor.env file.

NOTE: wlccmd.sh script is vendor specific. It will collect deprecated Objects for that particular vendor. The Wifi 2.3.x collector should have run at least once before running this script.

Cleanup Inactive WiFi Station License(s)

Using the text editor of your choice, edit /opt/WLCCollector/configuration/disable_config.json configuration file to cleanup inactive Wifi Station license(s).

INFO: Cleanup of inactive Wifi Station license(s) is optional but highly recommended. This allows the customer to conserve Object licenses consumed by transient workstations that are discovered but either disappear or remain inactive for a long time. For example, Wifi Stations belonging to guest(s) visiting a campus.

Example: Format
{"SevOne": 168, "SevOne-guest": 48}

This specifies the time related to SSID (SevOne, SevOne-guest) in hours, for deleting inactive objects.

The user can change the following variables in /opt/WLCCollector/configuration/cisco.env before running the cleanup script.

ENVIRONMENT VARIABLES DEFAULT VALUES DESCRIPTION
DEL_FILE none If this variable is provided, the script will delete all the objects included in the file. The file must be in /opt/WLCCollector/configuration directory and the path provided must be the absolute path. CAUTION!Irrespective of DEL_OBJECTS flag setting, use this variable with caution.
DEL_OBJECTS false The flag must be set to true to delete all unused objects. If false, it will get all the ununsed objects and store them in /opt/WLCCollector/configuration/unused_station_objects.json and not delete them.
DELETION_THREAD 10 Deletion thread count. NOTE: The pool size of the connection (transport's request method) is 10.
LOG_LEVEL info Log level.
MAX_WAIT_TIME 600 Maximum time provided to a thread to finish its job in seconds.
META_THREADS 5 Metadata thread count. NOTE
  • The pool size of the connection (transport's request method) is 5.
  • Any previous changes in the default value for META_THREADS will be retained when upgrading the collector version from <= 2.8 to >= 2.9.
PAGESIZE 10000 The page size of the data to be queried to SevOne NMS. It is used to get the objects. Optimum value is 10000.
Now, you may manually run the cleanup script.
$ /opt/WLCCollector/wlccmd.sh v6.7.0-build.12 task disable_objects cisco &>> /var/log/wifi-wlc/disable_objects.log

This script will run and remove inactive station's Objects of the current peer's devices only. And current peer will be identified by SEVONE_API_HOST in vendor.env file.

You may automate the process to run periodically by adding a following new cron task in wifi-cron-delete-stations file according to the lowest time. In the format example above, 48 (hours) means cleanup in every two days.

If wifi-cron-delete-stations file does not exist then please create this file.
$ /etc/cron.d/wifi-cron-delete-stations
0 0 */2 * * root [[ $(cat /SevOne.masterslave.master) -ne '0' ]] && /opt/WLCCollector/wlccmd.sh v6.7.0-build.12 task disable_objects cisco &>> /var/log/wifi-wlc/disable_objects.log

The script is not vendor specific, it will collect unused station objects for both the vendors.

Cleanup AP Audit Logs

The user can change the following variables in /opt/WLCCollector/configuration/<cisco | aruba>.env before running the cleanup script.

Cleanup of AP audit logs is optional but highly recommended. Otherwise, it may create an overload on SevOne NMS when there are too many logs over a long period of time.

ENVIRONMENT VARIABLES DEFAULT VALUES DESCRIPTION
DEL_AUDIT_LOGS false
  • If set to true and running /opt/WLCCollector/wlccmd.sh <build_number> task delete_audit_logs <vendor> command, all audit logs within the specified time range are retained and the rest will be deleted.
  • If set to false and running /opt/WLCCollector/wlccmd.sh <build_number> task delete_audit_logs <vendor> command, all audit logs that are going to be deleted (when the flag is set to true) will be listed in the /opt/WLCCollector/configuration/audit_logs_to_be_deleted.json file. Logs will not actually be deleted.
AUDIT_LOGS_RETENTION_PERIOD 48 hours Configure the time period during which the audit logs are retained in the environment files.

Now, you may manually run the cleanup script.

$ /opt/WLCCollector/wlccmd.sh
v6.7.0-build.12 task delete_audit_logs <cisco | aruba> &>>
/var/log/wifi-wlc/delete_audit_logs_<cisco | aruba>.log

This script will run and remove audit logs of the current peer's devices only. Also, the current peer will be identified by SEVONE_API_HOST in vendor.env file.

You may automate the process to run periodically by adding a following new cron task in wifi-cron-delete-audit-logs file according to the lowest time. If wifi-cron-delete-audit-logs file does not exist then please create this file.
$ /etc/cron.d/wifi-cron-delete-audit-logs
0 0 */2 * * root [[ $(cat /SevOne.masterslave.master) -ne '0' ]] && /opt/WLCCollector/wlccmd.sh v6.7.0-build.12 task delete_audit_logs cisco &>> /var/log/wifi-wlc/delete_audit_logs_<cisco | aruba>.log

Create / Pin WLC Devices on SevOne NMS

The steps in this section apply to new installation from scratch only. The devices must be discovered prior to the installation.

  1. Ensure that the WLC devices have already been created and discovered. If not, create the devices and discover those devices.
  2. From SevOne NMS appliance, go to Devices > Device Manager to show all the devices.
  3. Click on Add device to create a new device or select an existing device in the list and click on Wrench to edit the device.Device Manager 1
  4. Enter the values in the following fields for the device being added/edited.
    1. Name (device name)
    2. IP Address

    Please refrain from using \ , / , <</b>, >, | in WLC device names.

  5. In the SNMP section, SNMP Capable must be enabled and enter the values in the following fields.
    1. Port
    2. Read Community String (for SNMP v2)
    3. Username (for SNMP v3)
    4. Password (for SNMP v3)
    5. Authentication Type (for SNMP v3)
    6. Encryption Type (for SNMP v3)
    7. Encryption Key (for SNMP v3)Edit Device
  6. Click the SNMP dropdown and choose Deferred Data.
  7. Allow scripts to import data must be enabled for all devices to collect WLC data.Deferred Data 1
  8. Device(s) are now ready to be pinned to vendor specific device groups. Click the Devices menu, select Grouping and choose Device Groups . Pin or unpin devices as desired to the vendor specific Device Group . More than one device group can be created for the vendor and the device group can be a nested structure or directly under "All Device Groups" . This allows you to run more than one container working with the specific devices for the corresponding group. For example, click on WLC Aruba . Under Membership , click on Pin Devices . Pin Devices screen will pop-up. Choose Aruba WLC device . Click on Pin to Group . You have now pinned Aruba WLC device to group WLC Aruba. Device Group Single

    The user can also use a nested device group structure like the following which also helps the collector run in multi container mode. In the below example the user has put all the WLCs under All Device Groups - > DG1 - > WLCs . There are two device groups under this hierarchy one for each vendor (Aruba and Cisco). Here all the WLCs for Aruba would be pinned under Aruba device group and the collector would run in single container mode collecting data for all Aruba WLCs in one container, while for Cisco the WLCs are stored under two device groups (NYC and Boston) for which the collector will run in multi container mode spinning up two containers one each for NYC and Boston. Device Group Nested Both Cisco DGs Cisco DGs

    • Please use alphanumeric characters , underscores , period , dashes (i.e. a-zA-Z0-9\_.-), and space only while creating Device Group names.
    • If a device group named Wifi exists under All Device Groups before the installation, please delete / rename the device group to allow the collector to create the device group for its internal purposes.
    • Moving WLCs around in device groups used for polling data does not affect the data collection.
    • To stop showing the same Access Points (APs) under the Discovery Queue , please take care of the following points.
      • You MUST not create duplicate WLCs in the collector polling group.
      • If the same AP is reported by multiple WLCs, you MUST remove it from all except one of the WLCs.
    • Aruba IAP devices must be pinned in a separate device group than the Aruba Enterprise devices.

    When a new WLC is being added to SevOne NMS, pin the device to the appropriate Device Group. It will be considered in the next collector run.

Pin WiFi Stations on SevOne NMS

Perform the following steps to pin wifi stations on SevOne NMS.

  1. From SevOne NMS appliance, click the Devices menu, select Grouping , and then select Object Groups .
  2. Ensure that the Wifi Station Monitor object group is available in the list of Object Groups under the Wifi class. Pin Stations 1
  3. To pin stations to the Wifi Station Monitor object group, click Pin Objects to display the Pin Objects pop-up.
    1. Click the Device drop-down and look for devices named WiFi Stations - mfg:<manufacturer name> in the list of available devices.
    2. Select any manufacturer device to display its objects.
    3. Select one or more objects related to the manufacturer device selected in order to pin them to the object group.
    4. Click Pin to Group to pin the objects selected to the object group. Pin Stations 2
  4. You have now pinned objects selected to the object group Wifi Station Monitor. Pin Stations 3

Environment Variables

The table contains the list of all environment files and the environment variables it stores.

Please ensure that the values for the environment variables are not in quotes.
Also, the format for defining these environment variables must be <variable name>=<value>. There must be no spaces.
Initially, the cisco.env | aruba.env files may not contain all the environment variables. User must add the environment variables in the respective files required for their deployment setup.

cisco.env | aruba.env

ENVIRONMENT VARIABLES DEFAULT VALUES DESCRIPTION
AP_ESS_AGG_BL blank Flag to disable creation of ESS aggregation for a given list of ESSIDs under any AP devices. The flag is ignored if AP_ESS_AGG_BL_ALL flag is true.
AP_ESS_AGG_BL_ALL false The flag if set to true, will not create any ESS aggregation objects under any AP devices.
COLLECT_AUDIT_LOGS ALL Flag to collect audit logs for Access Points (APs) of specified WLCs. By default, audit logs are collected for APs of all WLCs. Acceptable values for COLLECT_AUDIT_LOGS are:
  • None - If set to None, no audit logs are collected.
  • ALL (default) - If set to ALL, audit logs (for the selected vendor) are collected for all WLCs and stored in SevOne NMS.
  • List of one or more WLCs - Audit logs are collected only for those WLCs that are provided in the form of a comma-separated list.
COLLECT_STATION_USERNAME true Flag to determine if SevOne NMS/Data Insight must display the username of the station or not.
DEVICE_GROUP none The hierarchy of parent groups under which the groups for WLCs (to be specified in WLC_GROUPS variable) are pinned. For example if the device group hierarchy is: ABC -> WLCs -> Cisco -> group_1 , group_2, this variable should have: ABC->WLCs->Cisco value. Known Limitation: Please do not allow spaces before and after ->. If spaces are used with ->, it will not find device-hierarchy specified.
DISTRIBUTE_ON_ALL_PEERS true The flag if set to true, will distribute the devices across the cluster on its own on all the peers. However, if set to false, it will send data to local peer or given a list of peers (if provided).
DISTRIBUTION_PEERS_LIST empty The flag expects a list of peers to distribute data. This flag will work only when DISTRIBUTE_ON_ALL_PEERS is set to false.
DO_WIRED None Flag to create wired interface objects under Cisco AP/Aruba AP devices for each physical interface.
  • None: If set to None, no data is collected for wired interfaces.
  • ALL: If set to ALL, data for all wired interfaces of all WLCs (for the selected vendor) is collected and stored in SevOne NMS as objects of object type Wifi Wired interfaces. Also, metadata and indicator data are collected for wired interfaces.
  • List of one or more WLCs: If set to a particular WLC name, only that WLC is used for collecting the data of wired interfaces.
DO_RADIO None Flag to create radio objects for Cisco AP / Aruba AP devices.
  • None: If set to None, no radio objects are created for Cisco / Aruba AP devices.
  • ALL: If set to ALL, it creates radio objects for Cisco / Aruba AP devices under all WLCs
  • List of one or more WLCs: It creates radio objects for Cisco / Aruba AP devices under the provided list (comma separated) of WLCs.
MYSQL_PORT 3306 MySQL port. Required if polling SNMPv3 devices.
MYSQL_USER root MySQL User Name. Required if polling SNMPv3 devices.
MYSQL_USER_PASSWORD none MySQL Password. Required if polling SNMPv3 devices.
NO_PREFIX false The flag if set to true , it removes the prefix WiFi AP: from the name of AP devices that are created by Wifi solution on SevOne NMS. NOTE: This feature does not support the upgrade from earlier versions of the collector. Applicable in case of fresh installs only.
POLL_INTERVAL 300 Poll interval in seconds.
SELF_MONITORING true Flag to send data of self-monitoring device to SevOne NMS.
SEVONE_API_COLLECTION_PORT 80 PAS REST API collection port.
SEVONE_API_CONFIG_PORT 80 PAS REST API config port.
SEVONE_API_HOST 127.0.0.1 PAS hostname or IP Address.
SEVONE_API_USER admin PAS administrator username.
SEVONE_API_PASSWORD SevOne PAS administrator password.
SEVONE_API_READ_TIMEOUT 60 seconds Read timeout for SevOne REST API connection.
SEVONE_API_SECURITY false PAS API use https.
SEVONE_API_SSL_VERIFY true Flag to connect https without certificates. Applicable only when SEVONE_API_SECURITY is set to true.
SSL_CA_CERTIFICATE_BUNDLE none path-to-CA-bundle. Please provide the absolute path. If you use this option, please make sure to set the following variables as:
  • SEVONE_API_SECURITY=true
  • SEVONE_API_COLLECTION_PORT=443
  • SEVONE_API_CONFIG_PORT=443
NOTE:
  • SEVONE_API_HOST must be a hostname and not an IP Address if this variable is set.
  • In case of remote installation, the user needs to manually copy the certificate bundle from SevOne appliance to a Virtual Machine (where the collector is deployed) and provide the path where the certificates are stored in the remote machine.
TIME_SINCE_AP_UNAVAILABLE 600 The number of seconds to add in the policy for detecting unused Access Points (APs). This value must be greater than twice the poll interval.
UPDATE_UNAVAILABLE_APS false If kept true, all the unavailable APs which are collected from WLC will have their indicators sent as zero and changed its WLC name to unknown. If set to false, no changes will be made to AP and all its values will be left as they are.
WLC_BL none WLC block list. Stop monitoring individual stations for blocked WLCs. These stations will still be considered for other aggregations.
WLC_BL_ALL false The flag if set to true , no individual station objects will be created regardless of the value of WLC_BL .
WLC_DRY_RUN false If true, it does a dry-run for the stats about the expected number of object and indicators that will be affected.
WLC_ESS_AGG_BL blank Flag to disable creation of ESS aggregation for a given list of ESSIDs under any WLC devices. The flag is ignored if WLC_ESS_AGG_BL_ALL flag is true.
WLC_ESS_AGG_BL_ALL false The flag if set to true, will not create any ESS aggregation objects under any WLC devices.
WLC_ESS_BL none Wifi ESS block list. This allows all, but monitoring of specific ESSIDs. These stations will still be considered for other aggregations.
WLC_ESS_WL none Wifi ESS allow list. This allows monitoring for selected ESSIDs only. Other stations will still be considered for other aggregations.
WLC_GROUPS none This variable is used to run the collector in multi container mode. Please provide all the vendor specific device groups in a comma separated format. A new container will be created for all the device groups provided. If only one device group is provided, the collector will run in single container mode. As per the above example this variable should have the value: group_1, group_2. This variable can also be used to specify the MSP name along with device groups. The variable should have the value: {MSP_NAME}::{WLC_GROUP}, {MSP_NAME}::{WLC_GROUP}. If a custom oui.csv file is created for a customer/tenant along with a prefix (for example, Customer_Prefix) for the manufacturer names, that prefix will reflect in the manufacturer devices. To get more information about custom oui.csv, please refer to Update MAC Address Manufacturer List section. Following are the formats for the manufacturer's device name.
Scenario-1 Case CSV file modification along with MSP name
Device name (mfg) WiFi Stations - <MSP Name> - mfg:<Customer_Prefix><Orgname>
Scenario-2 Case CSV file modification without MSP name
Device name (mfg) WiFi Stations - mfg:<Customer_Prefix><Orgname>
Scenario-3 Case MSP name without any modification to CSV file
Device name (mfg) WiFi Stations - <MSP Name> - mfg:<Orgname>
WLC_MFG_AGG_BL blank Flag to disable creation of MFG aggregation on a given list of WLC devices. The flag is ignored if WLC_MFG_AGG_BL_ALL flag is true.
WLC_MFG_AGG_BL_ALL false The flag if set to true, will not create any MFG aggregation objects under any WLC devices.
WLC_QUIET false If set to true, it suppress any output.
WLC_SNMP_TIMEOUT 5 seconds Flag to configure the SNMP walk timeout for WLCs.
WLC_VERBOSE   Apply several times for more verbose logging. Options are:
  • Log Level = 1; -v for WARNING and up
  • Log Level = 2; -vv for INFO
  • Log Level = 3; -vvv for DEBUG

Start Collector

To start the collector, execute the following commands.

  1. Change directory to the path where the tar file was extracted.
    $ cd <path where tar was extracted>
    
  2. Run the following command where <vendor name> can be cisco or aruba.
    $ ./install.sh run --vendor <vendor name>
    

Stop Collector

To stop the collector, remove or comment out the crons from /etc/cron.d/wifi-cron-<vendor name> where <vendor name> can be cisco or aruba.