Check to see if your device is compatible to use this program. Use the following instructions - https://developer.cisco.com/docs/ios-xe/#!enabling-restconf-on-ios-xe
- Tested Models
- -ASR 1000 Series-ISR 4000 Series-CSR 1000v-CAT 3000 Series
- YANG models options:
- -ietf-interfaces:interfaces-state. When using this model the program calculates the bandwidth. In turn, data may be slightly less accurate but still close-Cisco-IOS-XE-interfaces-oper:interfaces. Exact bandwidth calculated by the device. The progam only converts from kbps to mbps
Easy With Docker (Image needs to be updated to reflect IETF Model)
Visit https://hub.docker.com/r/cober2019/cisco_xe_bandwidth_monitor or just execute "docker pull cober2019/cisco_xe_bandwidth_monitor" from docker CLI. When running the image set Local Host option to 3000. The container port should display 3000/tcp to the right.
- The following dependencies are required. If you don't have the following dependencies installed, execute: "sudo bash install_dependencies.sh"
- -Open SSL
- Once Dependecies Are Installed:
- Note: If you're using windows 10, you can use built-in Ubuntu1. Clone this repo to you server and navigate to the /ios-xe-bandwidth-monitor (root) directory.2. Execute command "sudo bash init_app_routes" which will take care of everything below. When running the script, SSL certs will be created for app to api security. TLSv1.3 for transport.If you want to manualy install then continue with these steps:2. Located package.json and execute code "npm install package.json"3. Once packages are installed, execute code "node server.js&"4. Navigate to 127.0.0.1:30005. Create a virtual environment by executing "python3.8 -m venv ios-xe-bandwdith-monitor-env" and activate the env using "source ios-xe-bandwdith-monitor-env/bin/activate"6. Install python modules using pip "pip install -r requirements.txt"7. Start the API using "Python3 api_routes.py"8. Go back to the web app and login to your device
- Other
- -This program communicates using two protocols, ssh and https/restconf. All connectivity is located in BackendModules/device_calls.py