TALES reference
Use TALES syntax to retrieve values and call methods on Collection Zone objects. Several areas accept TALES syntax; these include:
- Command templates
- User commands
- Notifications
- zLinks
Commands (those associated with devices and those associated with events) can use TALES expressions to incorporate data from the related devices or events. TALES is a syntax for specifying expressions that let you access the attributes of certain objects, such as a device or an event.
For additional documentation on TALES syntax, see the TALES section of the Zope Page Templates Reference.
Depending on context, you may have access to a device, an event, or
both. Following is a list of the attributes and methods you may want to
use on device and event objects. The syntax for accessing device
attributes and methods is ${dev/attributename}.
For example, to get the manageIp of a device you would use
${dev/manageIp}. For events, the syntax is
${evt/attributename}.
A command to ping a device might look like this. (The
${..} is a TALES expression to get the manageIp
value for the device.)
ping -c 10 ${device/manageIp}
Expression examples
To use these expressions effectively, you must know which objects, attributes, and methods are available, and in which contexts. Usually there is a device that allows you to access the device in a particular context. Contexts related to a particular event usually have event defined.
DNS Forward Lookup
This example assumes device/id is a resolvable name.
host ${device/id}
DNS Reverse Lookup
host ${device/manageIp}
SNMP Walk
snmpwalk -v 2c -c${device/zSnmpCommunity} ${device/manageIp} system
Device attributes
The following table lists available device attributes.
| Attribute | Description | 
|---|---|
| getId | The primary means of identifying a device within the system | 
| getManageIp | The IP address used to contact the device in most situations | 
| productionState | The production status of the device: Production, Pre-Production, Test, Maintenance or Decommisioned. This attribute is a numeric value, use getProductionStateString for a textual representation. | 
| getProductionStateString | Returns a textual representation of the productionState | 
| snmpAgent | The agent returned from SNMP collection | 
| snmpDescr | The description returned by the SNMP agent | 
| snmpOid | The oid returned by the SNMP agent | 
| snmpContact | The contact returned by the SNMP agent | 
| snmpSysName | The system name returned by the SNMP agent | 
| snmpLocation | The location returned by the SNMP agent | 
| snmpLastCollection | When SNMP collection was last performed on the device. This is a DateTime object. | 
| getSnmpLastCollectionString | Textual representation of snmpLastCollection | 
| rackSlot | The slot name/number in the rack where this physical device is installed | 
| comments | User entered comments regarding the device | 
| priority | A numeric value: 0 (Trivial), 1 (Lowest), 2 (Low), 3 (Normal), 4 (High), 5 (Highest) | 
| getPriorityString | A textual representation of the priority | 
| getHWManufacturerName | Name of the manufacturer of this hardware | 
| getHWProductName | Name of this physical product | 
| getHWProductKey | Used to associate this device with a hardware product class | 
| getOSManufacturerName | Name of the manufacturer of this device's operating system. | 
| getOSProductName | Name of the operating system running on this device. | 
| getOSProductKey | Used to associate the operating system with a software product class | 
| getHWSerialNumber | Serial number for this physical device | 
| getLocationName | Name of the Location assigned to this device | 
| getLocationLink | Link to the system page for the assigned Location | 
| getSystemNames | A list of names of the Systems this device is associated with | 
| getDeviceGroupNames | A list of names of the Groups this device is associated with | 
| getLastChangeString | When the last change was made to this device | 
| getLastPollSnmpUpTime | Uptime returned from SNMP | 
| uptimeStr | Textual representation of the SNMP uptime for this device | 
| getPingStatusString | Textual representation of the ping status of the device | 
| getSnmpStatusString | Textual representation of the SNMP status of the device | 
Event attributes
The following table lists available event attributes.
| Attribute | Description | 
|---|---|
| agent | Collector name from which the event came (such as zensyslog or zentrap). | 
| component | Component of the associated device, if applicable. (Examples: eth0, httpd.) | 
| count | Number of times this event has been seen. | 
| dedupid | Key used to correlate duplicate events. By default, this is: device, component, eventClass, eventKey, severity. | 
| device | ID of the associated device, if applicable. | 
| DeviceClass | Device class from device context. | 
| DeviceGroups | Device systems from device context, separated by |. | 
| eventClass | Event class associated with this device. If not specified, may be added by the rule process. If this fails, then will be /Unknown. | 
| eventClassKey | Key by which rules processing begins. Often equal to component. | 
| eventGroup | Logical group of event source (such as syslog, ping, or nteventlog). | 
| eventKey | Primary criteria for mapping events into event classes. Use if a component needs further de-duplication specification. | 
| eventState | State of event. 0 = new, 1 = acknowledged, 2 = suppressed. | 
| evid | Unique ID for the event. | 
| facility | syslog facility, if this is a syslog event. | 
| firstTime | UNIX timestamp when event is received. | 
| ipAddress | IP Address of the associated device, if applicable. | 
| lastTime | Last time this event was seen and its count incremented. | 
| Location | Device location from device context. | 
| message | Full message text. | 
| monitor | Collector name from which this event came. Note: It is not the FQDN. | 
| ntevid | nt event ID, if this is an nt eventlog event. | 
| priority | syslog priority, if this is a syslog event. | 
| prodState | prodState of the device context. | 
| severity | The event severity level. | 
| severityString | the severity of the event expressed as a string (Clear, Debug, Info, Warning,Error, or Critical) | 
| stateChange | Time the MySQLrecord for this event was last modified. | 
| summary | Text description of the event. Limited to 255 characters. | 
| suppid | ID of the event that suppressed this event. | 
| Systems | Device systems from device context, separated by |. | 
Configuration properties and custom properties also are available for devices, and use the same syntax as shown in the previous sections.