Get insights into your Cisco Catalyst Center infrastructure.
Cisco Catalyst Center is formerly known as Cisco DNA.
Collect information about networks that are managed by the Cisco Catalyst Center.
This extension assumes that you:
The Cisco Catalyst Center extension uses the Cisco Catalyst API to collect information about networks that are managed by Cisco Catalyst Center.



Network access from a Dynatrace ActiveGate to the Cisco Catalyst Center.
You have configured the Cisco Catalyst Center.
Optional You have created a read-only role specific for API access.
A specific role is not required, but is necessary for privilege management.
If not used, the pre-defined role is used by default.
To create a role:
API-READONLY-ROLE) and an optional description.You have created a user for API integration. To create a user:
Optional Check access control.
To enable the extension, find Cisco Catalyst Center (DNA Center) in the Dynatrace Hub.
This extension can monitor the following entities:
The extension offers the following features:
Infrastructure & Operations.The extension includes support for ingesting issues from Catalyst Center.
Issues are either reported as log messages or raised as Dynatrace events.
Issues can be reported as log messages. You can configure filtering by issue priority to report only the relevant ones.
Issues can be raised as Dynatrace events. This enables the following advanced capabilities:
ERROR_EVENT, CUSTOM_ALERT, CUSTOM_INFO).ERROR_EVENT) with support for condition-based overrides.Event generation applies only to issues that are already enabled for log message reporting.
Cisco Catalyst API version 2.3.7.6+
This feature lets you control how often metrics are reported for devices and interfaces, based on Catalyst tags. It does not affect how often data is polled from Cisco Catalyst Center; it only controls how often metrics are reported to Dynatrace.
Key capabilities:
Metrics collected by the Cisco Catalyst extension are categorized in the following feature sets:
Infrastructure & Operations.If you reduce the metrics collection frequency (for example, when adapting to a large environment constraints), it is also recommended to adjust discovery-related configuration parameters accordingly. These parameters should be increased proportionally, since they track semi-static attributes that do not need to be refreshed as frequently. Entity attributes and metrics dimension values are then updated according to the defined discovery frequencies.
These discovery intervals determine how often relatively static attributes are queried from Cisco Catalyst Center. By increasing these values proportionally, you reduce unnecessary load without compromising data accuracy.
| Parameter | Recommended multiplier | Recommended frequency, based on a five-minute metric frequency |
|---|---|---|
| Sites discovery frequency | 12 | 60 minutes |
| Devices discovery frequency | 6 | 30 minutes |
| Interfaces discovery frequency | 3 | 15 minutes |
The use of this extension incurs consumption of your Dynatrace license based on the data that the extension ingests. The details of license consumption will depend on which licensing model you are using, whether DPS or a Classic License.
DPS license consumption is based on the number of metric data points ingested. The following formula provides an approximate amount of annual data point ingest, assuming all feature sets are enabled.
(( 29+ ( 7 * <Number of sites> )+ ( 14 * <Number of monitored devices> )+ ( 3 * <Number of monitored interfaces> )+ ( 11 * <Number of monitored interfaces with operational status `UP`> )) / <metrics collection interval>+ 2 * Number of sites / <sites discovery interval>+ 2 * Number of monitored devices / <devices discovery interval>+ 1 * Number of monitored interfaces / <interface discovery interval>+ 25 // optional - self-monitoring metrics+ 13 // optional - self-monitoring metrics (tracking communication errors with Catalyst Center - reported only if errors occur)) * 60 minutes * 24 hours * 365 days data points per year
For Dynatrace classic licenses, metric ingestion consumes Davis Data Units (DDUs) at the rate of .001 DDUs per metric data point. For more information, see DDUs for metrics.
To estimate annual DDU consumption, multiply the result of the formula in Metrics powered by Grail (DPS) by .001.
When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.
In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.
All metrics that aren't categorized into any feature set are considered to be the default and are always reported.
A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.
| Metric name | Metric key | Description |
|---|---|---|
| Interface Count | cisco.cc.device.total_interface_count.gauge | Total Number of Interfaces for Device |
| Admin Status | cisco.cc.interface.admin_status | Interface's Admin Status (1: UP | 0: DOWN) |
| Oper Status | cisco.cc.interface.oper_status | Interface's Status (1: UP | 0: DOWN) |
| Speed | cisco.cc.interface.speed | — |
| TX Rate | cisco.cc.interface.txRate | — |
| TX Utilization | cisco.cc.interface.txUtilization | — |
| TX Discards | cisco.cc.interface.txDiscards | — |
| TX Errors | cisco.cc.interface.txError | — |
| RX Rate | cisco.cc.interface.rxRate | — |
| RX Utilization | cisco.cc.interface.rxUtilization | — |
| RX Discards | cisco.cc.interface.rxDiscards | — |
| RX Errors | cisco.cc.interface.rxError | — |
| Metric name | Metric key | Description |
|---|---|---|
| — | com.dynatrace.extension.network_device.cpu_usage | — |
| — | com.dynatrace.extension.network_device.memory_usage | — |
| — | com.dynatrace.extension.network_device.sysuptime | — |
| — | com.dynatrace.extension.network_device.memory_total | — |
| — | com.dynatrace.extension.network_device.if.status | — |
| — | com.dynatrace.extension.network_device.if.bytes_in.count | — |
| — | com.dynatrace.extension.network_device.if.bytes_out.count | — |
| Metric name | Metric key | Description |
|---|---|---|
| Overall Metrics Data Collection Time | sfm.cisco.cc.monitor.run.duration | Total duration of all Statistics Data Queries to collect data reported as metrics (excluding Discovery Data Queries for retrieving entity attributes) |
| Metrics Data Collection Error | sfm.cisco.cc.monitor.run.error | Indicates whether an error occurred during the most recent data collection. |
| Rejected Statistics Data Queries | sfm.cisco.cc.collection.timeout | Number of Statistics Data Queries not executed during the most recent data collection to prevent overlap. Refers to Statistics Data Queries used to collect metric data. |
| Device Discovery Data Query Duration | sfm.cisco.cc.devices.get_network_device_by_pagination_range.duration | Duration of the paged query devices.get_network_device_by_pagination, used to discover devices and collect their attributes. |
| Device Discovery Data Query Errors | sfm.cisco.cc.devices.get_network_device_by_pagination_range.error | Number of errors that occurred during the most recent device discovery run of the paged queries devices.get_network_device_by_pagination, used to discover devices and collect their attributes. |
| Device Statistics Data Query Duration | sfm.cisco.cc.devices.devices.duration | Duration of the paged query devices.devices, used to collect device metrics. |
| Device Statistics Data Query Errors | sfm.cisco.cc.devices.devices.error | Number of errors that occurred during the most recent data collection for the paged query devices.devices, used to collect device metrics. |
| Devices Count Query Duration | sfm.cisco.cc.devices.get_device_count.duration | Duration of the query devices.get_device_count, used to get number of devices |
| Devices Count Query Errors | sfm.cisco.cc.devices.get_device_count.error | Number of errors that occurred during the most recent data collection or device discovery run for the query devices.get_device_count, used to retrieve the number of devices. |
| Submitted Device Statistics Query Tasks | sfm.cisco.cc.endpoint.get_devices_statistics_async.submitted | Number of submitted tasks to run the paged query devices.devices, used to collect device metrics. |
| Submitted Device Discovery Query Tasks | sfm.cisco.cc.device_cache.cache_network_device_by_page.submitted | Number of submitted tasks to run the paged query devices.get_network_device_by_pagination, used to discover devices and collect their attributes. |
| Interface Discovery Data Query Duration | sfm.cisco.cc.devices.get_all_interfaces.duration | Duration of the paged query devices.get_all_interfaces, used to discover interfaces and collect their attributes. |
| Interface Discovery Data Query Errors | sfm.cisco.cc.devices.get_all_interfaces.error | Number of errors that occurred during the most recent interface discovery run of the paged queries devices.get_all_interfaces, used to discover interfaces and collect their attributes. |
| Interface Statistics Data Query Duration | sfm.cisco.cc.devices.gets_interfaces_along_with_statistics_data_from_all_network_devices.duration | Duration of the paged query devices.gets_interfaces_along_with_statistics_data_from_all_network_devices, used to collect interface metrics. |
| Interface Statistics Data Query Errors | sfm.cisco.cc.devices.gets_interfaces_along_with_statistics_data_from_all_network_devices.error | Number of errors that occurred during the most recent data collection for the paged query devices.gets_interfaces_along_with_statistics_data_from_all_network_devices, used to collect interface metrics. |
| Total Interface Statistics Queries Duration | sfm.cisco.cc.endpoint.fetch_ifaces_statistics.duration | Total duration of all paged queries, used to collect interface metrics. |
| Interfaces Count Query Duration | sfm.cisco.cc.devices.get_device_interface_count.duration | Duration of the query devices.get_device_interface_count, used to retrieve number of interfaces |
| Interfaces Count Query Errors | sfm.cisco.cc.devices.get_device_interface_count.error | Number of errors that occurred during the most recent data collection or interface discovery run for the query devices.get_device_interface_count, used to retrieve the number of interfaces. |
| Submitted Interface Discovery Query Tasks | sfm.cisco.cc.interface.cache_ifaces_by_page.submitted | Number of submitted tasks to run the paged query devices.get_all_interfaces, used to discover interfaces and collect their attributes. |
| Submitted Interface Statistics Query Tasks | sfm.cisco.cc.endpoint.get_ifaces_data_by_view_async.submitted | Number of submitted tasks to run the paged query devices.gets_interfaces_along_with_statistics_data_from_all_network_devices, used to collect interface metrics. |
| Total Interface Statistics Data Records | sfm.cisco.cc.endpoint.fetch_ifaces_statistics.fetched_statistics | Number of interface statistics data records in the responses of all paged queries devices.gets_interfaces_along_with_statistics_data_from_all_network_devices, used to collect interface metrics. |
| Total Device Statistics Queries Duration | sfm.cisco.cc.endpoint.get_device_statistics_dict.duration | Total duration of all paged queries, used to collect device metrics. |
| Total Device Statistics Data Records | sfm.cisco.cc.endpoint.get_device_statistics_dict.reported_devices | Number of device statistics data records in the responses of all paged queries devices.devices, used to collect device metrics. |
| Site Discovery Data Query Duration | sfm.cisco.cc.sites.get_site.duration | Duration of the paged query sites.get_site, used to discover sites and collect their attributes. |
| Site Discovery Data Query Errors | sfm.cisco.cc.sites.get_site.error | Number of errors that occurred during the most recent site discovery run of the paged queries sites.get_site, used to discover sites and collect their attributes. |
| Sites Count Query Duration | sfm.cisco.cc.sites.get_site_count.duration | Duration of the query sites.get_site_count, used to retrieve number of sites |
| Sites Count Query Errors | sfm.cisco.cc.sites.get_site_count.error | Number of errors that occurred during the most recent data collection or site discovery run for the query sites.get_site_count, used to retrieve the number of sites. |
| Site Health Statistics Data Query Duration | sfm.cisco.cc.sites.get_site_health.duration | Duration of the paged query sites.get_site, used to collect site health metrics. |
| Site Health Statistics Data Query Errors | sfm.cisco.cc.sites.get_site_health.error | Number of errors that occurred during the most recent data collection for the paged query sites.get_site, used to collect site health metrics. |
| Site Health Summaries Statistics Data Query Duration | sfm.cisco.cc.sites.read_list_of_site_health_summaries.duration | Duration of the paged query sites.read_list_of_site_health_summaries, used to collect site health summaries metrics |
| Site Health Summaries Statistics Data Query Errors | sfm.cisco.cc.sites.read_list_of_site_health_summaries.error | Number of errors that occurred during the most recent data collection for the paged query sites.read_list_of_site_health_summaries, used to collect site health summaries metrics |
| Network Health Statistics Data Query Duration | sfm.cisco.cc.topology.get_overall_network_health.duration | Duration of the query topology.get_overall_network_health, used to collect overall network health metrics |
| Network Health Statistics Data Query Errors | sfm.cisco.cc.topology.get_overall_network_health.error | Number of errors that occurred during the most recent data collection for the query topology.get_overall_network_health, used to collect overall network health metrics |
| Client Health Statistics Data Query Duration | sfm.cisco.cc.clients.get_overall_client_health.duration | Duration of the query clients.get_overall_client_health, used to collect overall clients health metrics |
| Client Health Statistics Data Query Errors | sfm.cisco.cc.clients.get_overall_client_health.error | Number of errors that occurred during the most recent data collection for the query clients.get_overall_client_health, used to collect overall clients health metrics |
| Issues Data Query Duration | sfm.cisco.cc.issues.issues.duration | Duration of the query issues.issues, used to collect issues data |
| Issues Data Query Errors | sfm.cisco.cc.issues.issues.error | Number of errors that occurred during the most recent data collection for the query issues.issues, used to collect issues data. |
| Metric name | Metric key | Description |
|---|---|---|
| Wired Clients Score | cisco.cc.site.client_health_wired | Site's Wired Clients Health Score |
| Wireless Clients Score | cisco.cc.site.client_health_wireless | Site's Wireless Clients Health Score |
| Clients | cisco.cc.site.client_count.gauge | Site's Clients Summary Count |
| Wired Clients | cisco.cc.site.wired_client_count.gauge | Site's Wired Clients Summary Count |
| Wireless Clients | cisco.cc.site.wireless_client_count.gauge | Site's Wireless Clients Summary Count |
| Healthy Clients | cisco.cc.site.client_good_health_percentage | Site's Healthy Clients Summary Percentage |
| Devices | cisco.cc.site.network_device_count.gauge | Site's Devices Summary Count |
| Healthy Devices | cisco.cc.site.network_device_good_health_percentage | Site's Healthy Devices Summary Percentage |
| Site Issues | cisco.cc.site.issue_count.gauge | Pending Site Issues |
| Metric name | Metric key | Description |
|---|---|---|
| Health score (Center) | cisco.cc.center.health_score | Cisco Catalyst Network topology - Overall health score |
| Healthy devices | cisco.cc.center.healthy_devices | Cisco Catalyst Network topology - Healthy devices |
| Unhealthy devices | cisco.cc.center.unhealthy_devices | Cisco Catalyst Network topology - Unhealthy devices |
| Clients health score | cisco.cc.client.health_score | Cisco Catalyst Client - Overall client health score |
| Clients Count | cisco.cc.client.client_count.gauge | Cisco Catalyst Client - Clients count |
| Unique Clients Count | cisco.cc.client.client_unique_count.gauge | Cisco Catalyst Client - Unique Clients Count |
| Clients health score count | cisco.cc.client.health_score_count.gauge | Cisco Catalyst Client - Clients health score by score type |
| Metric name | Metric key | Description |
|---|---|---|
| Health | cisco.cc.device.health | Device's Health |
| CPU | cisco.cc.device.cpu | Device's CPU consumption |
| Memory | cisco.cc.device.memory | Device's Memory consumption |
| Average Temperature | cisco.cc.device.temperature | Device's Avg Temperature |
| Device Issues | cisco.cc.device.issue_count.gauge | Pending Device Issues |
| Reachability | cisco.cc.device.reachability | Device's Reachability (1: Reachable | 0: Not Reachable) |
| Uptime | cisco.cc.device.uptime.gauge | Device Uptime |
| Memory Size | cisco.cc.device.memory_size.gauge | Device Memory Size |
| Issue Events | cisco.cc.device.issue_events.gauge | Issue events over selected timeframe |
Practical tests reveal the following rule of thumb: 1000 devices per each one minute monitoring interval.
This means that with a five-minute monitoring interval, it should be achievable to monitor 5000 devices with a single ActiveGate.
This is an estimation. Results in your environment may vary, depending on:
The estimation assumes that
One monitoring configuration should track one Catalyst Center. Multiple monitoring configurations should be used to track multiple Catalyst Centers.
This is important to retain consistency in the Catalyst Center locations reporting. If you split a single Catalyst Center instance between more than one monitoring configuration, for example by using tag-based filters, you may end up with duplicate entities representing individual Catalyst Center locations. This results in double-counted metrics for these locations.
We recommend a one-minute monitoring interval to retain high data fidelity for alerting and Davis AI reasoning. In very large environments, increasing monitoring interval may help with scalability; this however is always occupied with data fidelity loss. We don't recommend going beyond five.
Please note that data on entities that do not change often. This data is already collected less frequently and you can adjust it further. For more information, see Discovery frequencies adjustment.
The Catalyst API returns negative values for non-reachable devices.
No, not all feature sets are required.
Infrastructure & Operations, only the default feature set is needed.Yes, but with limitations. In the extension configuration, select the Cisco Catalyst Center Version that matches your installed version. If your exact version is not listed, choose the closest lower version available.
Please note that when connecting to versions of Cisco Catalyst Center other than those listed in Compatibility information, some metrics may be missing or unavailable.
Specifically, older API versions are not reliable as a source of the interface-related metrics, due to API scalability limitations. Therefore, when extension is connected to DNA Center 2.3.6.x or DNA Center 2.3.5.x or earlier, there will be no interface-level metrics available on charts and in the
Infrastructure & Operations.
Other metrics gaps may also exist.
We strongly recommend connecting to API versions listed in the Compatibility Information section.
This indicates that the Catalyst endpoint uses a self-signed certificate. If you trust the endpoint, you can skip certification verification. To do this, in the connection settings, set Check SSL Certificate to false.
If you need to use different HTTP proxy servers for different Catalyst endpoints, you should create a separate extension configuration for each proxy. The proxy defined in a configuration applies to all Catalyst endpoints within that configuration. To ensure that the correct proxy is used for each endpoint, define each proxy-endpoint pair in its own dedicated configuration.
Not yet.
We look forward to your feedback on the enhancements that would make this extension better fitted to your environment. Post your product idea in the Dynatrace community.
If you see RateLimitError messages, it means the extension is sending too many requests to the Catalyst Center, causing it to return RateLimitError and temporarily block connections from the extension.
This leads to timeouts.
To troubleshoot:
RateLimitError while calling client method appears before the Read timed out error, a potential solution is to increase the Metrics Collection Frequency in the configuration, for example to 15 minutes.
If increasing the value helps, fine-tune it as needed.
Also check that the Page size in the configuration is set to the default values.
The default values are the maximum allowed and reduce the number of requests.
Smaller page sizes mean more requests.RateLimitError while calling client method does not appear before the Read timed out error, open the Cisco Catalyst Extension Self-Monitoring dashboard and look at the Overall Metrics Data Collection Time graph.
Based on the value in the graph, increase the Single Request Timeout setting in the extension configuration to a value higher than the one shown in the graph.This issue can be resolved in several ways. In some cases, applying just one of the following steps is sufficient, while in others a combination may be needed:
Separate configurations for multiple endpoints. If a single extension configuration connects to multiple Catalyst Centers, all cached data from these endpoints is stored in one OS process. Create a dedicated configuration for each endpoint. Each configuration runs as a separate OS process, so the cached data from each endpoint is split across multiple processes.
Increase RAM on the ActiveGate server. Allocating more RAM to the ActiveGate machine can help prevent memory limit breaches.
Increase Extension Execution Controller limits.
Adjust the limits in the extensionsuser.conf file as described in the Dynatrace documentation, see Extension Execution Controller custom configuration.
For example, you can add:
# Memory settingsdslimit_python_mem=3000mem_soft_limit_percent=70.0mem_hard_limit_percent=80.0
The Dynatrace entity instance limit for interfaces is 100,000.
If your Catalyst Center contains more than 100,000 interfaces, you may have reached the Dynatrace entity instance limit for Network Interface and Catalyst Interface entities.
To verify this, run the following DQL query:
timeseries entity_count_per_entity_type =sum(dt.sfm.server.monitored_entities.entity_count_per_entity_type,filter: in(dt.me_type_name, array("network:interface", "cisco_cc:interface"))),by: { dt.me_type_name }| fieldsAdd entity_count_per_entity_type.single_value = arrayLast(entity_count_per_entity_type)| fields `entity type`=dt.me_type_name, `entity count`=entity_count_per_entity_type.single_value
If the value is greater than 100,000, contact Dynatrace Support and request an increase of the entity limit for network interfaces (network:interface) and Catalyst interfaces (cisco_cc:interface) to 2.4 million for your tenant.
Query consumption can be reduced in several ways:
Increase the value of Metrics Collection Frequency in the extension configuration.
This interval has the most significant impact on query usage for this extension.
Increase the intervals for Sites Discovery Frequency, Devices Discovery Frequency, and Interfaces Discovery Frequency in the configuration.
Disable certain feature sets in the extension configuration. This will reduce the amount of data collected, which in turn lowers query usage.
Disabling feature sets will result in missing data on Classic Analytic and Platform screens.
Query consumption can be reduced in several ways:
Increase the value of Metrics Collection Frequency in the extension configuration.
This interval has the most significant impact on query usage for this extension.
Increase the intervals for Sites Discovery Frequency, Devices Discovery Frequency, and Interfaces Discovery Frequency in the configuration.
Disable certain feature sets in the extension configuration. This will reduce the amount of data collected, which in turn lowers query usage.
Disabling feature sets will result in missing data on Classic Analytic and Platform screens.
This issue typically occurs because the Cisco DNA Center REST API bundle was not automatically upgraded, even though the platform itself was.
To resolve this issue, disable and then re-enable the Cisco DNA Center REST API bundle. This forces a refresh and restores access to the affected endpoints.
To troubleshoot the Catalyst endpoint itself and validate the REST API bundle:
<url path> API endpoint in question by searching in the URL column.
Ensure that GET is specified in the Method column.