Try it free

Cisco Catalyst Center (DNA Center) extension

  • Latest Dynatrace
  • Extension

Monitor Cisco Catalyst Center (DNA Center) network infrastructure with device health, performance, client experience, and topology insights.

Get started

Overview

Cisco Catalyst Center is formerly known as Cisco DNA.

Collect information about networks that the Cisco Catalyst Center manages.

This extension assumes that you:

  • Use Dynatrace for infrastructure monitoring.
  • Run Cisco Catalyst Center in your environment.
  • Look to extend Dynatrace insights into the Cisco Catalyst platform.

The Cisco Catalyst Center extension uses the Cisco Catalyst API to collect information about managed networks.

Cisco Catalyst Center dashboard
Cisco Catalyst Center dashboard
Cisco Catalyst Center device characterization
Cisco Catalyst Center device characterization
Cisco Catalyst Center inventory in Infrastructure and Operations
Cisco Catalyst Center inventory in Infrastructure and Operations

Use cases

  • Integrate operational monitoring of the infrastructure, including Cisco Catalyst and using additional organization, network and device metadata.
  • Obtain root cause analysis of network issues, in the light of the entire application and infrastructure landscape observed by Dynatrace.
  • Collect network infrastructure data without having to poll individual devices.

Requirements

  • 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:

    • Go to System > Users & Roles > Role Based Access Control > Create a New Role.
    • Define the name (for example, API-READONLY-ROLE) and an optional description.
    • For all privileges, select READ.
  • You have created a user for API integration. To create a user:

    • Go to System > Users & Roles > User Management > Add User.
    • Select a role, whether the read-only role or the pre-defined role.
  • Optional Check access control.

    • Go to System > Trust & Privacy > IP Access Control
    • If access control filtering is enabled, add the IP address of your Dynatrace system.

Compatibility information

  • For Dynatrace Cisco Catalyst Center (DNA Center) extension 3.x:
    • Cisco Catalyst Center (DNA) version 2.3.7.6+
    • Cisco Catalyst Center API version 2.3.7.6, 2.3.7.9, 3.1.3.0, or 3.1.6.0.
      • If your exact version is not listed, the extension is expected to work correctly. Cisco does not publish a new API specification version with every Catalyst Center release: the same API version may cover multiple consecutive platform releases.
      • If you're using an earlier Catalyst Center API version, use the Dynatrace Cisco Catalyst Center (DNA Center) extension 2.x version instead.

Activation and setup

To enable the extension, find Cisco Catalyst Center (DNA Center) in the Dynatrace Hub.

Details

This extension can monitor the following entities:

  • Catalyst Center
  • Catalyst Site
  • Catalyst Device
  • Catalyst Interface

The extension offers the following features:

  • Insights into the configuration, locations, and health status of devices and their interfaces.
  • Analysis screens present data hierarchically, helping to quickly diagnose issues by site, role or by device platform.
  • Performance and health metrics as well as Cisco Catalyst issues/events. Basic statistics of client devices are also available.
  • Extension code (Python) that connects to the Cisco Catalyst API endpoints and collects the metrics.
  • A dashboard offering a high-level Cisco Catalyst platform overview.
  • Unified Analysis pages for Cisco Catalyst Center, devices, sites and interfaces.
  • Analysis screens integrated with Infrastructure & Operations Infrastructure & Operations.
  • Optional issue reporting and event generation based on Catalyst Center issues, configurable to fit your environment.
  • Flexible device reporting strategies for adapting data collection to environments of any size.
  • Interface filters that keep only the interfaces you want to monitor, which is the main way to control data volume and cost.
  • Catalyst Center device tags on network devices, as the list field cisco_cc.tags.

Reporting strategies

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.

Simple Recommended

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.

  • If you select multiple values for the same property type, the filter evaluates them using OR. A device matches if it satisfies any of the selected values for that type.
  • If you configure multiple property types, the filter combines them using 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.

Flexible Groups

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.

Use with caution in large environments (5,000+ devices)

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.

Exclusive Groups

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).

Interface filters

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:

  • Only report interfaces with administrative status UP: Skips ports that are shut down.
  • Only report interfaces with operational status UP: Skips ports that aren't connected.
  • Port Modes: One or more of Access, Trunk, Routed, Dynamic Auto, Dynamic Desirable, and StackWise.
  • Interface Types: The interface type as Catalyst Center reports it, such as 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.
  • Interface Name Patterns: One or more name patterns, such as GigabitEthernet*.

