1 Сервер

Преглед

Zabbix сервер је централни процес Zabbix софтвера.

Сервер врши анкетирање и хватање података, израчунава окидаче, шаље обавештења корисницима. То је централна компонента којој Zabbix агенти и проксији извештавају о доступности и интегритету система. Сервер може сам даљински да провери мрежне сервисе (као што су веб сервери и мејл сервери) користећи једноставне провере сервиса.

Сервер је централно спремиште у којем се чувају сви конфигурациони, статистички и оперативни подаци, и то је ентитет у Zabbix-у који ће активно упозорити администраторе када се појаве проблеми у било ком од праћених система.

Функционисање основног Zabbix сервера је подељено на три различите компоненте; то су: Zabbix сервер, веб кориснички интерфејс и складиште базе података.

Све информације о конфигурацији за Zabbix се чувају у бази података, са којом и сервер и веб фронтенд интерагују. На пример, када креирате нову ставку користећи веб кориснички интерфејс (или API), она се додаје у табелу ставки у бази података. Затим, отприлике једном у минуту, Zabbix сервер ће упитати табелу елемената за листу активних ставки, која се затим чува у кешу унутар Zabbix сервера. Због тога може проћи и до два минута да се било какве промене направљене у Zabbix корисничком интерфејсу прикажу у одељку са најновијим подацима.

Покренут сервер

Ако је инсталиран као пакет

Zabbix сервер ради као демон процес. Сервер се може покренути извршавањем:

service zabbix-server start

Ово ће радити на већини GNU/Linux система. На другим системима можда ћете морати да покренете:

/etc/init.d/zabbix-server start

Слично, за заустављање/поновно покретање/преглед статуса, користите следеће команде:

service zabbix-server stop service zabbix-server restart service zabbix-server status

Покрените ручно

Ако горе наведено не ради, морате га покренути ручно. Пронађите путању до бинарног zabbix_server и извршити:

zabbix_server

Можете користити следеће параметре командне линије са Zabbix сервером:

-c --config <file>. путања до конфигурационе датотеке (подразумевано је /usr/local/etc/zabbix_server.conf) -f --foreground покрените Zabbix сервер у првом плану -R --runtime-control <option> извршите административне функције -T --test-config потврдите конфигурациону датотеку и изађите -h --help дајте ову помоћ -V --version прикажи број верзије

Примери покретања Zabbix сервера са параметрима командне линије:

zabbix_server -c /usr/local/etc/zabbix_server.conf zabbix_server --help zabbix_server -V

Контрола током извршавања

Опције контроле током извршавања:

Option Description Target
config_cache_reload Поново учитај кеш конфигурације. Игнорише се ако се кеш тренутно учитава.
history_cache_clear=target Обриши кеш историје за ставку наведену њеним ID-ијем.
Утиче на све вредности ставке, осим прве и последње вредности.
target - ID ставке
diaginfo[=<section>] Прикупља дијагностичке информације у датотеци дневника сервера. historycache - статистика кеша историје
valuecache - статистика кеша вредности
preprocessing - статистика менаџера претходне обраде
alerting - статистика менаџера упозорења
lld - статистика LLD менаџера
locks - листа мутекса (празна је на BSD системима)
connector - статистика за конекторе са највећим редом чекања
ha_status Забележи статус кластера високе доступности (HA).
ha_remove_node=target Уклони чвор високе доступности (HA) наведен његовим именом или ИД-ом.
Имајте на уму да се активни/чворови у стању приправности не могу уклонити.
target - име или ID чвора (може се добити покретањем ha_status)
ha_set_failover_delay=delay Подесите кашњење пребацивања у случају отказа за високу доступност (HA).
Подржани су временски суфикси, нпр. 10s, 1m.
proxy_config_cache_reload[=<target>] Поново учитајте кеш конфигурације проксија. target - листа имена проксија раздвојена зарезима
Ако није наведен циљ, поново учитајте конфигурацију за све проксије
secrets_reload Поново учитајте тајне из Vault-а.
service_cache_reload Поново учитајте кеш менаџера услуга.
snmp_cache_reload Поново учитајте SNMP кеш, обришите SNMP својства (време мотора, покретање мотора, ID мотора, акредитиви) за све домаћине.
housekeeper_execute Покрени процедуру housekeeping.
Игнорише се ако је процедура housekeeping-а тренутно у току.
trigger_housekeeper_execute Покрените процедуру одржавања окидача за сервисе да бисте уклонили проблеме изазване окидачима који су у међувремену обрисани, укључујући проблеме са сервисима генерисане таквим проблемима (сматраним решеним у време одржавања).
Имајте на уму да, док се процедура одржавања не покрене, проблеми изазвани сада обрисаним окидачима могу и даље генерисати проблеме са сервисима и доделити их сервисима.

Ако ваша поставка укључује много правила за израчунавање статуса сервиса правила за израчунавање статуса на основу често откриваних/неоткривених окидача, размислите о повећању учесталости процедуре одржавања окидача подешавањем параметра конфигурације сервера ProblemHousekeepingFrequency.

