Information About Cisco Data Collection Manager
Cisco Data Collection Manager
Overview of Cisco Data Collection Manager
Cisco Data Collection Manager (DCM) is an efficient and reliable data collection agent that is embedded in managed devices, such as routers and switches. DCM works on a push model, which is based on a subscribe-and-notify data pattern, as opposed to the pull model, which is based on a request-and-response data pattern, in traditional SNMP-based network management.
Configuration and Deployment
The Bulkstat client application is implemented using the DCM core services to retrieve data and export it to the user. The Bulkstat client provides the only available user interface for DCM access. The client also provides CLI access through a new set of configuration commands and MIB access through the CISCO-DATA-COLLECTION-MIB. You can configure the data to be exported as a file. Also, you can configure the data to be processed and the processed file to be collected by the NMS.
Data Collection
The Data Collection Manager (DCM) provides data subscription services for multiple data sources, such as the Simple Network Management Protocol (SNMP) MIB objects and the output of show commands. The DCM allows you to configure the data that needs to be collected. The DCM also allows you to specify when and at what interval the data should be collected.
Data Processing
The Data Collection Manager (DCM) supports advanced on-board data processing that includes baseline calculation, summary calculation, statistical distribution, and percentile computation. The DCM is integrated with CISCO-EXPRESSION-MIB to externally create and customize MIB objects for monitoring and to support the CLI to define expressions.
Data Export and Retrieval
The Data Collection Manager (DCM) provides data retrieval management to ensure that the data collection does not impact device resources. The DCM can export data in a file format using multiple export protocols such as FTP, TFTP, Secure copy protocol (SCP), and Secure File Transfer Protocol (SFTP). The DCM provides a query mechanism with which data can be selectively exported based on the configured time interval and other selection criteria. The DCM application also provides data filtering services and exports the filtered data. You can also set primary and secondary destinations for exporting the collected data in a raw or processed format. Snapshots of the collected data can be stored for later retrieval.
Performance Management Solutions
The Data Collection Manager (DCM) can be used to manage various aspects of performance management. The following list provides a few scenarios.
Traffic Engineering
The primary goal of traffic engineering is to control traffic flow and provide Class of Service (CoS) and Quality of Service (QoS) to the end user, while using network resources optimally. It is the responsibility of the network management server (NMS) to provide low-level management through traffic conditioning, packet shaping, queue management, and other functions that regulate traffic flow through the network. The DCM can be used to collect data with a high granularity to help the NMS make dynamic traffic engineering decisions.
Capacity Planning and Trend Analysis
The key priorities for network operators today are acceleration in new service introduction, reduction in the complexity of deployment and management of services, and reduction in the capital or operational overhead expenditure. These services require unique capabilities that are specific to a particular network operator and the ability to provide specific service characteristics on a per-consumer basis. It is important to identify trends in the network traffic, forecast future traffic levels, assess whether the existing network capacity is sufficient to handle the projected load, and automatically redesign the network to support future traffic demands. The DCM can be used to collect resource variables that are important for effective capacity trend information, such as memory, queue depth, broadcast volume, buffer, Frame Relay congestion notification, and backplane utilization.
Diagnostics
The streaming function of the DCM can be used for real-time troubleshooting. Also, the DCM facilitates data retrieval for selective periods and aids in troubleshooting.
SLA Management
A service level agreement (SLA) includes a what-if analysis for network changes and application changes, baselining and trending for defined performance variables, exception management for defined capacity and performance variables, and QoS management. The DCM can be used to collect periodic data for reporting purposes.
Bulkstat
Two challenges that network providers usually face are data gathering and data analysis. Network providers need to gather large volumes of data to analyze the performance of the network and to have operational control over their network. Large service providers are strengthening their data gathering and analysis infrastructure. Traditionally, Simple Network Management Protocol (SNMP) agents are used to expose management data on managed systems. But, SNMP is not well suited for gathering large volumes of data, especially over short time intervals.
For example, service providers charge customers depending on the network usage. Also this data must be available on customer request. Accounting applications based on SNMP polling models consume significant network bandwidth because they poll large volumes of data frequently. The SNMP protocol data unit (PDU) is a complex data type specific to SNMP and is expensive to process because the SNMP objects and tables must be sorted in a lexicographic order. All the entries in SNMP MIB tables are lexicographically ordered by their object identifiers, because there is an implied ordering in the MIB based on the order of the object identifiers.
In such cases, the need to continuously poll large or bulk SNMP statistics can be avoided by using applications known as collectors to retrieve data.
The Bulkstat application is one such collector that uses the services of the Data Collection Manager (DCM) to provide the following functions:
-
Collecting SNMP MIB object values and the output of show commands.
-
Processing the collected data to create summary, percentiles, and auto-baselined values.
-
Exporting collected data through simple file transfer.
-
Scheduling calendar events for data collection and export.
The Bulkstat application provides command-line access through a set of new configuration commands and exclusive MIB access through CISCO-DATA-COLLECTION-MIB to collect SNMP data.
You can configure Bulkstat for the following functions:
-
Specify the way Bulkstat retrieves bulk statistics.
-
Specify the time interval in seconds at which Bulkstat transfers data to receivers.
-
Specify the maximum size of the bulk statistics file.
-
Specify the context, instance, and period at which the system retrieves bulk statistics.
-
Configure file-related parameters.
-
Configure the interface type on which you want to collect statistics.
-
View the parameters that Bulkstat uses to collect statistics by using the show bulkstat commands.
Bulkstat Configuration Elements
The following list shows the elements that you can configure using the Bulkstat interface:
Data Set
This section describes the data set elements that you can configure to collect Simple Network Management Protocol (SNMP) data and CLI data. Only objects having the same index elements can be grouped in a single object list.
SNMP Data
The SNMP data set contains the following fields:
Name |
Description |
Configuration Status |
---|---|---|
Objects |
Specifies the object to be collected. Multiple objects can be configured to form a data set. The textual name of the object can be used for configuring an object. If the device does not recognize the textual name, the object identifier (OID) format can be used for configuring the name. |
Mandatory |
Object alias |
Specifies the optional alias name that each object can have. |
Optional |
Note |
Only objects having the same index elements can be grouped in a single data set. For example, the objects ifDescr and cieIfSpeedReceive belong to different tables, but they are indexed by ifIndex. Hence the two objects can be grouped in the same data set. ifDescr and entPhysicalDescr cannot be grouped in the same data set, because ifDescr is indexed by ifIndex and entPhysicalDescr is indexed by entPhysicalIndex. Objects from tables having sparse dependency can also be grouped in the same data set. Similar SNMP data elements can be linked to multiple subscriptions. Each subscription can collect different entries for the objects based on the instance configuration and context configuration. |
CLI Data
The CLI data set contains the following fields:
Name |
Description |
Configuration Status |
---|---|---|
CLI |
Specifies the CLI command for which the show output needs to be collected. More than one CLI can be specified in the same data set. |
Mandatory |
Instance Set
This section specifies the instance set elements that you can configure to collect Simple Network Management Protocol (SNMP) data. More than one instance of the same type can be added to the set. Combinations of types of instance set elements are not supported.
The SNMP Instance set contains the following fields:
Name |
Description |
Configuration Status |
---|---|---|
Exact |
Specifies the instance for which the data should be collected. More than one instance can be specified, but only fully qualified instances should be specified. |
Optional |
Wildcard |
Specifies all instances for all objects under the object configured in the data set. |
Optional |
Range |
Specifies the start and end instances. All instances within the range, including the start and end, are collected, but only fully qualified instances should be specified. |
Optional |
Repetition |
Specifies the start of the repetition and the number of repetitions. All instances from the start until the number of repetitions within the subtree are collected. |
Optional |
Interface |
Specifies the interface instead of the index. The ifIndex assigned to the interface will be used as an index. This can be used for MIB objects indexed by ifIndex. |
Optional |
Filter Set
This section describes the filter configuration per object.
The filter set elements that you can configure to collect Simple Network Management Protocol (SNMP) data are described here. More than one filter of the same type can be added to the set.
Name |
Description |
Status |
---|---|---|
Object match |
Specifies the value to be used to match against the value retrieved for the object during collection. The value provided needs to match the type of the object. If there is an error in the type matching, the configuration is not accepted. More than one value can be specified for an object, and more than one object can have matching values. |
Optional |
Process Set
For detailed information, see the topic “Data Processing.”
Data Group
This section describes the data group, which contains the data-group name, data-group type, data set, instance set, filter set, polling interval, SNMP context, and other processing options.
Name |
Description |
Configuration Status |
||
---|---|---|---|---|
Data |
Specifies any one of the data types as defined in the topic “Data Set.” |
Mandatory |
||
Instance |
Specifies any one of the instance types as defined in the topic “Instance Set.” |
Optional, if not specified. Default behavior of the instance set is wildcard. Only applicable for SNMP. |
||
Filter |
Specifies any one of the filter types as defined in the topic “Filter Set.” |
Optional, if not specified. Only applicable for SNMP. |
||
Polling interval |
Specifies the collection periodic interval in seconds. In case of recurring collection, the data is collected at the expiration of the collection interval until the collection is stopped. |
Optional Default value is 600 seconds. |
||
Context |
Specifies the management context from which to obtain data for this data group. |
Optional |
||
Process summary |
Enables summary processing of the data marked to be processed in the corresponding data-set configuration. |
Optional |
||
Process distribution |
Enables distribution processing of the data marked to be processed in the corresponding data-set configuration. |
Optional |
||
Process percentile |
Enables percentile processing of the data marked to be processed in the corresponding data-set configuration. |
Optional |
||
Process auto-baseline |
Enables auto-baselining processing of the data marked to be processed in the corresponding data-set configuration. If auto-baseline process is enabled, the other processes, such as summary, distribution, and percentile configurations, if done previously, are removed because auto-baseline process uses these functionalities internally.
|
Optional |
||
Discard raw |
Specifies whether to store raw data. If data is processed, the user can choose to store only process data by setting the option. |
Optional |
Data Profile
This section describes the data profile that is used to group multiple data groups. This is done to simplify the configuration and to aggregate data of similar nature. A data profile can have multiple data groups. A data group can have constraints in the data specified in the element. If two sets of data need to be written to the same file, the respective data groups should be linked as part of a single profile.
The data profile has the following fields:
Name |
Description |
Status |
---|---|---|
Data groups |
Specifies the data group to be linked to this profile. Multiple data groups can be linked to a single profile. |
Mandatory before activating a profile |
Transfer interval |
Specifies the transfer periodic interval in seconds. In case of recurring transfer, the data is transferred when the transfer interval expires. |
Optional Default interval transfer raw data is 1800. |
Process interval |
Specifies the process periodic interval in seconds. The data is processed during every collection interval as soon as it is collected. When the process interval expires, the processed data is written into a file and transferred. |
Optional Default interval transfer processes data is 3600. |
Primary URL |
Specifies the URL of the primary management station. The files containing the collected data are transferred to this URL when the transfer interval expires. |
Mandatory |
Secondary URL |
Specifies the URL of the secondary management station to be used in case the transfer to the primary management station fails. |
Optional |
Schema |
Specifies the file data format. The schemaASCII option is supported. |
Optional Default format is schemaAscii. |
Retry |
Specifies the number of times that the transfer is retried in case of transfer failures to both primary and secondary management stations. This command has an effect only if the retain command is configured in the profile. The retry interval is computed by dividing the retention time by the number of retries. For example, if the file is retained for 60 minutes and the retry is 6 times, the transfer is attempted every 10 minutes, until the transfer succeeds or the file is removed. |
Optional Default retry value is retry is 3. |
Buffer-size |
Specifies the maximum size to which the file containing the collected data can grow. When it reaches the limit, the file is closed and the transfer is attempted based on the transfer configuration associated with the data group or profile. |
Optional |
Retention memory |
Specifies the time, in seconds, to retain the file in the memory. |
Optional |
Retention USB |
Specifies the time, in seconds, to retain the file in the USB. This option is available only if the device supports the USB drive. |
Optional |
Resource Limit
The Bulkstat application allows you to configure memory resource limit in percentage. Bulkstat will deactivate all profiles if the remaining memory is less than specified limit.
By default, the resource limit is set at 95 percentage of the total available memory to accommodate for high memory usage on certain platforms.
Calendar Scheduling
The Bulkstat application allows you to schedule each subscription for collection. A subscription can be scheduled for one-time collection or periodic collection. A periodic subscription can be repeated infinitely or for a specified number of repetitions. A timer is instantiated for every activated subscription.
Name |
Description |
Configuration Status |
---|---|---|
One shot |
Specifies that the data is collected for a specified collection interval. |
Optional |
Recurring |
Specifies that the data is collected regularly at the specified time, day, month, and for a specified collection interval. |
Optional |
Predefined Data Sets and Data Groups
In NG3K devices, a Simple Network Management Protocol (SNMP) MIB table having large number of objects will result in large number of lines of bulkstat configuration needed to collect these objects. For example, if the SNMP table contains 40 objects, then we need 41 lines of configuration for bulkstat data set, 2 lines for an instance set and a minimum of 3 lines for a data group. So, there would be a total of 46 lines of configuration required to collect a SNMP table containing 40 objects. This can slow down the system as it takes a longer time to generate the output of Cisco IOS nonvolatile generation commands and results in a large output.
Configuring predefined data-sets and data-groups as required by the users is a solution for this issue as predefined configurations do not appear in the output of show bulkstat commands. The predefined data-sets, data-groups, and instance-sets would be present only if all the SNMP objects in the set are present in the SNMP table.
Note |
|
Following is an example of predefined data-sets and data-groups:
-
bulkstat data _pd_MobileStationDS type snmp
-
bulkstat data _pd_MobileStationStatsDS type snmp
-
bulkstat data _pd_ClientDS type snmp
-
bulkstat data _pd_MobilityDS type snmp
-
bulkstat data-group _pd_MobileStationDG
-
bulkstat data-group _pd_MobileStationStatsDG
-
bulkstat data-group _pd_ClientDG
-
bulkstat data-group _pd_MobilityDG
Displaying Predefined Configurations
The following three commands are used to display the predefined data-sets and data-groups:
-
show bulkstat data-group —Shows bulkstat data-group details.
-
show bulkstat pre-defined —Shows all predefined configurations.
-
show bulkstat profile —Shows bulkstat profile details.
SNMP Data Collection
The Data Collection Manager (DCM) is used to collect the Simple Network Management Protocol (SNMP) MIB Object data. This collection is supported through both Bulkstat CLI and CISCO-DATA-COLLECTION-MIB. This allows a network management server (NMS) application to configure a set of MIB objects and a set of instances whose values need to be collected on a periodic basis. You can configure the collected data to be periodically sent to the NMS through file export.
CLI Data Collection
You can configure the Data Collection Manager (DCM) module to collect show command output through the Bulkstat CLI. The DCM captures the raw show command output and periodically exports the data through the ASCII file format.
Data Processing
Data processing allows users to derive information from raw SNMP data, by calculating summaries and percentiles.
Service providers rely on monitored SNMP data to alert network management systems (NMSs) of changing network conditions. By periodically monitoring the device data and comparing it against a set of thresholds, the network can automatically alert the operators, thereby allowing efficient operations.
Summary
You can enable summary processing on the collected object value and calculate minimum, maximum, and average values. A summary is calculated for only those objects that are marked as process capable in the data group and uses the absolute or delta value as per the object configuration.
Distribution
You can enable distribution processing on the collected object value by specifying the object type, minimum value, maximum value, and the number of buckets to distribute the value. Based on the configuration, counters are maintained per bucket and are incremented whenever the data falls into a bucket range.
Percentile
You can enable percentile processing on the collected object value. A percentile is calculated on every process interval expiry. Distribution configuration is mandatory to enable percentile processing. Percentile computation is done assuming that the distribution is normal.
Auto-baseline
You can enable baseline processing on the collected object value. The baseline internally uses all summary, distribution, and percentile calculations to provide baseline values. You can configure either baseline processing or other forms of processing, such as summary, distribution, and percentile calculations.
The auto-baseline feature in DCM calculates the baseline values for variables of interest on the device and allows network management applications or network operators to retrieve the baseline values. The baseline values can be displayed in terms of percentiles or a median with standard deviation.
File Data Export
The file data export feature on the Data Collection Manager (DCM) exports the collected data based on the transfer configurations. Data can be exported in various formats, and Bulkstat files are one such format to collect data. The format in which the data is inserted into the file conforms to the schemaAscii format described in CISCO-DATA-COLLECTION-MIB and CISCO-BULK-FILE-MIB. The data sequence in which the data is stored is determined based on the sequence in which the data is received.
The Cisco File Transfer module is responsible for transferring the files as per the transfer configuration. This module interfaces with the Cisco IOS IFS module to transfer the file to the specified URL. A file can be retained in the device whether the transfer was a success or a failure.
File names are created using the following format:
-
Raw data file name: <profile-name>_<host-name>_raw_<time when the file is created in “%y%m%d_%H%M%S%k”>
-
Processed data file name: <profile-name>_<host-name>_proc_<time when the file is created in “%y%m%d_%H%M%S%k”>