RSS Feed for This PostCurrent Article

Tip of the Month: How Zenoss Chooses Templates

Does the way that Zenoss chooses what templates to apply have you confused?

Explanation of Template Binding

Zenoss applies templates in many different and therefore confusing ways. The following is an explanation of the different ways templates get bound and hopefully a logically explanation of why it is done. It is important to remember that the name of each template is very important and is case sensitive.

Device Templates

Device templates are applied to devices, and only once per device. Device templates get bound to devices according to a single rule, what the zDeviceTemplates property contains. For most device classes within the system this is set to “Device”. For a hypothetical /Server/Linux/MySQL device class the zDeviceTemplates property would likely contain Device and MySQL so that normal CPU & Memory information would be collected using the Device template and MySQL specific metrics using the MySQL template.

Common device templates:

  • Device
  • MySQL, Apache
  • Active Directory, MSExchangeIS, MSSQLServer, IIS

Component Templates

Component templates are a bit more mysterious than device templates. The biggest difference in how they’re applied is that they can be applied many times per device depending on how many components the device contains that match the template. Another big difference is that there are no zProperties that control which template is applied. They follow more rigid rules.

Common component templates:

  • FileSystem, HardDisk, IpService, OSProcess, WinService
  • Fan, PowerSupply, TemperatureSensor
  • LTMVirtualServer, VPNTunnel

These component templates are named EXACTLY according to the name of the underlying class that represents the component. This is the case for all component templates except for what you might expect to be called IpInterface. As you might have already noticed, there is no template called IpInterface.

Interface Templates

Templates get applied to network interfaces using a special kind of binding. Instead of using the name of the underlying class, Zenoss will look for a template that has the same name as the “type” of the interface. You can find this type by clicking into the details for any network interface from the OS tab of its containing device.

If a template matching the name of the interface’s type can’t be found, the “ethernetCsmacd” template will be used as the fallback. Most interfaces you’ll find are this type.

Conclusion

Hopefully this helps you better understand how templates are bound to devices and components.

Sphere: Related Content

Tags: , ,

Trackback URL

RSS Feed for This PostPost a Comment