Monitor Cisco Catalyst Center (DNA Center) network infrastructure with device health, performance, client experience, and topology insights.
Cisco Catalyst Center is formerly known as Cisco DNA.
Collect information about networks that the Cisco Catalyst Center manages.
This extension assumes that you:
The Cisco Catalyst Center extension uses the Cisco Catalyst API to collect information about managed networks.



Dynatrace version 1.347+
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.cisco_cc.tags.The extension supports three reporting strategies that control how devices are grouped for metric collection. Choose the strategy that fits your environment size and monitoring requirements.
The Simple strategy produces the minimum number of API queries and is the easiest configuration to understand and maintain.
All devices are reported using a single, uniform configuration consisting of a collection frequency and an optional device filter applied to the entire Catalyst Center.
The device filter is a combination of three property types: Device Families, Device Roles, and Catalyst Tag Names.
OR. A device matches if it satisfies any of the selected values for that type.AND. A device must satisfy the condition for each configured property type to be included. Empty property types are excluded from filtering and don't restrict the match.Define multiple reporting groups, each consisting of one collection frequency and one device filter. Groups are evaluated from highest frequency to lowest. A device is reported at the frequency of the first group that matches the filter. Devices that don't match any group aren't reported.
Use the Flexible Groups strategy if different subsets of devices in your environment need different collection frequencies, for example, core switches reported every five minutes and access switches every fifteen minutes.
When you use tag-based filters and a device carries multiple tags, the device might match the filter criteria for more than one group and be polled by multiple queries, even though its metrics are reported only once. In large environments (5,000+ devices) the Flexible Groups strategy can add unnecessary polling load. We recommend that you use the Exclusive Groups strategy instead.
Partition devices into strictly separate groups, each associated with exactly one value of a chosen dimension: Family, Role, or Tags.
Use the Tags dimension for the most flexible partitioning. You can assign dedicated catalyst tags to device groups independently of their family or role classification.
The Exclusive Groups strategy guarantees that each device is queried by exactly one reporting group. It eliminates redundant queries by design, without relying on runtime deduplication. It's recommended for large environments (5,000+ devices).
A device filter decides which devices are monitored. An interface filter decides which interfaces on those devices are monitored. The two are independent, and interface filters work with all three reporting strategies.
Interface filtering is the most effective way to reduce the number of monitored interfaces.
The following filters are available:
Access, Trunk, Routed, Dynamic Auto, Dynamic Desirable, and StackWise.Physical or Virtual.
This field accepts free text, and the value must match exactly.
Your Catalyst Center might also report uppercase names, such as PROPVIRTUAL or ETHERNETCSMACD.GigabitEthernet*.The filters follow the same rules as the device filter:
AND. An interface must pass all of them.OR. An interface must match at least one of them.* stands for any text, including no text at all. It's the only wildcard.
| Pattern | Matches |
|---|---|
| Every name that starts with |
| Every name that contains |
| Every name that starts with |
| Every name that starts with |
| Only the interface named exactly |
* anywhere in a pattern, and use it more than once.?, %, and _ are ordinary characters, not wildcards.* matches only that exact name.This applies to Interface Types and Interface Name Patterns, which you enter yourself.
For example, physical does not match Physical, and gigabitethernet* does not match GigabitEthernet0/1.
A value with the wrong case is not reported as an error. It matches no interface, so the device appears to have none. Copy the values exactly as Catalyst Center shows them.
Interface Types requires an exact match and doesn't accept wildcards. For example, Phys* matches nothing.
Use Interface Name Patterns if you need a wildcard.
cisco.cc.device.total_interface_count.gauge still counts filtered-out interfaces.
This metric always reports every interface on the device—it shows the size of the device, not how much of it is monitored.
The extension includes support for ingesting issues from Catalyst Center.
Issues are reported as log messages. Optionally, you can also raise the same issues as Dynatrace events.
Issues are reported as log messages. You can configure filtering by issue priority to report only the relevant ones.
Optionally, issues reported as log messages can also 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.Raising issues as Dynatrace events requires issue log reporting to be enabled. Issues that aren't reported as log messages can't be raised as Dynatrace events.
The extension supports ingesting events and notifications from Cisco Catalyst Center. Catalyst Center events are reported as log messages, which are ingested by Dynatrace and can subsequently trigger Dynatrace events.
To report Catalyst Center events as log messages, configure Catalyst Center event queries by:
NETWORK, APP, SYSTEM, SECURITY, INTEGRATIONS),INFO, WARN, ALERT, ERROR) to report only the relevant ones.Catalyst Center events reported as log messages can also be raised as Dynatrace events. To do this, set a Davis Event Type in the reporting rule. A rule without an event type reports log messages only.
Events raised as CUSTOM_INFO never open a problem. A rule that maps the INFO category to CUSTOM_INFO can create thousands of Dynatrace events a day on a busy Catalyst Center.
Metrics collected by the Cisco Catalyst extension are categorized in the following feature sets:
cisco.cc.center.status, the connection status of each monitoring configuration.
Infrastructure & Operations.Discovery frequencies control how often the extension queries Cisco Catalyst Center for semi-static entity data: site hierarchy, device attributes, and interface configuration. Each discovery run also reports the current state of those entities as log events to Dynatrace, which keeps entity attributes up to date.
Discovery runs are scheduled independently from metric collection. They aren't tied to any reporting strategy or group frequency.
| Parameter | Recommended frequency |
|---|---|
Sites discovery frequency | 60 minutes |
Devices discovery frequency | 30 minutes |
Interfaces discovery frequency | 15 minutes |
Starting with extension version 3.2.0, the default Interfaces Discovery Frequency of a new configuration is 15 minutes. Configurations created before version 3.2.0 stay at 5 minutes unless you increase the value.
For larger environments, consider increasing these values further to reduce the load on Cisco Catalyst Center. Entity attributes in Dynatrace then update less frequently, which is acceptable for semi-static data such as device roles, software versions, and interface descriptions.
Interface metrics are reported at the Reporting Frequency of each reporting configuration.
The interface discovery log events (cisco.cc.interface_discovery, the records that carry the interface attributes) are sent after every interface discovery, at the Interfaces Discovery Frequency, just as the device and site discovery log events follow their discovery frequencies.
Every interface discovery ingests one log record per interface. On a Catalyst Center with hundreds of thousands of interfaces, set Interfaces Discovery Frequency to 15 minutes or more.
The interface discovery reads every interface of the Catalyst Center through the Intent API, 500 interfaces per request, and always runs to completion:
HTTP 429) is skipped.With max_calls_per_minute at its default of 100, a discovery of 500,000 interfaces takes about 10 minutes, so set Interfaces Discovery Frequency to 15 minutes or more.
Interface metrics start after the first discovery ends, and then follow the Reporting Frequency.
After every discovery, the extension checks whether the API calls of each scheduled run fit into its frequency at the configured max_calls_per_minute.
If they don't, the log and the monitoring configuration show a warning that names the run. Increase that run's frequency or max_calls_per_minute.
The extension keeps in memory only the interfaces that belong to devices the configuration reports and that pass its interface filters.
Using the extension consumes your Dynatrace license based on the number of metric data points and the log volume it ingests.
License consumption depends on which licensing model you use: Dynatrace Platform Subscription (DPS) or Classic License.
.001 DDUs per metric data point; .0005 DDUs per log line. For more information, see DDUs for metrics.The extension reports metrics in two independent schedules:
Metrics Collection Frequency interval.// Center and site metrics (featureSets: center, site)// runs at <metrics_collection_frequency> minutes(8 // center-level: health score, device counts, client counts, cc events+ 9 * <Number of sites> // per site: client health, device counts, issue count) * 60 / <metrics_collection_frequency> * 24 * 365// Device and interface metrics (featureSets: default, device, interface)// For each reporting group g with frequency f_g and its monitored device/interface set:+ SUM over all reporting groups g:(14 * <Devices in group g> // cpu, memory, uptime, health, reachability,// temperature, issue count/events, memory size,// total interface count+ 3 * <Interfaces in group g> // admin status, oper status, if.status+ 11 * <UP interfaces in group g> // speed, tx/rx rate, utilization, discards, errors,// bytes_in, bytes_out) * 60 / f_g * 24 * 365// Optional: self-monitoring metrics (featureSet: self-monitoring)// ~38 metrics at <metrics_collection_frequency>; error-tracking metrics reported only when errors occur+ ~38 * 60 / <metrics_collection_frequency> * 24 * 365
For the Simple strategy with a single uniform frequency f, the device term simplifies to:
( 14 * <Total monitored devices>+ 3 * <Total monitored interfaces>+ 11 * <Total UP interfaces>) * 60 / f * 24 * 365
Discovery runs report entity attributes as log events. Log ingest costs apply. Assume an estimated size of 5,000 bytes per log record.
(1 * <Number of sites> // site discovery log events) * 60 / <sites_discovery_frequency> * 24 * 365+ (1 * <Number of monitored devices> // device discovery log events) * 60 / <devices_discovery_frequency> * 24 * 365+ (1 * <Number of monitored interfaces> // interface discovery log events) * 60 / <interfaces_discovery_frequency> * 24 * 365
Multiply the total annual log record count by 0.000005 GiB to get annual log ingest volume.
Both the metric data point formula and the log volume formula scale with the number of monitored interfaces. Use an interface filter to monitor only the interfaces you need. A longer reporting frequency for less important device groups lowers the cost further.
When activating your extension using a 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 |
|---|---|---|
| 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 in Seconds |
| Issue Changes | cisco.cc.device.issue_events.gauge | Catalyst issues that were new or changed - status, priority or issue occurrence count differs from the previous collection cycle - counted per device and reported only when non-zero |
| 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 |
| Catalyst Center Event Count | cisco.cc.center.notification_count.gauge | Number of Cisco Catalyst Center event notifications reported per collection interval |
| 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 |
|---|---|---|
| Device Count Query Duration | sfm.cisco.cc.get_devices_by_query_count.duration | Duration of the get_devices_by_query_count API call used to determine total device count before paginated collection. |
| Device Count Query Errors | sfm.cisco.cc.get_devices_by_query_count.error | Number of errors during get_devices_by_query_count API call. |
| Device Query Page Duration | sfm.cisco.cc.get_devices_by_query.duration | Duration of a single paginated get_devices_by_query API call used to collect device data. |
| Device Query Page Errors | sfm.cisco.cc.get_devices_by_query.error | Number of errors during a paginated get_devices_by_query API call. |
| Device Discovery Count Query Duration | sfm.cisco.cc.get_network_devices_count_by_params.duration | Duration of the get_network_devices_count_by_params API call used to determine device count during BASIC discovery. |
| Device Discovery Count Query Errors | sfm.cisco.cc.get_network_devices_count_by_params.error | Number of errors during get_network_devices_count_by_params API call. |
| Device Discovery Query Page Duration | sfm.cisco.cc.get_network_devices_by_params.duration | Duration of a single paginated get_network_devices_by_params API call used for BASIC device discovery. |
| Device Discovery Query Page Errors | sfm.cisco.cc.get_network_devices_by_params.error | Number of errors during a paginated get_network_devices_by_params API call. |
| Physical Topology Query Duration | sfm.cisco.cc.get_physical_topology.duration | Duration of the get_physical_topology API call used to collect physical network topology data. |
| Physical Topology Query Errors | sfm.cisco.cc.get_physical_topology.error | Number of errors during get_physical_topology API call. |
| Site Count Query Duration | sfm.cisco.cc.get_sites_count.duration | Duration of the get_sites_count API call used to determine total site count before paginated collection. |
| Site Count Query Errors | sfm.cisco.cc.get_sites_count.error | Number of errors during get_sites_count API call. |
| Site Query Page Duration | sfm.cisco.cc.get_sites.duration | Duration of a single paginated get_sites API call used to collect site data. |
| Site Query Page Errors | sfm.cisco.cc.get_sites.error | Number of errors during a paginated get_sites API call. |
| Site Topology Query Duration | sfm.cisco.cc.get_sites_topology.duration | Duration of the get_sites_topology API call used to collect site hierarchy topology. |
| Site Topology Query Errors | sfm.cisco.cc.get_sites_topology.error | Number of errors during get_sites_topology API call. |
| Interface Count Query Duration | sfm.cisco.cc.get_interfaces_by_query_count.duration | Duration of the get_interfaces_by_query_count API call used to determine total interface count before paginated collection. |
| Interface Count Query Errors | sfm.cisco.cc.get_interfaces_by_query_count.error | Number of errors during get_interfaces_by_query_count API call. |
| Interface Query Page Duration | sfm.cisco.cc.get_interfaces_by_query.duration | Duration of a single paginated get_interfaces_by_query API call used to collect interface data. |
| Interface Query Page Errors | sfm.cisco.cc.get_interfaces_by_query.error | Number of errors during a paginated get_interfaces_by_query API call. |
| Interface Discovery Count Query Duration | sfm.cisco.cc.get_intent_api_interfaces_count.duration | Duration of the get_intent_api_interfaces_count API call used to determine interface count during Intent API discovery. |
| Interface Discovery Count Query Errors | sfm.cisco.cc.get_intent_api_interfaces_count.error | Number of errors during get_intent_api_interfaces_count API call. |
| Interface Discovery Query Page Duration | sfm.cisco.cc.get_intent_api_interfaces.duration | Duration of a single paginated get_intent_api_interfaces API call used for Intent API interface discovery. |
| Interface Discovery Query Page Errors | sfm.cisco.cc.get_intent_api_interfaces.error | Number of errors during a paginated get_intent_api_interfaces API call. |
| Network Health Query Duration | sfm.cisco.cc.get_network_health.duration | Duration of the get_network_health API call used to collect overall network health scores. |
| Network Health Query Errors | sfm.cisco.cc.get_network_health.error | Number of errors during get_network_health API call. |
| Client Health Query Duration | sfm.cisco.cc.get_client_health.duration | Duration of the get_client_health API call used to collect client health scores. |
| Client Health Query Errors | sfm.cisco.cc.get_client_health.error | Number of errors during get_client_health API call. |
| Site Health Summaries Query Duration | sfm.cisco.cc.get_site_health_summaries.duration | Duration of the get_site_health_summaries API call used to collect site-level health summary data. |
| Site Health Summaries Query Errors | sfm.cisco.cc.get_site_health_summaries.error | Number of errors during get_site_health_summaries API call. |
| Issues Query Duration | sfm.cisco.cc.issues.duration | Duration of the issues API call used to collect Catalyst Center issues data. |
| Issues Query Errors | sfm.cisco.cc.issues.error | Number of errors during issues API call. |
| Event Notifications Query Duration | sfm.cisco.cc.events.duration | Duration of the events API call used to collect Catalyst Center event notifications data. |
| Event Notifications Query Errors | sfm.cisco.cc.events.error | Number of errors during events API call. |
| Group Records Fetched | sfm.cisco.cc.group.records_fetched.gauge | Total number of raw device or interface records fetched from the API for this reporting configuration group. |
| Group Entities Reported | sfm.cisco.cc.group.entities_reported.gauge | Number of entities (devices or interfaces) reported to Dynatrace for this reporting configuration group. |
| Group Overlap Devices | sfm.cisco.cc.group.overlap_devices.gauge | Number of devices matching this group filter that are reported by a different reporting configuration. Only emitted when OVERLAP strategy is active and overlap count is greater than zero. |
| Metric name | Metric key | Description |
|---|---|---|
| Catalyst Center Monitoring Status | cisco.cc.center.status | Status of one monitoring configuration and its Catalyst Center connection - 1 when the extension holds a session to Catalyst Center, 0 when not. The dimensions show how the configuration reports - issues and Catalyst Center events as log messages or as Davis events, the enabled feature sets and the collection frequencies. |
| — | 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.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 |
|---|---|---|
| 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 | — |
Practical tests reveal the following rule of thumb: 1,000 devices per each one minute monitoring interval.
This means that with a five-minute monitoring interval, it should be achievable to monitor 5,000 devices with a single ActiveGate.
The primary limiting factor in such estimations is the performance of the Catalyst Center itself. In large environments, particularly those with devices carrying many interfaces, consider defining multiple collection configurations and assigning longer collection frequencies to some of the device groups. The total interface count in such environments can reach hundreds of thousands. Tune the balance according to your business requirements and the Catalyst Center's own performance.
This is an estimation. Results in your environment may vary, depending on:
The reporting strategy in use.
The Simple strategy uses the fewest API queries. Exclusive Groups has a predictable query count (one per group). Flexible Groups may issue more queries depending on how many groups are defined and whether query deduplication reduces overlaps.
The number of interfaces on each of the monitored devices.
The number of sites that the Catalyst Center manages.
Your Catalyst Center response time and network connection throughput between Catalyst Center and the ActiveGate.
The estimation assumes that
One monitoring configuration should track one Catalyst Center. Use multiple monitoring configurations 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 Dynatrace Intelligence reasoning. In very large environments, increasing the monitoring interval may help with scalability. This, however, is always accompanied by data fidelity loss. We don't recommend going beyond five.
Entity attribute discovery runs on its own independent schedule, and you can tune it separately. For more information, see Discovery frequencies adjustment.
While Catalyst Center still reports the issue as active, the extension keeps re-sending the same event. Each event tells Dynatrace how long to wait before closing the problem if it stops receiving the event. This is the Davis Event Timeout, 60 minutes by default.
A problem ends in one of two ways:
Which of the two you see depends on your Catalyst Center: some environments report resolutions, others let issues disappear silently.
If problems close later than you expect, it's usually the second case. Lower the Davis Event Timeout to shorten the delay. The trade-off is lower tolerance for interruptions in data collection: an interruption longer than the timeout lets the problem close while the issue is still open.
The extension reports an issue to Dynatrace only when it reads the issue from Catalyst Center, and every event it sends carries the Davis Event Timeout. The issue has to be read again, and the event re-sent, before that timeout expires. Otherwise, Dynatrace closes the problem.
This breaks when Issues Collection Frequency is too close to Davis Event Timeout. The event expires before the issue is read again: Dynatrace closes the problem. The next collection reads the same still-active issue and reports it again, which opens a new problem. The cycle repeats for as long as the issue lasts.
Keep Issues Collection Frequency below half of Davis Event Timeout. The defaults—issues collected every 5 minutes with a 60-minute timeout—leave a wide margin, so one problem stays open for the whole issue.
The extension detects an unsafe combination and reports a warning on the monitoring configuration.
Davis Event Refire Interval is an upper bound on the refresh interval, not the interval itself. The refresh follows the Davis Event Timeout. This setting only makes the refresh more frequent, which matters if you configure a long timeout.
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.Each network device carries its Catalyst Center device tags in the list field cisco_cc.tags.
A device without tags has the list ["-"] on purpose: every device node carries the field, which keeps DQL queries simple and ensures that a removed last tag is cleared.
To list the devices with a tag:
smartscapeNodes EXT_NETWORK_DEVICE| filter in("LAN", cisco_cc.tags)| fields name, cisco_cc.tags
To count the devices per tag, where - counts the devices without tags:
smartscapeNodes EXT_NETWORK_DEVICE| filter isNotNull(cisco_cc.tags)| expand cisco_cc.tags| summarize devices = count(), by: {cisco_cc.tags}
If Report Physical Topology is enabled in the monitoring configuration (default), the extension reports the physical links from Catalyst Center as calls relationships between network devices and between their interfaces.
Physical Topology Collection Frequency sets how often the links are collected (5 minutes by default).
To follow the links, use the traverse command.
For example, to find links whose two interfaces report different speeds:
smartscapeNodes EXT_NETWORK_INTERFACE| filter isNotNull(cisco_cc.center)| traverse {calls}, {EXT_NETWORK_INTERFACE}, direction: forward, fieldsKeep: {name, cisco_cc.device, cisco_cc.if_speed_text}| fields device = dt.traverse.history[0][cisco_cc.device], interface = dt.traverse.history[0][name], speed = dt.traverse.history[0][cisco_cc.if_speed_text],peer_device = cisco_cc.device, peer_interface = name, peer_speed = cisco_cc.if_speed_text| filter speed != peer_speed
Extension version 3.x requires Cisco Catalyst Center version 2.3.7.6 or later. For the tested and supported versions, see Compatibility information.
If your exact version isn't listed, the extension is expected to work correctly. Cisco doesn't publish a new API specification version with every Catalyst Center release—the same API version might cover multiple consecutive platform releases. For example, Catalyst Center 3.1.3.0 has the same API surface as 2.3.7.9. The API endpoints that the extension relies on are available in all Catalyst Center versions from 2.3.7.6 onwards.
For Catalyst Center versions earlier than 2.3.7.6, use the extension version 2.x.
SSL: CERTIFICATE_VERIFY_FAILED certificate verify failed" error (self-signed certificate in certificate chain error).This indicates that the Catalyst endpoint uses a self-signed certificate. If you trust the endpoint, you can skip certificate 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 Centers, create a separate extension configuration for each. Each configuration connects to exactly one Catalyst Center and uses its own proxy setting. To ensure that each Catalyst Center uses the correct proxy, define its proxy and URL 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 a Read timed out message, it means the extension opened a connection to the Catalyst Center but didn't receive a response within the configured timeout. A common cause is that the extension is sending too many requests in a short time, causing the Catalyst Center to rate-limit or delay responses.
To troubleshoot:
Confirm that the network connection between the extension and the Catalyst Center is allowed.
If DEC:CC10 or HTTP 429 messages appear in the log before the Read timed out error, the Catalyst Center is rate-limiting the extension.
A potential solution is to increase the Metrics Collection Frequency in the configuration, for example to 15 minutes, to reduce the overall request rate.
If increasing the value helps, fine-tune it as needed.
Also check that the page size settings in Expert Configuration (devices_page_size, interfaces_page_size, and related fields) are set to their default values.
The default values are the maximum allowed and reduce the number of requests.
Smaller page sizes mean more requests.
If DEC:CC10 or HTTP 429 messages do 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 client_timeout_seconds setting in the connection configuration to a value higher than the one shown in the graph.
You can resolve this issue in several ways. In some cases, applying just one of the following steps is sufficient, while in others a combination may be needed:
Use one configuration per Catalyst Center.
Each extension configuration monitors one Catalyst Center and caches its data in a single OS process. If you're monitoring many Catalyst Centers, or one large one that consumes significant memory, move each to its own dedicated extension configuration. Each configuration runs as a separate OS process, distributing the memory load 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 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
First, make sure that an interface filter doesn't exclude all interfaces. Filter values are case-sensitive, and a value with the wrong case matches no interface.
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.
You can reduce query volume and DPS consumption in several ways.
Switch to a query-efficient reporting strategy.
The reporting strategy controls how many API queries the extension sends to Catalyst Center per collection cycle. Switching from Flexible Groups to Exclusive Groups or Simple strategy is the most effective single change for reducing query volume and DPS consumption.
Filter out interfaces you don't need.
Use an interface filter to keep only the interfaces you want to monitor. This is the most effective way to reduce interface data volume.
Increase the Metric collection frequency interval.
This has the most significant impact on query usage for this extension.
Increase the discovery intervals for Sites discovery frequency, Devices discovery frequency, and Interfaces discovery frequency.
Discovery calls add to the overall query volume. Increasing these intervals reduces the discovery query rate.
Disable feature sets you don't need.
This reduces the amount of data collected and lowers query volume and DPS usage.
Disabling feature sets results in missing data on classic and platform screens.
Reduce the number of reported entities.
DPS cost is proportional to the number of metric data points ingested. Use the reporting strategy configuration to scope collection to the device families and roles you need. Disabling the Interface feature set eliminates interface metrics, which contribute the largest share of DPS cost per device. For the exact DPS formula, see Licensing and costs.
<url path> and restMethod GET".This issue typically occurs because the Catalyst Center REST API bundle was not automatically upgraded, even though the platform itself was.
To resolve this issue, disable and then re-enable the Catalyst 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.Error: Callback Method=monitor took x seconds ... longer than the interval of 60.0sBy default, the extension collects Center and Site health metrics every 5 minutes, as configured in Polling > Center and Site Metrics Collection Frequency. Device and interface metrics are collected separately, each on its reporting group frequency, which by default is 5 minutes as well. Each collection runs as its own scheduled task. When a scheduled collection takes longer than its configured interval, the extension detects it and automatically skips the next scheduled run to prevent concurrent data collections.
To analyze this further, you can use the Cisco Catalyst Extension Self-Monitoring dashboard (provided that you've activated the self-monitoring feature set). This dashboard provides insights into data collection durations and even individual paged queries with the page offset as a dimension.
Recommended actions:
After making the adjustment, recheck the data collection times to ensure the issue is resolved.
The performance impact can't be estimated with precision as it depends on how your Catalyst Center is configured. The rate limit default is 100 API calls per minute. However, it can be adjusted for individual endpoints, and the maximum amount varies by API type, ranging from 20 to 500. When a limit is reached, the system returns an HTTP 429 (Too Many Requests) response.
To keep its own impact within those limits, the extension uses pre-calculated API endpoints and paginated queries to reduce the total number of calls. It also has built-in rate limiting: by default, it sends at most 100 API calls per minute, matching the Catalyst Center default. When this limit is reached, the extension automatically waits before retrying.
One pattern that can still affect the Catalyst Center GUI is the extension's peak load at the start of each collection cycle. When data collection runs (for example, every 5 minutes), the extension sends multiple paged queries as quickly as possible to capture data for that specific timestamp. Because queries are not spread evenly across the interval, the controller receives more requests at once at the start of each cycle. If this is the cause of the issues you observe, consider:
max_calls_per_minute setting in Expert Capture configuration to spread requests out more evenly. The default is 100 per minute and lowering this value increases the time needed to complete a full data collection cycle.client_timeout_seconds setting in the connection configuration if individual requests are timing out.No, especially in larger environments.
A filter that is empty or broad enough to match all remaining devices causes a full-table scan. The Catalyst Center response returns all devices regardless of the filter position in the group, whether a device is already claimed by an earlier group, or whether you intend to report its metrics. After the response arrives, the extension's ownership logic filters out already-claimed devices. However, the full fetch and its load on your Catalyst Center are unavoidable. The performance impact grows linearly with the number of managed devices.
Instead of a catch-all group: