Table Of Contents
Performance Data Storage
Attribute Storage Criteria
History Storage Criteria
Defining history storage criteria
History storage criteria file format
Editing History Storage Criteria
Historical Data Exports
Export Format
Administering History Storage
Database Sizing
Example 1
Example 2
Example 3
Scenario 1
Scenario 2
Performance Data Storage
Cisco EMF provides a facility that allows for management of historical data for managed objects. The Attribute History subsystem of the Cisco EMF can maintain a historical record of the value of any attribute against a managed object. This historical data can be graphed by the Performance Manager in response to criteria input by a user. Refer to the Cisco EMF User Guide for information about the Performance Manager application.
The Attribute History subsystem does not poll for the values that are being stored. It is event driven and depends on another source to generate these events, for example an Element Manager. The event contains all information necessary to store data against the managed object being polled. You must ensure that objects and attributes you wish to store information for are being polled from another source, for example an Element Manager.
A user can set up the attribute storage criteria to view performance statistics, this is described in full in the Cisco EMF User Guide. History storage criteria can be set up, refer to History Storage Criteria.
Caution 
If files are added to the system it is the administrator's responsibility for removing them, as the packaging system will not remove manually coded files.
Attribute Storage Criteria
The Attribute History subsystem is highly scalable as it uses the databasing pattern that has been applied across Cisco EMF which will allow the database to extend across multiple disks. The database size is only limited by the amount of disk space available. The growth of the database is determined not only by the purge criteria discussed in the section below, but by the summaries defined through the attribute storage criteria.
The Attribute History subsystem automatically purges the oldest data from its database to prevent the database from becoming excessively large. Deleting data may not be desirable so this may be dealt with as follows:
•
Use the bulk export facility. This allows historical data to be dumped from the internal database which is optimized for fast access, to a flat file format which is suitable for archiving.
•
Store summaries where a summary is data that has been generated over a time period, for example hourly. The data will be generated using one or more of the following summary rules:
–
average—computes the average of the attribute values over the summary period
–
total—computes the total of the attribute values over the summary period
–
peak—determines the highest value over the summary period
–
trough—determines the lowest value over the summary period
–
logicalOR—generates either 1 or 0. This is typically used for status flags. Some attributes may have only two potential values, for example True or False; Yes or No; 1 or 0. When summaries are generated from values such as these and the "logical OR" rule is used, the summarized value is 1 if any value in the summary interval is 1. If all values in the summary interval are 0, then the summarized value is 0.
History Storage Criteria
History storage criteria allows a system administrator to specify the criteria Cisco EMF uses to store a historical record of attributes' values. Each history storage criteria can be identified by a unique name.
History storage criteria apply to a set of network elements and to a set of attributes on each of those elements. For each attribute on each network element specified in the history storage criteria, Cisco EMF stores and manages a historical record of the attribute's value.
Note
If no history storage criteria are specified, no attributes on any objects are monitored.
Cisco EMF Performance Manager provides a facility that allows for management of historical data for managed objects. The Attribute History subsystem of the Cisco EMF framework can maintain a historical record of the value of any attribute against a managed object. This historical data can be graphed by the Performance Manager in response to criteria input by a user.
The Attribute History subsystem does not poll for the values that are being stored. It is event driven and depends on another source to generate these events, for example an Element Manager. The event contains all information necessary to store data against the managed object being polled. You must ensure that objects and attributes you wish to store information for are being polled from another source, for example an Element Manager.
Caution 
If files are added to the system it is the administrator's responsibility for removing them, as the packaging system will not remove manually coded files. Files set up by the Element Manager developer should not be changed by a system administrator.
Defining history storage criteria
For an object or an attribute to be monitored it must be included in a history storage criteria file. It is recommended that the history storage criteria files are stored in the <CEMF_ROOT>/config/historyCriteria directory.
A history storage criteria file has:
•
A unique name
•
A set of objects to which the storage criteria applies. This can be a list of objects, or an Object Group.
•
A list of attributes on those objects. A history will be kept for these attributes,
•
A list of summarizing intervals. This can be empty.
•
A list of summarizing rules. This can be empty.
Note
The list of summarizing periods and the list of summarizing rules are linked. If one list is empty then the other list will also be empty.
History storage criteria file format
The format for defining the components in a history storage criteria file is as follows:
STORAGECRITERIANAME <name>
ATTRIBUTE <attribute name> <section>
ATTRIBUTE <attribute name> <section>
The <set of objects> component may be either
OBJECTGROUP <object group view path>
or
or multiple lines of the following format:
The <periods> component should be given in seconds, for example 86400 seconds = 1 day, 3600 seconds = 1 hour.
Valid summary rules are total, average, peak, trough, logicalOR, refer to Attribute Storage Criteria.
Examples of history storage criteria are as follows:
STORAGECRITERIANAME subscriberCriteria1
# Objects specified by an OG's name. This would typically be the format used
# The name would correspond with the GROUP_NAME in the performance attributes
# file for the controller
OBJECTGROUP myObjectGroupName
ATTRIBUTE PerfMib.subscriberInfo1 SNMP
ATTRIBUTE PerfMib.subscriberInfo2 SNMP
# Summary interval of one day (86400 seconds)
STORAGECRITERIANAME subscriberCriteria2
# Objects specified by an OG's containment path. The object group must exist
# in the containment when loading the storage criteria.
OBJECTGROUP ObjectGroups:/myObjectGroup
ATTRIBUTE PerfMib.subscriberInfo1 SNMP
ATTRIBUTE PerfMib.subscriberInfo2 SNMP
ATTRIBUTE PerfMib.subscriberInfo3 SNMP
ATTRIBUTE PerfMib.subscriberInfo4 SNMP
ATTRIBUTE PerfMib.subscriberInfo5 SNMP
ATTRIBUTE PerfMib.subscriberInfo6
SNMP
# 86400 seconds = 1 day; 3600 seconds = 1 hour
STORAGECRITERIANAME subscriberCriteria3
# Objects specified explicitly
ATTRIBUTE PerfMib.subscriberInfo1 SNMP
# No intervals or rules are specified, so only raw
Editing History Storage Criteria
Caution 
The HistoryAdmin facility must be run from the Cisco EMF Server.
To edit history storage criteria:
Step 1
From the command line on the terminal window, type
cd <CEMF_ROOT>/config/historyCriteria
Note
When exporting data <CEMF_ROOT> is the Cisco EMF installation root directory (for example /opt/CEMF).
Step 2
Use any editor and create a new history storage criteria file or open and edit an existing history storage criteria file similar to the example History storage criteria file format.
Note
You can change the attribute periods and rules when editing history storage criteria but not the object group.
Step 3
When the history storage criteria file is complete, save the file.
Step 4
Type ./cemf shell to get a Cisco EMF shell.
Step 5
Type run <CEMF_ROOT>/bin/historyAdmin add <directory>
or
Type run <CEMF_ROOT>/bin/historyAdmin edit <directory> to update Cisco EMF
Note
<directory> is the name of the directory which contains the files you want to add.
The Performance Manager reflects the new or edited history storage criteria and updates which attributes are monitored and then displayed.
Historical Data Exports
The Attribute History Server has an 'export' facility that will export data to an ASCII readable file.
Although data will not be automatically exported to file, there is a utility that will allow for data to be exported to file in bulk, that is, 'historyAdmin export'. Cisco EMF does not provide a framework for scheduling these exports, and therefore it will be the responsibility of the administrator to provide a suitable mechanism, such as, 'cron' - a clock daemon provided by UNIX. However, consider the following when exporting:
•
Exports should be done to an external disk as they could be extremely large.
•
Administration of the export area should be done. If not, then the export area may become full.
•
Exports should be performed at off-peak intervals. Exporting is a costly operation in terms of database access and should be done only when required.
•
Ensure a path to exported files exists on the Server.
Export Format
Data will be exported to files with the following format:
Object class:<object path>
Attribute: <attribute name>
Summary interval: Raw | <summary interval>
<date> <time> <valueType> <value>
Data exported: <current date/time>
•
The "Object class" entry is optional.
•
The "Summary rule" entry will only be present if the interval is not "Raw".
•
Timestamps will be in human readable format.
•
Statuses will indicated when polling started or stopped, missed polls, or polled values. Where the status is a 'stopped' or a 'missed' poll, the attribute value will be set to null.
A file can contain data for multiple objects, attributes, summary rules and summary intervals. Fields will be separated by either tab,space or comma.
Example
> historyAdmin export dumpFile TAB 10 all raw criteria1
Object: exampleView:/site_1/bay_1/agent_1/rack_1/linecard_2/port_2
Attribute: LocalDB:TEST.dtIndex1
09 Jun 1999 11:50:03 Polled 10
09 Jun 1999 11:50:23 Polled 10
09 Jun 1999 11:50:43 Polled 15
09 Jun 1999 11:51:03 Missed <no value>
09 Jun 1999 11:51:23 Polled 20
09 Jun 1999 11:51:43 Polled 20
09 Jun 1999 11:52:03 Polled 0
09 Jun 1999 11:52:23 Polled 5
09 Jun 1999 11:52:43 Polled 0
09 Jun 1999 11:53:03 Polled 10
09 Jun 1999 11:53:23 Polled 0
09 Jun 1999 11:53:43 Polled 15
09 Jun 1999 11:54:03 Polled 0
09 Jun 1999 11:54:23 Polled 20
09 Jun 1999 11:54:43 Polled 0
09 Jun 1999 11:55:03 Polled 15
09 Jun 1999 11:55:23 Polled 0
09 Jun 1999 11:55:43 Polled 10
09 Jun 1999 11:56:03 Polled 0
09 Jun 1999 11:56:23 Polled 5
09 Jun 1999 11:56:43 Stopped <no value>
Data exported: Sun Jun 27 17:17:35 1999
Administering History Storage
A command line facility is provided to perform various operations on Attribute Storage Criteria. It is recommended that the history storage criteria files are stored in the <CEMF_ROOT>/config/historyCriteria directory. From the command line, in the correct directory type historyAdmin help .
Step 1
Type ./cemf shell in the bin directory to get a Cisco EMF shell.
Step 2
The Cisco EMF shell creates paths and environment variables required by every Cisco EMF binary.
Running historyAdmin help gives
add [<directory of criteria> | file ]
edit [<directory of criteria> | file ]
export <filename> <separator> <max file size(KB)> [all | <number_of_days>]
[summary|raw] <criteria name> ...
get attributes <object path> ...
get data <no. of values> [raw | <interval> <rule>] <object path> <attribute>
get criteria <criteria name> ...
remove <criteria name> ...
set purge <min. values> <max. values> <min. age>
<separator> :== TAB | SPACE | COMMA
The following commands are available:
•
add <file or directory of history storage criteria>—allows an administrator to dynamically add new history storage criteria
•
edit <file or directory of history storage criteria>—allows an administrator to dynamically edit existing history storage criteria
•
export <filename> <separator> <max file size> [all | <number of days>] <criteria name> ...—This exports data for the given criteria to the given file. The separator can be TAB, SPACE or COMMA, and this specifies how fields in the exported file are separated. The data is split into several files, with the maximum size of each file being specified via the <max file size> option. All data can be exported for the given criteria, or data for the last specified number of days. The export facility is run from the Server.
•
get attributes <object path> ...—displays attributes being monitored on specified objects
•
get data <no. of values> [raw | <interval> <rule>] <object path> <attribute>—allows a specified number of values to be retrieved, for a given attribute on a given object. Either raw data or summarized data (of a specified interval and rule) can be retrieved.
•
get purge—displays the criteria which are used to automatically purge old data
•
get criteria <storagecriteria name> ...—displays details of specified history storage criteria
•
help—displays the above help
•
list—displays all history storage criteria which are currently being used
•
remove <storagecriteria name> ...—removes history storage criteria and any historical data which was being stored for them
•
set purge <min. values> <max. values> <min. age>—allows the administrator to change the purge criteria
Database Sizing
Understanding how data is stored is extremely important as a badly configured system can lead to unnecessarily large disk requirements. Explanation of how the summaries are generated is detailed in the following examples.
Example 1
Raw data is collected every 15 minutes on attribute upstreamPower for 10000 cable modems. Daily and monthly summaries are required for upstreamPower using an average summarizing rule.
Summarization occurs when any data of a higher granularity is about to be deleted. In this example, deleting raw data only generates the daily summaries, not the monthly summaries. Monthly summaries are generated when daily summaries are about to be deleted. Data is not purged until summaries which depend on that data can be calculated.
Example 2
Raw data is collected every 15 minutes on attribute upstreamPower for 10000 cable modems. A SixMonthly summary is required for upstreamPower using an average summarizing rule.
In this example, raw data is deleted only when there is enough data for the SixMonthly summary. This overrides the 'maxValueCount' parameter discussed above, so the Attribute History Storage will potentially have to store over 19000 values for 10000 managed objects.
Even if SixMonthly summaries are all that is required, collecting weekly summaries would save on disk space.
Example 3
Raw data is collected every 15 minutes on attribute upstreamPower for 10000 cable modems. Data will be purged according to the auto-purging rules specified above.
Estimating the size of one day's stored data will be reflective of the overall disk space required each day. For each summary including raw, the Attribute History Storage will store the last 1000 values of an attribute on an object.
The following figures have been calculated for monitoring 30 attributes on each of 10,000 objects. The value of each attribute is monitored using the "average" summarizing rule at hourly, daily and weekly intervals. Each attribute is polled at 15 minute intervals. All attributeValues are AttrInt32Values. The formula used is:
db size per sample = (no. of objs) x (no. of attrs per obj) x (bytes required if value changes | bytes required if value does not change) x (no. of values collected over time interval) x (4/3 = Overhead of using ObjectStore collections)
Only changes to a value are databased and the size of one value is 24 bytes (includes pointer to value, timestamp and status flag). If a value does not change only 4 bytes are required to store the timestamp.
Scenario 1
If the value of each integer attribute on an object changes every 15 minutes.
Table 14-1 Scenario 1 Calculation
Sample
|
Calculation
|
Total
|
raw
|
30 x 10000 x 24 x 1000 x 4/3
|
9.6 GB
|
hourly
|
30 x 10000 x 24 x 720 x 4/3
|
6.9 GB
|
daily
|
30 x 10000 x 24 x 30 x 4/3
|
0.29 GB
|
weekly
|
30 x 10000 x 24 x 4 x 4/3
|
0.04 GB
|
after 30 days
|
|
~16.83GB
|
The total shown for a 30 day interval is only approximate but it serves as an indication of how large the attribute history database can become. The database growth rate applied to the above example will slow down as the purge criteria will limit this growth. After a year, the database size will be approximately 19 Gigabytes and it will grow to a maximum of 31 Gigabytes after 20 years.
A lot of disk space is required in the above example but this is a worst case scenario where the value is always changing against each attribute. The number of monitored attributes against each object contributes greatly to the disk space required so if disk space is an issue be wary of what attributes should be monitored.
The value of 1000 in the table above reflects the maxValueCount referred to earlier.
Scenario 2
A more likely behavior pattern is that two integer attributes per object change value every 15 minutes, the remaining 28 changing only twice per day in the same hour.
Table 14-2 Scenario 2 Calculation
Sample
|
Calculation
|
Total
|
raw
|
( (28 x 10000 x 4 x 940 x 4/3) + (28 x 10000 x 24 x 60 x 4/3)) +
(2 x10000 x 20 x 1000 x 4/3)
|
2.6 GB
|
hourly
|
((28 x 10000 x 4 x 690 x 4/3) +
(28 x 10000 x 24 x 30 x 4/3)) +
(2 x10000 x 24 x 720 x 4/3)
|
1.8 GB
|
daily
|
30 x 10000 x 24 x 30 x 4/3
|
0.29 GB
|
weekly
|
30 x 10000 x 24 x 4 x 4/3
|
0.04 GB
|
after 30 days
|
|
~4. 7 GB
|
This is only approximate but the Attribute History Storage can manage the database size much better in this scenario. As it only stores value changes, it is unlikely that the database will ever grow beyond 9 Gigabytes.