This section presents examples of using preprocessing steps to accomplish some practical tasks.
Using a regular expression preprocessing to filter unnecessary events of the VMWare event log.
1. On a working VMWare Hypervisor host check that the event log item vmware.eventlog[<url>,<mode>]
is present and working properly. Note that the event log item could already be present on the hypervisor if the Template VM VMWare template has been linked during the host creation.
2. On the VMWare Hypervisor host create a dependent item of 'Log' type and set the event log item as its master.
In the "Preprocessing" tab of the dependent item select the "Matches regular expression" validation option and fill pattern, for example:
".* logged in .*" - filters all logging events in the event log
"\bUser\s+\K\S+" - filter only lines with usernames from the event log
If the regular expression is not matched then the dependent item becomes unsupported with a corresponding error message. To avoid this mark the "Custom on fail" checkbox and select to discard unmatched value, for example.
Another approach that allows using matching groups and output control is to select "Regular expression" option in the "Preprocessing" tab and fill parameters, for example:
pattern: ".*logged in.*", output: "\0" - filters all logging events in the event log
pattern "User (.*?)(?=\ )", output: "\1" - filter only usernames from the event log
This example uses the Custom multiplier preprocessing step to check if the retrieved item value type is numeric.
In the Preprocessing tab of an item, select the "Custom multiplier" preprocessing step and set the following parameter:
If preprocessing fails (e.g., input is not numeric), then the item becomes unsupported with a corresponding error message. To avoid this, mark the "Custom on fail" checkbox and select an option such as discarding the value or setting a custom one.
This example uses the Check for not supported value preprocessing step to check if the item value could not be retrieved.
When a Zabbix server/proxy poller process attempts to collect an item value, it may:
To detect and handle errors of collecting item values, you can use the "Check for not supported value" preprocessing step. Note that this step is always executed first and only detects errors that occur before preprocessing begins.
In the Preprocessing tab of an item, select the "Check for not supported value" preprocessing step.
Then, use the Custom on fail option to discard the value (in this case, the error), set a custom value, or return a custom error message. Please note that discarded values are not stored in the database; as a result, triggers are not evaluated and trend data is not generated.