Resource Manager stores performance configuration data in templates. Templates contain other objects that define where and how to obtain performance data, thresholds for that data, and data graphs.
You can define a template anywhere in the device class hierarchy, or on an individual device.
The determination of which templates apply to what objects is called binding. Templates are bound in different ways, depending on the objects to which they are bound.
Device templates are applied to devices, one to each device. The system employs a single rule to bind device templates to devices: the value of the zDeviceTemplates property. For most device classes, this is "Device."
Common device templates are:
- Active Directory
For the /Server/Linux/MySQL device class, the zDeviceTemplates property
might contain, for example,
MySQL. The system would
collect CPU and memory information by using the Device template, and
MySQL-specific metrics by using the MySQL template.
Binding a device template
To bind a device template to a device class or device:
From the devices list, select a device class or device.
On the Overview page, select Bind Templates from the Action menu.
The Bind Templates dialog box appears.
Editing templates bound to a device
Select the templates that are bound to a device.
- From the main navigation menu, choose INFRASTRUCTURE.
- From the device list in the left pane, choose a device.
- Below the device list, click the context-sensitive actions menu and choose Bind Templates.
From the list of available templates, move one or more templates to the selected list.
Resetting template bindings removes all locally bound templates and uses the default template values. To reset bindings for a selected device or device class:
Select Reset Bindings from the Action menu.
The Reset Template Bindings dialog box appears.
Click Reset Bindings to confirm the action.
Component templates are named exactly according to the name of the underlying class that represents a component. For example,the FileSystem template is applied to file systems. Component templates can be applied multiple times to each device, depending on how many of the device's components match the template. Configuration properties do not control the application of component templates.
Do not manually bind component templates
Component template binding relies on the template name matching the component type. Manually binding component templates can have adverse effects on monitoring.
Common component templates are:
- FileSystem, HardDisk, IPService, OSProcess, WinService
- Fan, PowerSupply, TemperatureSensor
- LTMVirtualServer, VPNTunnel
Do not rename component templates
Altering the name of a component template will prevent it from matching its associated component type.
For example, the
FileSystem component template automatically applies to
components of the FileSystem type. Renaming the template to
FileSystem_Custom would prevent a match with FileSystem components.
Most interface templates are applied to network interfaces by using a special type of binding. Instead of using the name of the template's underlying target class, the system looks for a template with the same name as the interface type. You can find this type in the details information for any network interface.
For these standard interfaces when Resource Manager cannot locate a
template that matches the interface type, then it uses the
Some vendors provide expanded monitoring capabilities on their
interfaces. In some cases, ZenPacks provide custom templates specific to
those types that can override this default behavior. A common example
would be the
Ethernet Interfaces interface type built to monitor these
expanded capabilities for Cisco network interfaces. In this case the
template's target class is used to bind the
For more information about these expanded interface capabilities, refer to the Cisco Monitor ZenPack page.
You can create an empty template to customize to your needs. To create a new template:
- Select ADVANCED > MONITORING TEMPLATES.
- Click the "add a monitoring template" button ("plus" icon, lower-left corner). The "Add Template" dialog box appears.
- Provide a name, choose a template path, and then click Submit. The new template appears in the list.
You can create a template by overriding an existing template. To override a template:
- Navigate to the template you want to copy.
- From the Action menu, select Copy/Override Template. The Copy/Override dialog box appears.
- Select the bound template to override, and then click Submit. The copied template appears in the list of templates as locally defined.
Resource Manager determines the list of template names that apply to a device or component. For device components, the list is defined by the meta type of the component (for example, FileSystem, CPU, or HardDisk). For devices, the list is defined by the zDeviceTemplates configuration property.
After defining the list, Resource Manager locates templates that match the names on the list. For each name, it searches the device and then searches the device class hierarchy. Resource Manager uses the lowest template in the hierarchy that it can locate with the correct name, ignoring others of the same name that might exist further up the device class hierarchy.
To rename an existing template:
- Select ADVANCED > MONITORING TEMPLATES.
- Expand the organizer containing the template to be renamed, and then the class containing the template.
- From the Action menu, select View and Edit Details. The Edit Template Details dialog box appears.
- Enter a new name in the Name field.
- Click Submit.
Monitoring templates determine how the system collects performance data for devices and device components. You can define monitoring templates for device classes and individual devices.
Templates comprise the following types of objects:
- Data sources specify the exact data points to collect and the collection method to use.
- Thresholds define expected bounds for collected data, and specify events to be created if the data does not match those bounds.
- Graph definitions describe how to graph the collected data on the device or device components.
Before the system can collect performance data for a device or component, it must use the template binding process to determine which monitoring templates apply.
To view monitoring templates, from the main navigation menu, choose ADVANCED > Monitoring Templates.
Data sources specify which data points the system collects and how to collect them. Each monitoring template comprises one or more data sources. The system provides the following built-in data source types. ZenPacks provide other data source types.
SNMP - Define data to be collected via SNMP by the ZenPerfSNMP daemon. You specify which SNMP OID to collect. (Many OIDs must end in .0.) Because SNMP data sources specify only one performance metric, they contain a single data point.
Command - Specify data to be collected by a shell command that is executed on the Resource Manager server or on a monitored device. The ZenCommand daemon processes COMMAND data sources. A COMMAND data source can return one or more performance metrics, and usually has one data point for each metric.
Shell commands that are used with COMMAND data sources must return data that conforms to the Nagios® plug-in output specification.
Adding a data source to a monitoring template
- From the navigation menu, choose ADVANCED > MONITORING TEMPLATES.
- In the tree view, select the monitoring template.
- In the Data Sources area, click Add.
- In the Add Data Source dialog box, enter a name for the data source, select the type, and then click Submit.
Double-click the new data source.
An Edit Data Source dialog box appears, specific to the data source type. For example, the following figure shows the Edit Data Source dialog box for a COMMAND data source.
Enter or select values to define the data source.
For example, the COMMAND data source type, Use SSH must be enabled. Otherwise, the commands only run locally on the collector that is assigned to the device to which the monitoring template is bound.
In the Command Template field, enter the command to run. Note that any command that you enter in this field is first evaluated for TALES expressions. You might need to escape certain characters.
For more information, see TALES expressions.
For more information on COMMAND type data sources, see zencommand.
Data sources can return data for one or more performance metrics. Each metric that a data source retrieves is represented by a data point.
You can define data points for data sources with all source types except SNMP and VMware. Because these data source types each rely on a single data point for performance metrics, additional data point definition is unnecessary.
- From the navigation menu, choose ADVANCED > MONITORING TEMPLATES.
- In the Data Sources area, highlight the row that contains the datasource.
- From the action menu, choose Add Data Point.
In the Add Data Point dialog box, enter a name for the data point, and then click Submit.
Note: For COMMAND data points, enter the name that the shell command uses when returning data.
Double-click the new data point and enter information or make selections to define it:
- Name - Displays the name that you entered in the Add a New Data Point dialog box.
RRD Type - Review the following considerations, and then specify the data source type to use for storing data for this data point.
The following considerations apply to COUNTER and DERIVE types
- In previous releases, the system saved these rate data points by using their raw counters. Beginning with release 6.1.x, the system stores the actual rate value that is calculated at the collector daemon as it collects data. If a graph or API request for a COUNTER or DERIVE data point spans the date of the upgrade to 6.1.x, the system automatically queries the data correctly.
- In graph legends, the minimum and maximum values are the actual calculated rates for the time period covered by the graph. However, in the graph, as you zoom out, increasing the time frame, minimum and maximum values are averaged; thus values might be different.
- Instead of COUNTER, you could choose DERIVE and specify a minimum of 0. This approachcreates the same conditions as COUNTER, with one exception. Because COUNTER is a "smart"data type, it can wrap the data when the system reaches a maximum number of values. If a reporting loss occurs, the system (when looking at COUNTER values) might erroneously wrap the data, thereby creating an artificial spike in the system and statistical anomalies.
- COUNTER - Saves the rate of value change over a step period (interval). COUNTER assumes that the value is always increasing (the difference between the current and the previous value is greater than 0). Example use: Traffic counters on a router.
- DERIVE - Same as COUNTER, but allows negative values. Example use: To see the rate of change in free disk space on a server.
- GAUGE - Does not save the rate of change, but saves the actual value. There are no divisions or calculations. Example use: To see memory consumption in a server.
- ABSOLUTE - Saves the rate of change, but assumes that the previous value is set to 0. The difference between the current and the previous value always equals the current value.Thus, ABSOLUTE stores the current value, divided by the step interval.
Create Command - Enter an RRD expression that is used to create the database for this data point. If you do not enter a value, then the system uses a default that is applicable to most situations.
- RRD Minimum - Enter a value. This system ignores values less than this number.
- RRD Maximum - Enter a value. This system ignores values greater than this number.
Thresholds are used to define noteworthy changes to a data point value in the form of an event.
For more information on the types of thresholds available, see thresholds.
Graph definitions define which data points (and associated thresholds, if any) are graphed in the user interface.
For more information on the options available in a graph definition, see performance graphs.