Automatically Defined Properties
IN THIS ARTICLE:
Introduction to Auto Properties
In addition to being able to manually define properties, LogicMonitor provides support for automatically setting properties both at the device level as well as at the DataSource instance level.
Common Use Cases for Auto Properties
Why would I use an automatically defined property? Here are some of the common use cases:
- I want to track device serial numbers for integration with my configuration management database (CMDB).
Serial numbers for your systems can be polled as part of the device discovery process and stored directly within LogicMonitor. Your CMDB can then integrate with LogicMonitor's APIs to retrieve this data in a normalized format.
- I want to store additional data about devices and instances to facilitate root-cause analysis.
On a storage system, you might want to store the performance characteristics of each of the disks/volumes/storage pools. Or on a switch one might want to store the speed of each interface. Alternately you may want to store the device's operating system version, or firmware version. By storing these additional details within LogicMonitor, you can more easily determine how to address an alert condition.
- I want to automatically assign DataSources based on certain types of devices that can be identified automatically.
LogicMonitor can automatically identify many types of devices out of the box, typically using SNMP SysOID maps. But some types of systems can be identified only by querying a proprietary API. Auto properties allow you to use a script to set a property to identify the device.
Setting Auto Properties for Devices
PropertySources are used to set properties at the device level based on the output of a Groovy script. Essentially, you write a script that will interact with your device, determine one or more properties as key-value pairs, and then output the properties in the format of key.name=value, one per line. Examples include:
When these properties are assigned to a device, the property names are prefixed with "auto." to designate that they've been set automatically rather than manually (i.e. via the UI).
Note: See Creating PropertySources for more details on using PropertySources.
Setting Auto Properties for Instances
Instance auto properties, which represent information about a specific monitored instance, are gathered as part of the Active Discovery process.
Once defined, an instance property can either be referenced within the Info tab of a monitored instance or in a calculation within a Groovy complex datapoint. In the latter use case, you'll reference your instance property value as instanceProps.get("auto.PropertyName").
Note: In addition to gathering instance properties via Active Discovery, you can also manually assign properties to instances, as discussed in Instance Properties.