Игнорише се ако је процедура одржавања окидача тренутно у току.
log_level_increase[=<target>] Повећај ниво евиденције, утиче на све процесе ако циљ није наведен.
Није подржано на BSD системима.
тип процеса - Сви процеси наведеног типа (нпр. poller)
Погледајте све типове процеса сервера.
тип процеса,N - Тип и број процеса (нпр. poller,3)
pid - Идентификатор процеса (од 1 до 65535). За веће вредности наведите циљ као 'тип процеса,N'.
log_level_decrease[=<target>] Смањи ниво евиденције, утиче на све процесе ако циљ није наведен.
Није подржано на BSD системима.
prof_enable[=<target>] Омогући профилисање.
Утиче на све процесе ако циљ није наведен.
Омогућено профилисање пружа детаље о свим rwlock-овима/mutex-овима по имену функције.
тип процеса - Сви процеси наведеног типа (нпр. синхронизатор историје)
Подржани типови процеса као циљеви профилисања: alerter, alert manager, availiness syncer, configuration syncer, discovery manager, escalator, poller history, syncer history, housekeeper, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy poller, self-monitoring, service manager, snmp trapper, task manager, timer, trapper, unreachable poller, vmware collector
type of process,N - Тип и број процеса (нпр., history syncer,1)
pid - Процес идентификатор (1 до 65535). За веће вредности наведите циљ као 'тип процеса,N'.
обхват - rwlock, mutex, processing се може користити са типом и бројем процеса (нпр., history syncer,1,processing) или свим процесима типа (нпр., history syncer,rwlock)
prof_disable[=<target>] Онемогући профилисање.
Утиче на све процесе ако циљ није наведен.
тип процеса - Сви процеси наведеног типа (нпр. history syncer)
Подржани типови процеса као циљеви профилисања: погледајте prof_enable
тип процеса,N - Тип и број процеса (нпр., history syncer,1)
pid - Идентификатор процеса (1 до 65535). За веће вредности наведите циљ као 'тип процеса,N'.

Пример коришћења контроле времена извршавања за поновно учитавање конфигурације сервера кеш:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload

Примери коришћења контроле времена извршавања за поновно учитавање конфигурације проксија:

# Поновно учитавање конфигурације свих проксија: zabbix_server -R proxy_config_cache_reload

# Поновно учитавање конфигурације Proxy1 и Proxy2: zabbix_server -R proxy_config_cache_reload=Proxy1,Proxy2

Пример коришћења контроле времена извршавања за брисање кеша историје за ставку:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R history_cache_clear=42243

Примери коришћења контроле времена извршавања за прикупљање дијагностичких информација:

# Прикупљање свих доступних дијагностичких информација у датотеци дневника сервера: zabbix_server -R diaginfo

# Прикупљање статистике кеша историје у датотеци дневника сервера: zabbix_server -R diaginfo=historycache

Пример коришћења контроле времена извршавања за поновно учитавање SNMP кеша:

zabbix_server -R snmp_cache_reload

Пример коришћења контроле времена извршавања за покретање извршавања housekeeper-а:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute

Примери коришћења контроле времена извршавања за промену нивоа логовања:

# Повећајте ниво логовања свих процеса: zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase

# Повећајте ниво логовања другог процеса полер-а: zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2

# Повећајте ниво логовања процеса са PID 1234: zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234

# Смањи ниво логовања свих http poller процеса: zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"

Пример подешавања HA failover кашњења на минимум 10 секунди:

zabbix_server -R ha_set_failover_delay=10s

Процесни корисник

Zabbix сервер је дизајниран да ради као корисник који није root. Покреће се као било који не root корисник под којим је покренут. Тако да можете да покренете сервер као било који корисник без икаквих проблема.

Ако покушате да га покренете као 'root', он ће се пребацити на чврсто кодираног корисника ''zabbix'', који мора бити присутан на вашем систему. Можете да покренете сервер само као 'root' ако у складу са тим измените параметар 'AllowRoot' у конфигурационој датотеци сервера.

Ако се Zabbix сервер и агент покрећу на истој машини, препоручује се да користите другог корисника за покретање сервера него за покретање агента. Иначе, ако се оба покрећу као исти корисник, агент може приступити конфигурационој датотеци сервера и било који корисник на нивоу администратора у Zabbix-у може прилично лако да преузме, на пример, лозинку базе података.

Конфигурациони фајл

Погледајте опције конфигурациона датотека за детаље о конфигурисању zabbix_server.

Почетне скрипте

Скрипте се користе за аутоматско покретање/заустављање Zabbix процеса током покретања/гашења система. Скрипте се налазе у директоријуму misc/init.d.

