No Node Left Behind

Currently Being Moderated

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.

10,815 Views Tags: zenoss, templates, bindings


There are no comments on this post