19 Paplašinājumi
Pārskats
Lai gan Zabbix piedāvā plašu funkciju klāstu, vienmēr ir vieta papildu funkcionalitātei. Paplašinājumi ir ērts veids, kā modificēt un uzlabot Zabbix uzraudzības iespējas, nemainot tā pirmkodu.
Jūs varat paplašināt Zabbix funkcionalitāti, izmantojot vai nu iebūvētās paplašināšanas iespējas (trapper vienumi, lietotāja parametri u.c.), vai arī izmantojot vai veidojot pielāgotus paplašinājumus (ielādējamus moduļus, spraudņus u.c.).
Šajā sadaļā ir sniegts pārskats ar atsaucēm uz visām Zabbix paplašināšanas iespējām.
Datu vākšana ar pielāgotām komandām
Trapper vienumi
Trapper vienumi ir vienumi, kas pieņem ienākošos datus, nevis tos pieprasa.
Trapper vienumi ir noderīgi, lai nosūtītu konkrētus datus uz Zabbix serveri vai starpniekserveri, piemēram, periodiskus pieejamības un veiktspējas datus ilgstoši darbojošos lietotāja skriptu gadījumā.
Datu nosūtīšana uz Zabbix serveri vai starpniekserveri ir iespējama, izmantojot utilītu Zabbix sender vai Zabbix sender protocol.
Datu nosūtīšana uz Zabbix serveri ir iespējama arī, izmantojot API metodi history.push.
Ārējās pārbaudes
Ārējā pārbaude ir vienums, kas paredzēts pārbaužu izpildei, palaižot izpildāmu failu, piemēram, čaulas skriptu vai bināro failu.
Ārējās pārbaudes izpilda Zabbix serveris vai starpniekserveris (ja hosts tiek uzraudzīts ar starpniekserveri), un tām nav nepieciešams aģents, kas darbojas uz uzraugāmā hosta.
Lietotāja parametri
User parameter ir lietotāja definēta komanda (saistīta ar lietotāja definētu atslēgu), kura, izpildot to, var iegūt jums nepieciešamos datus no hosta, kur darbojas Zabbix aģents. Lietotāja parametri ir noderīgi, lai konfigurētu aģenta vai aģenta 2 vienumus, kas nav iepriekš definēti Zabbix.
system.run[] Zabbix aģenta vienumi
system.run[] Zabbix aģenta vienums
ir vienums lietotāja definētai komandai (saistīts ar iepriekš definētu atslēgu system.run[],
piemēram, system.run[myscript.sh]), ko var izpildīt hostā, kur darbojas Zabbix aģents.
Piezīme: system.run[] vienumi pēc noklusējuma ir atspējoti, un, ja tie tiek izmantoti,
tie ir jāiespējo (atļauti) un jādefinē
Zabbix aģenta vai aģenta 2 konfigurācijas failā (konfigurācijas parametrs AllowKey).
Lietotāja definētas komandas vienumos, piemēram, ārējās pārbaudēs, lietotāja parametros un system.run[] Zabbix aģenta vienumos,
tiek izpildītas no OS lietotāja, kas tiek izmantots Zabbix komponentu darbināšanai.
Lai izpildītu šīs komandas, šim lietotājam jābūt nepieciešamajām atļaujām.
HTTP aģenta vienumi
HTTP aģenta vienums ir vienums datu pieprasījumu izpildei, izmantojot HTTP/HTTPS. HTTP aģenta vienumi ir noderīgi pieprasījumu sūtīšanai uz HTTP galapunktiem, lai izgūtu datus no tādiem pakalpojumiem kā Elasticsearch un OpenWeatherMap, pārbaudītu Zabbix API statusu vai Apache vai Nginx tīmekļa servera statusu utt. HTTP aģenta vienumi (ar iespējotu uztveršanu) var darboties arī kā trapper vienumi.
Skripta vienumi
Skripta vienums ir vienums lietotāja definēta JavaScript koda izpildei, kas iegūst datus, izmantojot HTTP/HTTPS. Skripta vienumi ir noderīgi, ja ar HTTP aģenta vienumu nodrošināto funkcionalitāti nepietiek. Piemēram, sarežģītos datu vākšanas scenārijos, kuros nepieciešami vairāki soļi vai sarežģīta loģika, skripta vienumu var konfigurēt tā, lai tas veiktu HTTP izsaukumu, pēc tam apstrādātu saņemtos datus un pēc tam nodotu pārveidoto vērtību otram HTTP izsaukumam.
HTTP aģenta vienumus un skriptu vienumus atbalsta Zabbix serveris un starpniekserveris, un tiem nav nepieciešams aģents, kas darbojas uz uzraugāmā hosta.
Paplašinātie paplašinājumi
Ielādējamie moduļi
C valodā rakstīti ielādējamie moduļi ir daudzpusīga un uz veiktspēju orientēta iespēja paplašināt Zabbix komponentu (serveris, starpniekserveris, aģents) funkcionalitāti UNIX platformās. Ielādējamais modulis būtībā ir koplietojama bibliotēka, ko izmanto Zabbix dēmons un kas tiek ielādēta palaišanas laikā. Bibliotēkai jāsatur noteiktas funkcijas, lai Zabbix process varētu noteikt, ka fails patiešām ir modulis, ko tas var ielādēt un izmantot.
Ielādējamiem moduļiem ir vairākas priekšrocības, tostarp iespēja pievienot jaunus metriku veidus vai ieviest jebkādu citu loģiku (piemēram, Zabbix vēstures datu eksportu), augsta veiktspēja, kā arī iespēja izstrādāt, izmantot un koplietot to nodrošināto funkcionalitāti. Tas veicina bezproblēmu uzturēšanu un palīdz vieglāk ieviest jaunu funkcionalitāti neatkarīgi no Zabbix kodola koda bāzes.
Ielādējamie moduļi ir īpaši noderīgi sarežģītā uzraudzības vidē.
Uzraugot iegultās sistēmas, ja ir liels skaits uzraugāmo parametru
vai tiek izmantoti apjomīgi skripti ar sarežģītu loģiku vai ilgu palaišanas laiku,
tādi paplašinājumi kā lietotāja parametri, system.run[] Zabbix aģenta vienumi un ārējās pārbaudes
ietekmēs veiktspēju.
Ielādējamie moduļi piedāvā veidu, kā paplašināt Zabbix funkcionalitāti, nezaudējot veiktspēju.
Spraudņi
Spraudņi paplašina Zabbix aģents 2 uzraudzības iespējas. Rakstīti Go programmēšanas valodā, tie nodrošina alternatīvu ielādējamiem moduļiem (rakstītiem C valodā).
Spraudnis ir Go pakotne, kas definē struktūru un ievieš vienu vai vairākas spraudņu saskarnes (Exporter, Collector, Configurator, Runner, Watcher). Tiek atbalstīti divu veidu Zabbix aģents 2 spraudņi:
- Iebūvētie spraudņi (atbalstīti kopš Zabbix 4.4.0)
- Ielādējamie spraudņi (atbalstīti kopš Zabbix 6.0.0)
Skatiet Zabbix nodrošināto spraudņu sarakstu.
Norādījumus un pamācības par savu spraudņu izveidi skatiet Izstrādātāju centrā.
Brīdinājumu pielāgošana
Webhook
Webhook ir Zabbix medija tips, kas nodrošina iespēju paplašināt Zabbix brīdināšanas iespējas, integrējot to ar ārējo programmatūru, piemēram, palīdzības dienesta sistēmām, tērzēšanas rīkiem vai ziņapmaiņas lietotnēm. Līdzīgi kā skriptu vienumi, webhook ir noderīgi HTTP izsaukumu veikšanai, izmantojot pielāgotu JavaScript kodu, piemēram, lai nosūtītu paziņojumus uz dažādām platformām, piemēram, Microsoft Teams, Discord un Jira. Ir iespējams arī atgriezt noteiktus datus (piemēram, par izveidotajiem palīdzības dienesta pieteikumiem), kas pēc tam tiek attēloti Zabbix.
Esošie webhook ir pieejami Zabbix Git repozitorijā. Lai izstrādātu pielāgotus webhook, skatiet Webhook izstrādes vadlīnijas.
Brīdinājumu skripti
Brīdinājumu skripts ir Zabbix medija tips, kas nodrošina iespēju izveidot alternatīvu veidu (skriptu) Zabbix brīdinājumu apstrādei. Brīdinājumu skripti ir noderīgi, ja jūs neapmierina esošie mediju tipi brīdinājumu nosūtīšanai Zabbix.
Lietotāja saskarnes pielāgošana
Pielāgotas tēmas
Ir iespējams mainīt Zabbix lietotāja saskarne vizuālo izskatu, izmantojot pielāgotas tēmas. Skatiet instructions par savu tēmu izveidi un piemērošanu.
Lietotāja saskarnes moduļi
Lietotāja saskarnes moduļi nodrošina iespēju paplašināt Zabbix lietotāja saskarnes funkcionalitāti, pievienojot trešo pušu moduļus vai izstrādājot savus. Ar lietotāja saskarnes moduļiem varat pievienot jaunus izvēlnes vienumus, tiem atbilstošos skatus, darbības u.c.
Globālie skripti
Globālais skripts ir lietotāja definēta komandu kopa, ko var izpildīt uzraudzības mērķī (ar čaulas (/bin/sh) interpretētāju), atkarībā no konfigurētās darbības jomas un lietotāja atļaujām. Globālos skriptus var konfigurēt šādām darbībām:
Globālie skripti ir noderīgi daudzos gadījumos.
Piemēram, ja tie ir konfigurēti darbību operācijām vai manuālām hosta darbībām, varat izmantot globālos skriptus,
lai automātiski vai manuāli izpildītu attālinātās komandas,
piemēram, lietojumprogrammas restartēšanu (tīmekļa serveris, starpprogrammatūra, CRM u.c.)
vai diska vietas atbrīvošanu (vecāku failu dzēšana, /tmp tīrīšana u.c.).
Vai arī, cits piemērs, ja tie ir konfigurēti manuālām notikumu darbībām,
varat izmantot globālos skriptus, lai pārvaldītu problēmu pieteikumus ārējās sistēmās.
Globālos skriptus var izpildīt Zabbix serveris, starpniekserveris vai aģents.
Lietotāja definētās komandas tiek izpildītas no OS lietotāja, kas tiek izmantots Zabbix komponentu darbināšanai. Lai izpildītu šīs komandas, šim lietotājam jābūt nepieciešamajām atļaujām.
Zabbix API
Zabbix API ir uz HTTP balstīts API, kas ir daļa no Zabbix lietotāja saskarnes. Izmantojot Zabbix API, jūs varat veikt jebkuru no šādām darbībām:
- Programmatiski izgūt un mainīt Zabbix konfigurāciju.
- Importēt un eksportēt Zabbix konfigurāciju.
- Piekļūt Zabbix vēsturiskajiem un tendenču datiem.
- Konfigurēt lietojumprogrammas darbam ar Zabbix.
- Integrēt Zabbix ar trešo pušu programmatūru.
- Automatizēt ikdienas uzdevumus.
Zabbix API sastāv no daudzām metodēm, kas nosacīti ir sagrupētas atsevišķos API. Katra metode veic konkrētu uzdevumu. Par pieejamajām metodēm, kā arī Zabbix API nodrošināto funkciju pārskatu skatiet Zabbix API Method reference.