TIG-Stack for Cisco C9800
- #projects
Introduction
The following GitHub repository facilitates the setup of a telemetry collection system tailored for Cisco IOS-XE C9800s Wireless Controllers. It employs Docker Compose to orchestrate three essential containers:
- Telegraf: Collects data.
- InfluxDBv2: Stores time-series data.
- Grafana: Visualizes the data.
The Docker Compose file automates the deployment of these components, streamlining the process to be zero-touch. It includes provisions for creating InfluxDB buckets and Grafana dashboards.
Screenshot
Requirements
- Docker Engine
- Linux distribution (For MacOS, see Known Issues)
Steps to Get It Up and Running
- Clone the Repository
git clone http://github.com/darwincastro/9800_telemetry_collector.git
- Navigate to the Directory
cd 9800_telemetry_collector
- Edit the .env File
Use a text editor to modify the .env
file, replacing the IP address under the variable INFLUXDB_URL
with the host’s IP address.
nano .env
- Run the script build.sh
sudo ./build.sh start
- Configure Wireless Controller Telemetry
Refer to this link for an example of wireless controller telemetry configuration.
-
Access GUI
- Grafana:
http://<ip_address_of_host>:3000
(Login: admin/C1sco12345) - InfluxDB:
http://<ip_address_of_host>:8086
(Login: admin/C1sco12345)
- Grafana:
-
Pre-built Dashboards
- Demo 9800CL
- Demo 9800L
- Demo 9840
Troubleshooting
Docker:
If containers fail to run:
docker ps -a # Determine problem exit code
docker run -it --entrypoint /bin/bash $IMAGE_NAME -s # Investigate container
Ensure containers stay up:
# Point docker file to tail -f /dev/null if no entry point or service is running
Confirm that Telegraf is receiving telemetry data from the Cisco C9800:
docker exec -it telegraf tail -f /tmp/metrics.out
Check the logs of each container:
docker logs influxdb
docker logs telegraf
docker logs grafana
Check telegraf’s internal metrics:
# Open and edit telegraf.conf
cd /etc/telegraf
nano telegraf.conf
# Add the following lines at the end to monitor the health
[[inputs.internal]]
collect_memstats = true
[agent]
debug = true
# Save the changes
# Display logs for Tegraf
docker logs telegraf
Cleanup:
If you want to remove the TIG-Stack containers or if something went wrong during the installation, you can run the following script:
sudo ./cleanup.sh
Wireless Controller:
Verify requisite processes:
show platform software yang-management process
Validate telemetry configuration:
show running-config | section telemetry
Check subscription validity:
show telemetry ietf subscription all
Check receiver validity:
show telemetry receiver all
Verify telemetry subscription states:
show telemetry internal subscription all stats
Known Issues
- MacOS uses the BSD version of sed by default, which doesn’t work with this script. Use
brew install gnu-sed
to install the GNU version of sed if running this script on MacOS.