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

3 Примери предобраде

Преглед

Ова секција представља примере коришћења корака предобраде за постизање неких практичних задатака.

Филтрирање VMware записа евиденције догађаја

Овај пример користи корак предобраде Одговара регуларном изразу за филтрирање непотребних догађаја из VMware евиденције догађаја.

1. На VMware Hypervisor домаћину који ради, проверите да ли је ставка дневника догађаја [vmware.eventlog] (/manual/vm_monitoring/vmware_keys#vmware.eventlog) присутна и ради исправно. Имајте на уму да би ставка дневника догађаја већ могла бити присутна на хипервизору ако је шаблон VMware повезан током креирања домаћина.

2. На VMware Hypervisor домаћину, креирајте зависну ставку типа "Log" и поставите ставку дневника догађаја као њен главни елемент.

3. На картици Предобрада зависне ставке изаберите корак предобраде "Одговара регуларном изразу" и наведите, на пример, један од следећих параметара:

# Филтрира све лог догађаје:
       pattern: .* logged in .*
       
       # Филтрира линије које садрже корисничка имена након "User":
       pattern: \bUser\s+\K\S+

Ако се регуларни израз не подудара, онда зависна ставка постаје неподржана са одговарајућом поруком о грешци. Да бисте то избегли, означите поље за потврду "Прилагођено при неуспеху" и изаберите опцију као што је одбацивање вредности или подешавање прилагођене вредности.

Алтернативно, можете користити корак предобраде Регуларни израз да бисте издвојили групе које се подударају и контролни излаз. На пример:

# Извлачи и излаже цео лог догађај који садржи "logged in":
       pattern: .*logged in.*
       output: \0
       
       # Издваја и излази корисничка имена која следе након "User":
       pattern: User (.*?)(?=\ )
       output: \1

Провера типа преузете вредности

Овај пример користи корак предобраде Прилагођени множитељ да би проверио да ли је преузети тип вредности ставке нумерички.

На картици Предобрада ставке изаберите корак предобраде "Прилагођени множилац" и подесите следећи параметар:

# Множи преузету вредност са 1:
       number: 1

Ако предобрада не успе (нпр. унос није нумерички), онда ставка постаје неподржана са одговарајућом поруком о грешци. Да бисте то избегли, означите поље за потврду "Прилагођено при неуспеху" и изаберите опцију као што је одбацивање вредности или подешавање прилагођене.

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, Browser)
    • 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 and specify one of the following parameters:

  • For any errors:
Parameter: any error
  • For errors containing "cannot connect":
Parameter: error matches
       pattern: (?i)cannot connect

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.