The filters follow the same rules as the device filter:

  • An empty filter doesn't restrict the match.
  • If you configure multiple filters, the extension combines them using AND. An interface must pass all of them.
  • If you enter multiple values in one filter, the extension evaluates them using OR. An interface must match at least one of them.

Interface name patterns

* stands for any text, including no text at all. It's the only wildcard.

PatternMatches

GigabitEthernet*

Every name that starts with GigabitEthernet

*Ethernet*

Every name that contains Ethernet

Gigabit*0/1

Every name that starts with Gigabit and ends with 0/1

Gigabit*0/*

Every name that starts with Gigabit and contains 0/—you can use more than one wildcard in a pattern

Vlan1

Only the interface named exactly Vlan1

  • You can put * anywhere in a pattern, and use it more than once.
  • ?, %, and _ are ordinary characters, not wildcards.
  • A pattern without * matches only that exact name.
  • If you enter multiple patterns, an interface is monitored if it matches any of them.
Interface filter values are case-sensitive

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.

Issue reporting and Dynatrace event integration

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:

    • Custom event type mapping: Map issue priorities or device families to specific Dynatrace event types (for example, ERROR_EVENT, CUSTOM_ALERT, CUSTOM_INFO).
    • Default and conditional event overrides: Use a default event type (ERROR_EVENT) with support for condition-based overrides.
    • Event Suppression: Optionally suppress certain events entirely using a special suppression value.

    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.

Catalyst Center events reporting and Dynatrace events ingest integration

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:

    • Event ID (see the Cisco Catalyst Center Event Catalog),
    • Type (NETWORK, APP, SYSTEM, SECURITY, INTEGRATIONS),
    • Category (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.

Extension metrics grouping via feature sets

Metrics collected by the Cisco Catalyst extension are categorized in the following feature sets:

  • Default: Provides an overview of the overall health status in Cisco Catalyst Center.
    Includes cisco.cc.center.status, the connection status of each monitoring configuration.
    Includes interface and device-specific metricsused in Infrastructure & Operations Infrastructure & Operations.
  • Center: Contains overall network health metrics, client counts, and site-level metrics for Catalyst Sites managed by Cisco Catalyst Center.
  • Device: Covers metrics for Catalyst Devices managed by Cisco Catalyst Center.
  • Interface: Captures metrics for Catalyst Interfaces on managed devices.
  • Self-monitoring: Optional Metrics for fine-tuning and diagnostics of the extension itself.

Discovery frequencies adjustment

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.

ParameterRecommended 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 log events

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.

Large environments

The interface discovery reads every interface of the Catalyst Center through the Intent API, 500 interfaces per request, and always runs to completion:

  • A page that the Catalyst Center rejects (HTTP 429) is skipped.
  • A scheduled discovery that finds the previous one still running is skipped, with a warning on the monitoring configuration.

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.

Licensing and costs

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.

  • Dynatrace Platform Subscription (DPS): Billed per metric data point and per GiB of log ingest.
  • Classic License: .001 DDUs per metric data point; .0005 DDUs per log line. For more information, see DDUs for metrics.

Metric data points

The extension reports metrics in two independent schedules:

  • Center and site metrics run at the shared Metrics Collection Frequency interval.
  • Device and interface metrics run per reporting group, each with its own frequency.
    For the Simple strategy there is one group. For Flexible Groups or Exclusive Groups, sum over all defined groups.
// 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

Log volume

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.

Interfaces drive most of the cost

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.

Feature sets

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.

device
Metric nameMetric keyDescription
Healthcisco.cc.device.healthDevice's Health
CPUcisco.cc.device.cpuDevice's CPU consumption
Memorycisco.cc.device.memoryDevice's Memory consumption
Average Temperaturecisco.cc.device.temperatureDevice's Avg Temperature
Device Issuescisco.cc.device.issue_count.gaugePending Device Issues
Reachabilitycisco.cc.device.reachabilityDevice's Reachability (1: Reachable | 0: Not Reachable)
Uptimecisco.cc.device.uptime.gaugeDevice Uptime in Seconds
Issue Changescisco.cc.device.issue_events.gaugeCatalyst 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
center
Metric nameMetric keyDescription
Health score (Center)cisco.cc.center.health_scoreCisco Catalyst Network topology - Overall health score
Healthy devicescisco.cc.center.healthy_devicesCisco Catalyst Network topology - Healthy devices
Unhealthy devicescisco.cc.center.unhealthy_devicesCisco Catalyst Network topology - Unhealthy devices
Clients health scorecisco.cc.client.health_scoreCisco Catalyst Client - Overall client health score
Clients Countcisco.cc.client.client_count.gaugeCisco Catalyst Client - Clients count
Unique Clients Countcisco.cc.client.client_unique_count.gaugeCisco Catalyst Client - Unique Clients Count
Clients health score countcisco.cc.client.health_score_count.gaugeCisco Catalyst Client - Clients health score by score type
Catalyst Center Event Countcisco.cc.center.notification_count.gaugeNumber of Cisco Catalyst Center event notifications reported per collection interval
site
Metric nameMetric keyDescription
Wired Clients Scorecisco.cc.site.client_health_wiredSite's Wired Clients Health Score
Wireless Clients Scorecisco.cc.site.client_health_wirelessSite's Wireless Clients Health Score
Clientscisco.cc.site.client_count.gaugeSite's Clients Summary Count
Wired Clientscisco.cc.site.wired_client_count.gaugeSite's Wired Clients Summary Count
Wireless Clientscisco.cc.site.wireless_client_count.gaugeSite's Wireless Clients Summary Count
Healthy Clientscisco.cc.site.client_good_health_percentageSite's Healthy Clients Summary Percentage
Devicescisco.cc.site.network_device_count.gaugeSite's Devices Summary Count
Healthy Devicescisco.cc.site.network_device_good_health_percentageSite's Healthy Devices Summary Percentage
Site Issuescisco.cc.site.issue_count.gaugePending Site Issues
self-monitoring
Metric nameMetric keyDescription
Device Count Query Durationsfm.cisco.cc.get_devices_by_query_count.durationDuration of the get_devices_by_query_count API call used to determine total device count before paginated collection.
Device Count Query Errorssfm.cisco.cc.get_devices_by_query_count.errorNumber of errors during get_devices_by_query_count API call.
Device Query Page Durationsfm.cisco.cc.get_devices_by_query.durationDuration of a single paginated get_devices_by_query API call used to collect device data.
Device Query Page Errorssfm.cisco.cc.get_devices_by_query.errorNumber of errors during a paginated get_devices_by_query API call.
Device Discovery Count Query Durationsfm.cisco.cc.get_network_devices_count_by_params.durationDuration of the get_network_devices_count_by_params API call used to determine device count during BASIC discovery.
Device Discovery Count Query Errorssfm.cisco.cc.get_network_devices_count_by_params.errorNumber of errors during get_network_devices_count_by_params API call.
Device Discovery Query Page Durationsfm.cisco.cc.get_network_devices_by_params.durationDuration of a single paginated get_network_devices_by_params API call used for BASIC device discovery.
Device Discovery Query Page Errorssfm.cisco.cc.get_network_devices_by_params.errorNumber of errors during a paginated get_network_devices_by_params API call.
Physical Topology Query Durationsfm.cisco.cc.get_physical_topology.durationDuration of the get_physical_topology API call used to collect physical network topology data.
Physical Topology Query Errorssfm.cisco.cc.get_physical_topology.errorNumber of errors during get_physical_topology API call.
Site Count Query Durationsfm.cisco.cc.get_sites_count.durationDuration of the get_sites_count API call used to determine total site count before paginated collection.
Site Count Query Errorssfm.cisco.cc.get_sites_count.errorNumber of errors during get_sites_count API call.
Site Query Page Durationsfm.cisco.cc.get_sites.durationDuration of a single paginated get_sites API call used to collect site data.
Site Query Page Errorssfm.cisco.cc.get_sites.errorNumber of errors during a paginated get_sites API call.
Site Topology Query Durationsfm.cisco.cc.get_sites_topology.durationDuration of the get_sites_topology API call used to collect site hierarchy topology.
Site Topology Query Errorssfm.cisco.cc.get_sites_topology.errorNumber of errors during get_sites_topology API call.
Interface Count Query Durationsfm.cisco.cc.get_interfaces_by_query_count.durationDuration of the get_interfaces_by_query_count API call used to determine total interface count before paginated collection.
Interface Count Query Errorssfm.cisco.cc.get_interfaces_by_query_count.errorNumber of errors during get_interfaces_by_query_count API call.
Interface Query Page Durationsfm.cisco.cc.get_interfaces_by_query.durationDuration of a single paginated get_interfaces_by_query API call used to collect interface data.
Interface Query Page Errorssfm.cisco.cc.get_interfaces_by_query.errorNumber of errors during a paginated get_interfaces_by_query API call.
Interface Discovery Count Query Durationsfm.cisco.cc.get_intent_api_interfaces_count.durationDuration of the get_intent_api_interfaces_count API call used to determine interface count during Intent API discovery.
Interface Discovery Count Query Errorssfm.cisco.cc.get_intent_api_interfaces_count.errorNumber of errors during get_intent_api_interfaces_count API call.
Interface Discovery Query Page Durationsfm.cisco.cc.get_intent_api_interfaces.durationDuration of a single paginated get_intent_api_interfaces API call used for Intent API interface discovery.
Interface Discovery Query Page Errorssfm.cisco.cc.get_intent_api_interfaces.errorNumber of errors during a paginated get_intent_api_interfaces API call.
Network Health Query Durationsfm.cisco.cc.get_network_health.durationDuration of the get_network_health API call used to collect overall network health scores.
Network Health Query Errorssfm.cisco.cc.get_network_health.errorNumber of errors during get_network_health API call.
Client Health Query Durationsfm.cisco.cc.get_client_health.durationDuration of the get_client_health API call used to collect client health scores.
Client Health Query Errorssfm.cisco.cc.get_client_health.errorNumber of errors during get_client_health API call.
Site Health Summaries Query Durationsfm.cisco.cc.get_site_health_summaries.durationDuration of the get_site_health_summaries API call used to collect site-level health summary data.
Site Health Summaries Query Errorssfm.cisco.cc.get_site_health_summaries.errorNumber of errors during get_site_health_summaries API call.
Issues Query Durationsfm.cisco.cc.issues.durationDuration of the issues API call used to collect Catalyst Center issues data.
Issues Query Errorssfm.cisco.cc.issues.errorNumber of errors during issues API call.
Event Notifications Query Durationsfm.cisco.cc.events.durationDuration of the events API call used to collect Catalyst Center event notifications data.
Event Notifications Query Errorssfm.cisco.cc.events.errorNumber of errors during events API call.
Group Records Fetchedsfm.cisco.cc.group.records_fetched.gaugeTotal number of raw device or interface records fetched from the API for this reporting configuration group.
Group Entities Reportedsfm.cisco.cc.group.entities_reported.gaugeNumber of entities (devices or interfaces) reported to Dynatrace for this reporting configuration group.
Group Overlap Devicessfm.cisco.cc.group.overlap_devices.gaugeNumber 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.
default
Metric nameMetric keyDescription
Catalyst Center Monitoring Statuscisco.cc.center.statusStatus 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—
interface
Metric nameMetric keyDescription
Interface Countcisco.cc.device.total_interface_count.gaugeTotal Number of Interfaces for Device
Admin Statuscisco.cc.interface.admin_statusInterface's Admin Status (1: UP | 0: DOWN)
Oper Statuscisco.cc.interface.oper_statusInterface's Status (1: UP | 0: DOWN)
Speedcisco.cc.interface.speed—
TX Ratecisco.cc.interface.txRate—
TX Utilizationcisco.cc.interface.txUtilization—
TX Discardscisco.cc.interface.txDiscards—
TX Errorscisco.cc.interface.txError—
RX Ratecisco.cc.interface.rxRate—
RX Utilizationcisco.cc.interface.rxUtilization—
RX Discardscisco.cc.interface.rxDiscards—
RX Errorscisco.cc.interface.rxError—

FAQ

How many devices/interfaces/sites can I monitor with this extension?

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

  • You use the Simple reporting strategy, or an equivalent single-query configuration.
  • You have six interfaces per device, or 30,000 interfaces per five-minute monitoring interval.
  • You have 500 sites.
  • Catalyst Center responds within single-digit seconds.
  • The connection from Catalyst Center to ActiveGate is via a local area network.
  • The Catalyst Center extension runs on an ActiveGate with the dedicated performance profile. See About Extensions for more details on performance profiles.
Should I split monitoring configuration into many instances to scale the extension out?

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.

Can I increase monitoring intervals to five minutes, or 10 minutes, or 15 minutes?

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.

When an issue is raised as a Dynatrace event, how long does the problem stay open, and when does it close?

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:

  • Catalyst Center resolves or ignores the issue. The extension sends one final event with a one-minute timeout, so the problem closes promptly.
  • The issue disappears from the Catalyst Center API without being reported as resolved. The extension stops re-sending the event, and the problem closes once the timeout expires—up to Davis Event Timeout minutes later.

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.

Why does one continuous Catalyst Center issue create repeated Dynatrace problems?

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.

Why are health, CPU, or memory values for some devices on the dashboard negative?

The Catalyst API returns negative values for non-reachable devices.

Do I need to enable all feature sets?

No, not all feature sets are required.

  • The self-monitoring feature set is optional. It is only needed for fine-tuning and diagnostics of the extension itself.
  • If you want to view platform screens (for generic network device and interface metrics) within Infrastructure & Operations Infrastructure & Operations, only the default feature set is needed.
  • If you want to view both classic screens and all platform screens (for generic network device and interface metrics and for Cisco Catalyst device and interface metrics), enable all feature sets except self-monitoring.
How do I find devices by their Catalyst Center tags?

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}
How do I use the physical links between devices (horizontal topology) in DQL queries?

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
Does the extension support Cisco Catalyst Center versions not listed in the compatibility information?

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.

I am getting a "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.

What if I need to configure separate proxy servers for different Catalyst Centers?

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.

Does the extension support monitoring of other entities, such as SSIDs or details on the access points?

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.

In the Python 3 log file, I see the error "Read timed out".

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:

  1. Confirm that the network connection between the extension and the Catalyst Center is allowed.

  2. 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.

  3. 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.

The Dynatrace gateway reports the error "Memory threshold exceeded" in the ruxitagent_extensionmodule log.

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:

  1. 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.

  2. Increase RAM on the ActiveGate server. Allocating more RAM to the ActiveGate machine can help prevent memory limit breaches.

  3. 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 settings
    dslimit_python_mem=3000
    mem_soft_limit_percent=70.0
    mem_hard_limit_percent=80.0
On the Cisco Catalyst Center Monitoring Overview dashboard, I can see data for sites and devices, but there is no data at all for interfaces.

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.

I have a high number of queries from the extension to the Catalyst Center, or high DDU/DPS consumption. How can I reduce them?

You can reduce query volume and DPS consumption in several ways.

  1. 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.

    • Simple (default): One query per endpoint for all devices. Fewest queries; recommended for most environments.
    • Exclusive Groups: One query per filter group; groups must not overlap. Predictable query count; best for large environments.
    • Flexible Groups: One query per filter group; groups may overlap (deduplication applied). Most flexible, but highest query count.
  2. 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.

  3. Increase the Metric collection frequency interval.

    This has the most significant impact on query usage for this extension.

  4. 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.

  5. 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.

  1. 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.

After upgrading Cisco Catalyst to the next version, metrics data are no longer reported. In the Python 3 log file, I see the error: "error: BAPI not found with technicalName <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.

  1. Log in to your Cisco Catalyst (DNA) Center system menu, go to Platform > Manage (or the equivalent path for your version).
  2. In the Bundles tab, locate the Catalyst Center REST API bundle.
  3. Disable the bundle, wait a few seconds, and then re-enable it.
  4. Restart the extension. Disable and then re-enable its configuration.

To troubleshoot the Catalyst endpoint itself and validate the REST API bundle:

  1. In the Cisco Catalyst (DNA) Center system menu, go to Platform > Developer Toolkit.
  2. In the APIs tab, locate the <url path> API endpoint in question by searching in the URL column. Ensure that GET is specified in the Method column.
  3. Select Try at the end of the line in the Actions column.
  4. Execute the query. Typically, deselect all query parameters and select Run.
In the log I see Error: Callback Method=monitor took x seconds ... longer than the interval of 60.0s

By 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:

  • Increase the relevant collection or reporting frequency (for example, from 5 to 10 minutes or more).
  • Deactivate some feature sets if you require high data fidelity but can exclude specific metrics.
  • Switch to the Simple reporting strategy if you're using Flexible Groups or Exclusive Groups. Fewer total queries means shorter collection time.

After making the adjustment, recheck the data collection times to ensure the issue is resolved.

What is the expected performance impact of running API calls against the controller(s)? We are seeing some performance constraints in the Catalyst Center GUI.

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:

  • Switching to the Simple strategy if you're using Flexible Groups or Exclusive Groups, to reduce the total query count.
  • Limiting (reducing) the number of queries for specific APIs. You can review the actual API endpoints called by the extension at Catalyst Center > Platform > Runtime Dashboard.
  • Reducing the 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.
  • Increasing the client_timeout_seconds setting in the connection configuration if individual requests are timing out.
Is it recommended to add a catch-all group as the last entry when using the Flexible Groups strategy?

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:

  • To report only specific device groups and exclude everything else, claim only those devices. Devices that match no group are not reported.
  • To enforce strict, non-overlapping groups where each device is fetched exactly once, use the Exclusive Groups strategy. It enforces mutual exclusivity at the query level, so no device is fetched more than once.
Hub

Explore in Dynatrace Hub

Monitor Cisco Catalyst Center (DNA Center) network infrastructure with device health, performance, client experience, and topology insights.

Related tags
NetworkPythonNetwork managementCiscoInfrastructure Observability