Network telemetry is used by organizations to monitor their network devices (e.g. switches,routers) and provide this data to software controllers to analyze the data for condition of the network. Network Telemetry Agents running on Lenovo CNOS monitor the buffer statistics and network interface counters on the switch. Extenal Montoring and Analytical tools like Ganglia and Splunk can be used to monitor and analyse the telemetry agent data pulled from switches running Lenovo CNOS. The plugins to do capacity planning and congestion detection are presented here.
Server Installation
Install Ubuntu latest stable release 16.04 on a server machine and do the following
-
Untar lenovo-ganglia.tar.gz *(tar zxvf enovo-ganglia.tar.gz). lenovo-ganglia directory is created with ganglia-src, ganglia-conf and apache-conf
-
cd to ganglia-src
-
sudo bash ./install.sh install
-
Execute the following commands
sudo gmond
sudo gmetad
-
Open a browser and http://ipaddress/ganglia.
Lenovo Switch Configuration
Execute the following command on the Lenovo switch
- G8272#config
Enters into the configuration mode
- G8272(config)#feature telemetry
Enables telemetry feature on the switch
- G8272(config)#no feature restApi
Disable rest server on the switch
- G8272(config)#feature restApi http
Enable rest server in http mode on port 8090
- G8272(config)#exit
Exit from the configuration mode.
- Enabling the BST feature in cnos switch
PUT http://ipaddress:8090/nos/api/cfg/telemetry/bst/feature
Place the following json body as input to the above rest api { "collection-interval": 60, "send-async-reports": 0, "send-snapshot-on-trigger": 1, "trigger-rate-limit": 1, "async-full-report": 0, "trigger-rate-limit-interval": 10, "bst-enable": 1 }
-
Download the files and directories in this plugin to the server.
-
Modify the sample conf.py file according to the swithches and the corresponding interfaces of the switches.
-
edit the following lines in /usr/local/etc/gmond.conf cluster { name = "Lenovo_data_center" owner = "Lenovo" latlong = "unspecified" url = "unspecified" }
-
sudo gmond
-
sudo gmetad
-
Execute the python script collector.py by issuing the command sudo python collector.py
-
Access the ganglia web URL(http://ipaddress/ganglia) to visualize the output. The different ganglia metrics generated by collector,py will be displayed.
-
To stop the ganglia server issue the following commands "sudo killall gmond"
"sudo killall gmetad"