This project provides Telegraf configuration and scripts to fetch data from Cisco Catalyst Center API endpoints. It allows you to collect metrics and insights from your Cisco Catalyst Center environment and integrate them with your monitoring and analytics tools.
🚧 Currently, this project is WIP! Changes to the way data is indexed and parsed may be made! 🚧
- Telegraf 1.31.2 or higher
- Python 3.12.3 or higher
- Access to Cisco Catalyst Center API endpoints
-
Clone this repository:
git clone https://github.com/Walkablenormal/cisco-catalyst-center-telegraf.git
cd cisco-catalyst-center-telegraf
-
Install required Python packages:
pip install -r requirements.txt
-
Copy the Telegraf configuration file to your Telegraf config directory:
cp * /etc/telegraf/telegraf.d/
- Open the
config.py
file and update the following parameters:
BASE_URL
: URL of your Cisco Catalyst Center instance (string)USERNAME
: Your Catalyst Center API username (string)PASSWORD
: Your Catalyst Center API password (string)SSL_VERIFY
: True if the certificate your Catalyst Center deployment uses is singed by a trusted CA. (bool)
Currently, this file contains the credentials of the Cisco DevNet Always-On Catalyst Center Sandbox.
- Start Telegraf with the new configuration:
systemctl restart telegraf
- Verify that data is being collected by checking your configured output destination (e.g., InfluxDB, Prometheus, etc.).
The following routes are currently implemented:
Route | Python file | Telegraf config |
---|---|---|
/dna/intent/api/v1/network-device/ | catalyst_center_network_device.py | catalyst_center_network_device.conf |
/dna/intent/api/v1/client-health | catalyst_center_overall_client_health.py | catalyst_center_overall_client_health.conf |
/dna/intent/api/v1/network-health | catalyst_center_overall_network_health.py | catalyst_center_overall_network_health.conf |
/dna/intent/api/v1/site-health | catalyst_center_site_health.py | catalyst_center_site_health.conf |
/dna/intent/api/v1/compliance | catalyst_center_compliance.py | catalyst_center_compliance.conf |
At some point; the following routes will also be implemented;
- /dna/intent/api/v1/onboarding/pnp-device
- /dna/intent/api/v1/topology/physical-topology
- /dna/intent/api/v1/issues
- /dna/intent/api/v1/onboarding/pnp-device
- /dna/intent/api/v1/security-advisory/device-summary
- dna/intent/api/v1/security-advisory/advisory
- /dna/intent/api/v1/assurance/health
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the LGPL License.