Иако 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 корисничког интерфејса функционалности додавањем модула треће стране или развојем сопствених. Са корисничког интерфејса модулима можете додати нове ставке менија, њихове одговарајуће приказе, акције итд.
Глобални скрипт је кориснички дефинисан скуп команди које се могу извршити на циљу праћења (помоћу интерпретатора шелла (/bin/sh)), у зависности од конфигурисаног опсега и корисничких дозвола. Глобални скриптови могу се конфигурисати за следеће радње:
Глобални скриптови су корисни у многим случајевима. На пример, ако је конфигурисано за акционе операције или ручне акције хоста, можете користити глобалне скрипте да бисте аутоматски или ручно извршавали даљинске команде као што је поновно покретање апликације (веб сервер, посреднички софтвер, CRM, итд.) или ослобађање простора на диску (уклањање старијих датотека, чишћење /tmp
, итд.). Или, други пример, ако је конфигурисано за ручне акције догађаја, можете користити глобалне скрипте за управљање проблематичним тикетима у екстерним системима.
Глобалне скрипте може извршити Zabbix сервер, прокси или агент.
Кориснички дефинисане команде се извршавају од корисника OS-а који се користи за покретање Zabbix компоненти. Да би извршио ове команде, овај корисник мора имати потребне дозволе.
Zabbix API је API заснован на HTTP-у који је део Zabbix корисничког интерфејса. Са Zabbix API-јем можете да урадите било коју од следећих операција:
Zabbix API се састоји од мноштва метода које су номинално груписане у засебне API-је. Свака метода обавља одређени задатак. За доступне методе, као и преглед функција које пружа Zabbix API, погледајте Zabbix API референца методе.