Иако Zabbix нуди мноштво функција, увек постоји простор за додатну функционалност. Екстензије су згодан начин за модификовање и побољшање могућности праћења Zabbix-а без промене његовог изворног кода.
Можете проширити Zabbix функционалност било коришћењем уграђених опција проширења (ставке трапера, кориснички параметри итд.) или коришћењем или креирањем прилагођених екстензија (модули који се могу учитати, додаци итд.).
Овај одељак пружа преглед са референцама на све опције за проширење Zabbix-а.
Трапер ставке су ставке које прихватају долазне податке уместо да их траже. Трапер ставке су корисне за слање одређених података Zabbix серверу или проксију, на пример, периодичне податке о доступности и перформансама у случају дуготрајних корисничких скрипти. Слање података на Zabbix сервер или прокси је могуће помоћу услужног програма Zabbix пошиљалац или Zabbix пошиљаоца протокол. Слање података на Zabbix сервер је такође могуће помоћу API методе history.push
.
спољна провера је ставка за извршавање провера покретањем извршног фајла, на пример, shell script или бинарног фајла.
Спољне провере извршава Zabbix сервер или прокси (када се домаћин надгледа преко проксија), и не захтевају агента који ради на домаћину који се надгледа.
кориснички параметар је кориснички дефинисана команда (повезана са кориснички дефинисаним кључем) који, када се изврши, може да преузме податке који су вам потребни са домаћина на коме је покренут Zabbix агент. Кориснички параметри су корисни за конфигурисање ставки агента или агента 2 које нису унапред дефинисане у Zabbix-у.
system.run[]
Zabbix агентске ставкеsystem.run[]
Zabbix ставка агента је ставка за кориснички дефинисану команду (повезана са унапред дефинисаним кључем system.run[]
, на пример, system.run[myscript.sh]
) који се може извршити на домаћину где је покренут Zabbix агент.
Напомена: ставке system.run[]
су подразумевано онемогућене и, ако се користе, мора бити омогућено (дозвољено) и дефинисано у конфигурационој датотеци Zabbix агента или агента 2 (конфигурациони параметар AllowKey
).
Кориснички дефинисане команде у ставкама као што су екстерне провере, кориснички параметри и ставке system.run[]
Zabbix агента се извршавају од корисника OS-а који се користи за покретање Zabbix компоненти. Да би извршио ове команде, овај корисник мора имати потребне дозволе.
HTTP агент ставка је ставка за извршавање захтева за подацима преко HTTP/HTTPS-а. Ставке HTTP агента су корисне за слање захтева до HTTP крајњих тачака за преузимање података са услуга као што су Elasticsearch и OpenWeatherMap, за проверу статуса Zabbix API-ја или статуса Apache или Nginx веб сервера, итд. Ставке HTTP агента (са омогућеним заробљавањем) такође могу да функционишу као трапер ставке.
ставка скрипте је ставка за извршавање кориснички дефинисаног JavaScript кода који преузима податке преко HTTP/HTTPS-а. Ставке скрипте су корисне када функционалност коју пружају ставке HTTP агента није довољна. На пример, у захтевним сценаријима прикупљања података који захтевају више корака или сложену логику, ставка скрипте може да се конфигурише да упути HTTP позив, а затим да обради примљене податке, а затим проследите трансформисану вредност другом HTTP позиву.
Ставке HTTP агента и ставке скрипте подржавају Zabbix сервер и прокси, и не захтевају агента који ради на домаћину који се надгледа.
Модули који се могу учитати, написани у C, су разноврсни и опција оријентисана на перформансе за проширење функционалности Zabbix компоненти (сервер, прокси, агент) на UNIX платформама. Модул који се може учитати је у основи заједничка библиотека коју користи Zabbix демон и учитава се при покретању. Библиотека треба да садржи одређене функције, тако да Zabbix процес може открити да је датотека заиста модул који може учитати и радити са њим.
Модули који се могу учитати имају бројне предности, укључујући могућност додавања нових метрика или имплементације било које друге логике (на пример, Zabbix извоз података историје), одличне перформансе и могућност развоја, коришћења и дељења функционалности коју пружају. Доприноси одржавању без проблема и помаже да се нове функционалности испоруче лакше и независно од Zabbix базе кода.
Модули који се могу учитати су посебно корисни у сложеном надзору. Када се надгледају уграђени системи, имају велики број праћених параметара или тешке скрипте са сложеном логиком или дугим временом покретања, екстензије као што су кориснички параметри, system.run[]
Zabbix агентске ставке и екстерне провере имаће утицај на перформансе. Модули који се могу учитати нуде начин проширења Zabbix функционалности без жртвовања перформанси.
Додаци пружају алтернативу модулима који се могу учитати (написани у C). Међутим, додаци су начин да се прошири само Zabbix агент 2.
Додатак је Go пакет који дефинише структуру и имплементира један или више интерфејса додатака (Exporter, Collector, Configurator, Runner, Watcher). Подржана су два типа додатака Zabbix агент 2:
– Уграђени додаци (подржано од Zabbix 4.4.0) – Додаци који се могу учитати (подржано од Zabbix-а 6.0.0)
Погледајте листу уграђених додатака.
За упутства и упутства о писању сопствених додатака, погледајте Центар за програмере.
вебхук је Zabbix тип медија то пружа опцију за проширење Zabbix могућности упозорења на спољни софтвер као што су системи за помоћ, разговори или гласници. Слично ставкама скрипте, вебхукови су корисни за упућивање HTTP позива помоћу прилагођеног JavaScript кода, на пример, за слање обавештења на различите платформе као што су Microsoft Teams, Discord и Jira. Такође је могуће вратити неке податке (на пример, о креираним тикетима за подршку) који се затим приказују у Zabbix-у.
Постојећи вебхукови су доступни у Zabbix-у Git спремиште. За прилагођени развој вебхука, погледајте Смернице за развој Вебхука.
скрипта упозорења је Zabbix тип медија који пружа опцију за креирање алтернативног начина (скрипте) за руковање Zabbix упозорењима. Скрипте упозорења су корисне ако нисте задовољни постојећим типовима медија за слање упозорења у Zabbix-у.
Могуће је променити визуелни изглед Zabbix корисничког интерфејса коришћењем прилагођених тема. Видите упутства о креирању и примени сопствених тема.
Кориснички интерфејс модули пружају опцију за проширење Zabbix корисничког интерфејса функционалности додавањем модула треће стране или развојем сопствених. Са корисничког интерфејса модулима можете додати нове ставке менија, њихове одговарајуће приказе, акције итд.
глобална скрипта је кориснички дефинисан скуп команди које се могу извршити на циљу надгледања (преко shell (/bin/sh) тумача), у зависности од конфигурисаног опсега и корисничких дозвола. Глобалне скрипте се могу конфигурисати за следеће радње:
Глобалне скрипте су корисне у многим случајевима. На пример, ако је конфигурисано за радње или ручне радње домаћина, можете користити глобалне скрипте да аутоматски или ручно изврши удаљене команде као што је поновно покретање апликације (веб сервер, средњи софтвер, CRM, итд.) или ослобађање простора на диску (уклањање старијих датотека, чишћење /tmp
, итд.). Или, други пример, ако је конфигурисан за ручне радње догађаја, можете користити глобалне скрипте за управљање тикетима за проблеме у спољним системима.
Глобалне скрипте могу да извршавају Zabbix сервер, прокси или агент.
Кориснички дефинисане команде се извршавају од корисника OS-а који се користи за покретање Zabbix компоненти. Да би извршио ове команде, овај корисник мора имати потребне дозволе.
Zabbix API је API заснован на HTTP-у који је део Zabbix корисничког интерфејса. Са Zabbix API-јем можете да урадите било коју од следећих операција:
Zabbix API се састоји од мноштва метода које су номинално груписане у засебне API-је. Свака метода обавља одређени задатак. За доступне методе, као и преглед функција које пружа Zabbix API, погледајте Zabbix API референца методе.