Овај одељак пружа детаље о вредности предобраде корака ставке. Предобрада вредности ставке омогућава да се дефинишу и изврше правила трансформације за примљене вредности ставкe.
Предобрада управља процес менаџера за претходну обраду заједно са радницима за предобрадy који обављају кораке претходне обраде. Све вредности (са или без претходне обраде) од различитих сакупљача података пролазе кроз менаџер за предобраду пре него што се додају у кеш историје. IPC комуникација заснована на сокету се користи између сакупљача података (полери, трапери, итд.) и процеса предобраде. Или Zabbix сервер или Zabbix прокси (за ставке које надгледа проки) обављају кораке предобраде.
Да бисмо визуелизовали ток података од извора података до Zabbix базе података, можемо користити следећи поједностављени дијаграм:
Горњи дијаграм приказује само процесе, објекте и радње које се односе на обраду вредности ставке у поједностављеном облику. Дијаграм не приказује условне промене правца, руковање грешкама или петље. Локални кеш података менаџера за претходну обраду такође није приказан јер не утиче директно на ток података. Циљ овог дијаграма је да прикаже процесе који су укључени у обраду вредности ставке и начин на који они међусобно делују.
Ставка може променити своје стање у НИЈЕ ПОДРЖАН док се претпроцесирање обавља ако било који од корака претходне обраде не успе.
Ставка може променити своје стање у НИЈЕ ПОДРЖАН ако нормализација података не успе (на пример, када текстуална вредност не може да се конвертује у број).
Претходна обрада података се изводи у следећим корацима:
Имајте на уму да је на дијаграму претходна обрада главне ставке мало поједностављена прескакањем претходне обраде кеширање.
Ред за претходну обраду је организован као:
Кеширање предпроцесирања је уведено да би се побољшале перформансе препроцесирања за више зависних ставки које имају сличне кораке препроцесирања (што је уобичајен LLD исход).
Кеширање се врши претходном обрадом једне зависне ставке и поновним коришћењем неких интерних података за претпроцесирање за остале зависне ставке. Кеш за претходну обраду је подржан само за први корак претходне обраде следећих типова:
[?(@.path == "value) ")]
)Конфигурациона датотека Zabbix сервера омогућава корисницима да подесе број нити радних процеса за предобраду. StartPreprocessors конфигурациони параметар треба да се користи за подешавање броја унапред покренутих инстанци предобрада радних процеса, који би требало да одговарају најмање броју доступних CPU језгара.
Ако задаци предобраде нису везани за CPU и укључују честе мрежне захтеве, препоручује се конфигурисање додатних радних процеса. Оптималан број радних процеса предобраде може се одредити на основу многих фактора, укључујући број "претходно обрадивих" ставки (ставки које захтевају да се изврше било који корак предобраде), број процеса прикупљања података, просечан број корака за претходну обраду ставке, итд. Недовољан број радних процеса може довести до велике употребе меморије. За решавање проблема прекомерне употребе меморије на вашој Zabbix инсталацији, погледајте Профилисање прекомерне употребе меморије помоћу tcmalloc-а.
Aли под претпоставком да не постоје захтевне операције пре обраде као што је парсирање великих XML/JSON датотека, број претпроцесорских радних процеса може одговарати укупном броју процеса за прикупљање података. На овај начин ће углавном (осим у случајевима када подаци са сакупљача долазе у великим серијама) бити најмање један слободан слободан претпроцесорски радни процес за обраду прикупљених података.
Превише процеса прикупљања података (полери, недоступни полери, ODBC полери, HTTP полери, Java полери, пингери, трапери, proxy полери) заједно са IPMI менаџером, SNMP трапером и претпроцесорским радним процесима могу да исцрпе ограничење дескриптора датотеке по процесу за менаџера за предобраду.
Исцрпљивање ограничења дескриптора датотеке по процесу ће довести до заустављања Zabbix сервера, обично убрзо након покретања, али понекад траје дуже. Да бисте избегли такве проблеме , прегледајте Zabbix конфигурациону датотеку сервера да бисте оптимизовали број истовремених провера и процеса. Додатно, ако је потребно, уверите се да је ограничење дескриптора датотека постављено довољно високо провером и подешавањем системских ограничења.
Обрада вредности ставке се извршава у више корака (или фаза) вишеструким процесима. Ово може проузроковати:
UINT
(може се користити ставка трапера), зависна ставка има вредност укуцајте TEXT
.Као резултат, зависна ставка прима вредност, док главна ставка мења своје стање у НИЈЕ ПОДРЖАН.
CHAR
користи за главну ставку, тада ће вредност главне ставке бити скраћена у фази синхронизације историје, док ће зависне ставке добити своје вредности од почетне (не скраћене) вредности главне ставке.