[comment]: # ({ee805b92-1a3ec895})
# 3 Примери предобраде

[comment]: # ({/ee805b92-1a3ec895})

[comment]: # ({c85251c8-f4923ce3})
#### Преглед

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

[comment]: # ({/c85251c8-f4923ce3})

[comment]: # ({22bc082b-6c9dfb09})
#### Филтрирање записа дневника догађаја VMware-а

Овај пример користи корак претходне обраде [Подудара се са регуларним изразом](/manual/config/items/preprocessing#matchesregexp) за филтрирање непотребних догађаја из дневника догађаја VMware-а.

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

2. На VMware Hypervisor домаћину, креирајте [зависну ставку](/manual/config/items/itemtypes/dependent_items) типа *Log* и поставите ставку дневника догађаја као њену главну ставку.

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

- За филтрирање свих догађаја дневника:

```bash
.* logged in .*
```

-  За филтрирање редова који садрже корисничка имена после „Корисник“:

```bash
\bUser\s+\K\S+
```

::: noteimportant
Ако се регуларни израз не подудара, зависна ставка постаје неподржана са одговарајућом поруком о грешци.
Да бисте то избегли, означите поље за потврду *Прилагођено при неуспеху* и изаберите опцију као што је одбацивање вредности или подешавање прилагођене.
Имајте на уму да се вредности [одбачено](/manual/config/items/preprocessing#discardunchanged) не чувају у бази података; као резултат тога, окидачи се не процењују и подаци о тренду се не генеришу.
:::

Алтернативно, можете користити корак претходне обраде [Регуларни израз](/manual/config/items/preprocessing#regexp) да бисте издвојили одговарајуће групе и контролисали излаз:

- За издвајање и приказивање целог догађаја дневника који садржи „logged in“, наведите следеће параметре:

```bash
Pattern: .*logged in.*
Output: \0
```

- За издвајање и приказивање корисничких имена која следе након "Корисник":

```bash
Pattern: User (.*?)(?=\ )
Output: \1
```

[comment]: # ({/22bc082b-6c9dfb09})

[comment]: # ({76f2bdd9-9e7a5976})
#### Провера типа преузете вредности

Овај пример користи корак претходне обраде [Прилагођени множилац](/manual/config/items/preprocessing#multiplier) да би се проверило да ли је тип вредности преузете ставке нумерички.

На картици *Претходна обрада* ставке, изаберите корак претходне обраде *Прилагођени множилац* и наведите следећи параметар (множи преузету вредност са 1):

```bash
1
```

::: noteimportant
Ако претходна обрада не успе (нпр., унос није нумерички), ставка постаје неподржана са одговарајућом поруком о грешци.
Да бисте то избегли, означите поље за потврду *Прилагођено при неуспеху* и изаберите опцију као што је одбацивање вредности или подешавање прилагођене.
Имајте на уму да се вредности [discarded](/manual/config/items/preprocessing#discardunchanged) не чувају у бази података; као резултат тога, окидачи се не процењују и подаци о тренду се не генеришу.
:::

[comment]: # ({/76f2bdd9-9e7a5976})

[comment]: # ({9a28bbf4-5bac90df})
#### Провера неподржаних вредности

Овај пример користи корак претходне обраде [Провери неподржане вредности](/manual/config/items/preprocessing#checkunsupported) да би се проверило да ли се вредност ставке не може преузети.

Када Zabbix сервер/прокси полер процес покуша да прикупи вредност ставке, може:

-   Вратити важећи резултат.
-   Вратити резултат који у почетку изгледа важећи, али касније може постати неподржан (нпр. због неусклађености типа вредности након претходне обраде).
-   Вратити грешку при прикупљању вредности, што доводи до тога да ставка постане неподржана. Уобичајени узроци укључују:
   -   Непознати кључ ставке (за Zabbix агент, једноставну проверу или Zabbix интерне ставке)
   -   Непознати OID (SNMP агент), непознати сензор (IPMI агент) или нема JMX метрике (JMX агент)
   -   Не могу да прочитам датотеку застоја (SNMP застој)
   -   Скрипта није пронађена (спољна провера)
   -   Нема таквог URL-а (HTTP агент, прегледач)
   -   Пријављивање није успело (SSH агент, TELNET агент)
   -   Неважећа синтакса формуле (израчунато), грешка у JavaScript синтакси (скрипта) или неважећи SQL (монитор базе података)

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

На картици *Претходна обрада* ставке, изаберите корак претходне обраде *Провери вредност која није подржана* и наведите један од следећих параметара:

-   За све грешке:

```bash
Parameter: any error
```

- За грешке које садрже "не може се повезати":

```bash
Parameter: error matches
Pattern: (?i)cannot connect
```

Затим, користите опцију *Прилагођено при неуспеху* да бисте одбацили вредност (у овом случају, грешку), поставили прилагођену вредност или вратили прилагођену поруку о грешци.
Имајте на уму да се вредности [одбачено](/manual/config/items/preprocessing#discardunchanged) не чувају у бази података; као резултат тога, окидачи се не процењују и подаци о тренду се не генеришу.

[comment]: # ({/9a28bbf4-5bac90df})
