This is a translation of the original English documentation page. Help us make it better.

#1 Gebruiksvoorbeelden

Overzicht

Dit gedeelte geeft voorbeelden van het gebruik van voorverwerkingsstappen om enkele praktische taken uit te voeren.

Filteren van VMware gebeurtenislogboekrecords

Het gebruik van een reguliere expressie voorverwerkingsstap om onnodige gebeurtenissen in het VMware gebeurtenislogboek te filteren.

  1. Controleer op een werkende VMware Hypervisor-host of het gebeurtenislogboek-item vmware.eventlog[<url>,<mode>] aanwezig is en correct werkt. Houd er rekening mee dat het gebeurtenislogboek-item al aanwezig kan zijn op de hypervisor als het Template VM VMware sjabloon is gekoppeld tijdens het aanmaken van de host.

  2. Maak op de VMware Hypervisor-host een afhankelijk item van het type 'Log' en stel het gebeurtenislogboek-item in als zijn meester.

Op het tabblad "Voorverwerking" van het afhankelijke item selecteer je de validatie-optie "Komt overeen met reguliere expressie" en vul het patroon in, bijvoorbeeld:

".* ingelogd .*" - filtert alle inloggebeurtenissen in het gebeurtenislogboek
       "\bGebruiker\s+\K\S+" - filtert alleen regels met gebruikersnamen uit het gebeurtenislogboek

Als de reguliere expressie niet overeenkomt, wordt het afhankelijke item niet ondersteund met een bijbehorend foutbericht. Om dit te voorkomen, markeer je het selectievakje "Aangepast bij fout" en selecteer je bijvoorbeeld om ongekoppelde waarden te negeren.

Een andere aanpak die het gebruik van overeenkomende groepen en uitvoercontrole mogelijk maakt, is om de optie "Reguliere expressie" te selecteren op het tabblad "Voorverwerking" en parameters in te vullen, bijvoorbeeld:

patroon: ".*ingelogd.*", uitvoer: "\0" - filtert alle inloggebeurtenissen in het gebeurtenislogboek
       patroon: "Gebruiker (.*?)(?=\ )", uitvoer: "\1" - filtert alleen gebruikersnamen uit het gebeurtenislogboek

Checking retrieved value type

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:

# Multiplies the retrieved value by 1:
       number: 1

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.

Checking for not supported value

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:

  • Return a valid result.
  • Return a result that initially seems valid but may become unsupported later (e.g., due to a value type mismatch after preprocessing).
  • Return an error of collecting the value, causing the item to become unsupported. Common causes include:
    • Unknown item key (for Zabbix agent, Simple check, or Zabbix internal items)
    • Unknown OID (SNMP agent), unknown sensor (IPMI agent), or no JMX metric (JMX agent)
    • Cannot read trap file (SNMP trap)
    • Script not found (External check)
    • No such URL (HTTP agent)
    • Login failed (SSH agent, TELNET agent)
    • Invalid formula syntax (Calculated), JavaScript syntax error (Script), or invalid SQL (Database monitor)

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.