Типови процеса сервера и нити

  • agent poller - асинхрони процес поллера за пасивне провере са радном нити
  • alert manager - менаџер реда упозорења
  • alert syncer - писац базе података упозорења
  • alerter - процес за слање обавештења
  • availability manager - процес за ажурирања доступности домаћина
  • previewer poller - полер за провере ставки прегледача
  • configuration syncer - процес за управљање кеш меморијом конфигурационих података
  • configuration syncer worker - процес за решавање и синхронизацију вредности корисничких макроа у именима ставки
  • connector manager - процес менаџера за конекторе
  • connector worker - процес за руковање захтевима од менаџера конектора
  • discovery manager - процес менаџера за откривање уређаја
  • discovery worker - процес за руковање задацима откривања од менаџера откривања
  • escalator - процес за ескалацију акција
  • ha manager - процес за управљање високом доступношћу
  • history poller - процес за руковање израчунатим проверама које захтевају везу са базом података
  • history syncer - писац базе података у историји
  • housekeeper - процес за уклањање старих историјски подаци
  • http agent poller - асинхрони процес поллера за HTTP провере са радном нити
  • http poller - полер за веб праћење
  • icmp pinger - полер за icmpping провере
  • internal poller - полер за интерне провере
  • ipmi manager - IPMI менаџер полера
  • ipmi poller - полер за IPMI провере
  • java poller - полер за Java провере
  • lld manager - менаџер процеса задатака откривања ниског нивоа
  • lld worker - радни процес задатака откривања ниског нивоа
  • odbc poller - поллер за ODBC провере
  • poller - нормалан поллер за пасивне провере
  • preprocessing manager - менаџер задатака претходне обраде са радним нитима претходне обраде
  • preprocessing worker - нит за претходну обраду података
  • proxy poller - полер за пасивне проксије
  • proxy group manager - менаџер балансирања оптерећења проксија и високе доступности
  • report manager - менаџер заказаних задатака генерисања извештаја
  • report writer - процес за генерисање заказаних извештаји
  • self-monitoring - процес за прикупљање интерне статистике сервера
  • service manager - процес за управљање услугама примањем информација о проблемима, ознакама проблема и опоравку од проблема из синхронизатора историје, менаџера задатака и менаџера упозорења
  • snmp poller - асинхрони процес поллера за SNMP провере са радном нити (само ставке walk[OID] и get[OID])
  • snmp trapper - трапер за SNMP замке
  • task manager - процес за даљинско извршавање задатака које захтевају друге компоненте (нпр. затварање проблема, потврђивање проблема, вредност ставке за проверу сада, функционалност даљинске команде)
  • timer - тајмер за обраду одржавања
  • trapper - трапер за активне провере, замке, прокси комуникацију
  • trigger housekeeper - процес за уклањање проблема генерисаних окидачима који су обрисани
  • unreachable poller - полер за недоступне уређаје
  • vmware collector - VMware колектор података одговоран за прикупљање података из VMware услуга.

Датотека дневника сервера може се користити за посматрање ових типова процеса.

Различите врсте Процеси Zabbix сервера могу се пратити помоћу zabbix[process,<type>,<mode>,<state>] internalставка.

Статистика трансакција синхронизатора историје

Наслов процеса синхронизатора историје приказује детаљну статистику о трансакцијама синхронизатора историје:

205182 ? S 0:00 zabbix_server: синхронизатор историје #2 [обрађено 0 вредности, 0+0 окидача за 0.000021 (0.000000,0.000000,0.000000,0.000000,0.000000) сек, неактиван 1 сек]
       205183 ? S 0:00 zabbix_server: синхронизатор историје #3 [обрађено 18 вредности, 7+0 окидача за 0.002612 (0.001108,0.000000,0.000000,0.001208,0.000014) сек, неактиван 1 сек]
       205184 ? С 0:00 zabbix_server: синхронизатор историје #4 [обрађено 0 вредности, 0+0 окидача за 0.000027 (0.000000,0.000000,0.000000,0.000000,0.000000) сек, неактивност 1 сек]

У "А+Б окидачи":

  • А - окидачи обрађени због вредности историје;
  • Б - окидачи обрађени због тајмера.

Времена, у "обрађено...за N (<времена>) сек", су:

  • Време проведено у писању вредности ставки у базу података;
  • Време проведено у ажурирању података о ставкама (стање, грешке, инвентар домаћина, итд.);
  • Време проведено у праћењу трендова у базу података;
  • Време проведено у израчунавању окидача;
  • Време проведено у обради догађаја и радњи.

Подржане платформе

Због безбедносних захтева и критичне природе рада сервера, UNIX је једини оперативни систем који може константно да пружи потребне перформансе, толеранцију на грешке и отпорност. Zabbix ради на водећим верзијама на тржишту.

Zabbix сервер је тестиран на следећим платформама:

  • Linux
  • Solaris
  • AIX
  • HP-UX
  • Mac OS X
  • FreeBSD
  • OpenBSD
  • NetBSD
  • SCO Open Server
  • Tru64/OSF1

Zabbix може да ради и на другим оперативним системима сличним Unix-у.

Локалитет

Имајте на уму да сервер захтева UTF-8 локализацију тако да се неке текстуалне ставке могу исправно тумачити. Већина модерних система сличних Unix-у има UTF-8 локализацију као подразумевану, међутим, постоје неки системи где ће то можда морати да се посебно подеси.