Inilabas ang Zabbix 4.2

Ang aming koponan ay labis na nalulugod na ibahagi ang balita na ang isang libre, open source na sistema ng pagsubaybay ay inilabas Zabbix 4.2!

Inilabas ang Zabbix 4.2

Ang bersyon 4.2 ba ang sagot sa pangunahing tanong ng buhay, ang uniberso at pagsubaybay sa pangkalahatan? Tingnan natin!

Alalahanin natin na ang Zabbix ay isang unibersal na sistema para sa pagsubaybay sa pagganap at pagkakaroon ng mga server, kagamitan sa engineering at network, mga aplikasyon, mga database, mga sistema ng virtualization, mga lalagyan, mga serbisyo sa IT, at mga serbisyo sa web.

Ang Zabbix ay nagpapatupad ng isang buong cycle mula sa pagkolekta ng data, pagproseso at pagbabago nito, pagsusuri sa natanggap na data, at nagtatapos sa pag-iimbak ng data na ito, pag-visualize at pagpapadala ng mga alerto gamit ang mga panuntunan sa pagdami. Nagbibigay din ang system ng mga flexible na opsyon para sa pagpapalawak ng mga paraan ng pagkolekta ng data at pag-alerto, pati na rin ang mga kakayahan sa automation sa pamamagitan ng API. Ang isang solong web interface ay nagpapatupad ng sentralisadong pamamahala ng mga pagsasaayos ng pagsubaybay at pamamahagi ng mga karapatan sa pag-access sa iba't ibang grupo ng gumagamit. Ang code ng proyekto ay malayang ipinamamahagi sa ilalim ng lisensya GPLv2.

Ang Zabbix 4.2 ay isang bagong bersyon na hindi LTS na may pinaikling opisyal na panahon ng suporta. Para sa mga user na nakatuon sa mahabang buhay ng mga produkto ng software, inirerekomenda namin ang paggamit ng mga bersyon ng LTS, gaya ng 3.0 at 4.0.

Kaya, pag-usapan natin ang tungkol sa mga bagong feature at malalaking pagpapahusay sa bersyon 4.2:

Higit pang mga opisyal na platform

Inilabas ang Zabbix 4.2
Bilang karagdagan sa mga kasalukuyang opisyal na pakete, nag-aalok din kami ng mga bagong build para sa:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI para sa ahente ng Windows
  • Mga larawan ng docker

Built-in na suporta ng Prometheus para sa pagsubaybay sa aplikasyon

Maaaring mangolekta ng data ang Zabbix sa iba't ibang paraan (push/pull) mula sa iba't ibang data source. Ito ay ang JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, mga ahente at script at iba pang mapagkukunan. Ngayon matugunan ang suporta ng Prometheus!

Sa mahigpit na pagsasalita, ang pagkolekta ng data mula sa mga Prometheus exporter ay naging posible sa nakaraan salamat sa uri ng elemento ng data ng HTTP/HTTPS at mga regular na expression.

Gayunpaman, pinapayagan ka ng bagong bersyon na magtrabaho kasama ang Prometheus nang mahusay hangga't maaari dahil sa built-in na suporta para sa PromQL query language. At ang paggamit ng mga nakadependeng sukatan ay nagbibigay-daan sa iyong mangolekta at magproseso ng data nang pinakamabisa: humiling ka ng data nang isang beses, at pagkatapos ay inaayos namin ito ayon sa mga kinakailangang sukatan.

Inilabas ang Zabbix 4.2
Pagkuha ng halaga ng isang partikular na sukatan

Mahalagang tandaan na ang pagtuklas sa mababang antas ay maaari na ngayong gumamit ng nakolektang data upang awtomatikong makabuo ng mga sukatan. Sa kasong ito, iko-convert ng Zabbix ang natanggap na data sa JSON na format, na napakaginhawang gamitin.

Inilabas ang Zabbix 4.2
Paghahanap ng mga sukatan gamit ang isang filter sa PromQL query language

Sa ngayon ay marami pa 300 pagsasama at pagsubaybay sa mga recipe mga serbisyo at application ng third-party gamit ang Zabbix. Ang suporta ng Prometheus ay magbibigay-daan sa iyo na magdagdag ng isang buong hanay ng mga application na mayroong opisyal o suportado ng komunidad na mga taga-export ng Prometheus. Ito ay pagsubaybay sa mga sikat na serbisyo, container at cloud resources.

Epektibong pagsubaybay sa mataas na dalas

Gusto ba nating makakita ng mga problema sa lalong madaling panahon? Siyempre, walang duda! Mas madalas kaysa sa hindi, ang diskarteng ito ay nagreresulta sa pangangailangan nating mag-poll ng mga device at mangolekta ng data nang masyadong madalas, na naglalagay ng mas malaking load sa monitoring system. Paano ito maiiwasan?

Nagpatupad kami ng mekanismo ng throttling sa mga panuntunan sa preprocessing. Ang throttling, sa esensya, ay nagbibigay sa amin ng pagkakataong laktawan ang magkatulad na mga halaga.

Ipagpalagay natin na sinusubaybayan natin ang estado ng isang kritikal na aplikasyon. Bawat segundo sinusuri namin kung gumagana ang aming application o hindi. Kasabay nito, tumatanggap ang Zabbix ng tuluy-tuloy na stream ng data mula sa 1 (gumagana) at 0 (hindi gumagana). Halimbawa: 1111111111110001111111111111…

Kapag ang lahat ay maayos sa aming aplikasyon, pagkatapos ay tumatanggap ang Zabbix ng daloy ng ilan lamang. Kailangan ba nilang iproseso? Sa pangkalahatan, hindi, dahil interesado lamang kami sa pagbabago ng estado ng application, hindi namin nais na mangolekta at mag-imbak ng napakaraming data. Kaya, binibigyang-daan ka ng throttling na laktawan ang isang halaga kung ito ay kapareho ng nauna. Bilang resulta, makakatanggap lang kami ng data tungkol sa pagbabago ng estado, halimbawa, 01010101... Ito ay sapat na impormasyon upang makita ang mga problema!

Binabalewala lang ng Zabbix ang mga nawawalang halaga, hindi ito naitala sa kasaysayan at hindi nakakaapekto sa mga trigger sa anumang paraan. Mula sa pananaw ni Zabbix, walang nawawalang mga halaga.

Inilabas ang Zabbix 4.2
Huwag pansinin ang mga duplicate na halaga

Malaki! Maaari na kaming mag-poll ng mga device nang napakadalas at agad na makakita ng mga problema nang hindi nag-iimbak ng hindi kinakailangang impormasyon sa isang database.

Paano ang tungkol sa mga graphics? Sila ay walang laman dahil sa kakulangan ng data! At paano mo malalaman kung ang Zabbix ay nangongolekta ng data kung ang karamihan sa data na ito ay nawawala?

Naisip din namin yan! Nag-aalok ang Zabbix ng isa pang uri ng throttling, throttling na may heartbeat.

Inilabas ang Zabbix 4.2
Minsan sa isang minuto, tinitingnan namin kung buhay ang sukatan

Sa kasong ito, ang Zabbix, sa kabila ng paulit-ulit na daloy ng data, ay mag-iimbak ng hindi bababa sa isang halaga sa tinukoy na agwat ng oras. Kung ang data ay nakolekta nang isang beses bawat segundo, at ang pagitan ay nakatakda sa isang minuto, pagkatapos ay gagawin ng Zabbix ang bawat segundong stream ng mga unit sa bawat minutong stream. Madaling makita na humahantong ito sa isang 60-fold na compression ng natanggap na data.

Ngayon ay tiwala kami na ang data ay kinokolekta, ang nodata() trigger function ay gumagana at lahat ay maayos sa mga graph!

Pagpapatunay ng nakolektang data at paghawak ng error

Wala sa amin ang gustong mangolekta ng mali o hindi mapagkakatiwalaang data. Halimbawa, alam namin na ang isang sensor ng temperatura ay dapat magbalik ng data sa pagitan ng 0Β°C at 100Β°C at anumang iba pang value ay dapat ituring na mali at/o hindi pinansin.

Ngayon, posible na ito gamit ang mga panuntunan sa pagpapatunay ng data na binuo sa preprocessing para sa pagsunod o kawalan ng pagsunod sa mga regular na expression, mga hanay ng halaga, JSONPath at XMLPath.

Ngayon ay maaari na nating kontrolin ang reaksyon sa error. Kung wala sa saklaw ang temperatura, maaari nating balewalain ang ganoong halaga, magtakda ng default na halaga (halimbawa, 0Β°C), o tukuyin ang sarili nating mensahe ng error, halimbawa, "Nasira ang sensor" o "Palitan ang baterya."

Inilabas ang Zabbix 4.2
Ang temperatura ay dapat mula 0 hanggang 100, huwag pansinin ang natitira

Ang isang magandang halimbawa ng paggamit ng pagpapatunay ay ang kakayahang suriin ang data ng input para sa pagkakaroon ng mensahe ng error at itakda ang error na ito para sa buong sukatan. Ito ay isang napaka-kapaki-pakinabang na pag-andar kapag kumukuha ng data mula sa mga panlabas na API.

Anumang pagbabago ng data gamit ang JavaScript

Kung hindi sapat para sa amin ang built-in na mga panuntunan sa preprocessing, nag-aalok kami ngayon ng kumpletong kalayaan gamit ang mga custom na script ng JavaScript!

Inilabas ang Zabbix 4.2
Isang linya lang ng code para i-convert ang Fahrenheit sa Celsius

Nagbubukas ito ng walang katapusang mga posibilidad para sa pagproseso ng papasok na data. Ang praktikal na benepisyo ng functionality na ito ay hindi na namin kailangan ang mga external na script na ginamit namin para gawin ang anumang pagmamanipula ng data. Ngayon ang lahat ng ito ay maaaring gawin gamit ang JavaScript.

Ngayon ang pagbabago ng data, pagsasama-sama, mga filter, aritmetika at lohikal na mga operasyon at marami pang iba ay posible!

Inilabas ang Zabbix 4.2
Pagkuha ng kapaki-pakinabang na impormasyon mula sa Apache mod_status output!

Pagsubok sa preprocessing

Ngayon hindi na namin kailangang hulaan kung paano gumagana ang aming mga kumplikadong preprocessing script. Mayroon na ngayong isang maginhawang paraan upang suriin kung gumagana nang tama ang preprocessing nang direkta mula sa interface!

Inilabas ang Zabbix 4.2

Pinoproseso namin ang milyun-milyong sukatan bawat segundo!

Bago ang Zabbix 4.2, ang preprocessing ay eksklusibong pinangangasiwaan ng server ng Zabbix, na naglimita sa kakayahang gumamit ng mga proxy para sa pamamahagi ng load.

Simula sa Zabbix 4.2, nakakakuha kami ng napakahusay na load scaling sa pamamagitan ng suporta para sa proxy-side preprocessing. Ngayon ginagawa ito ng mga proxy!

Inilabas ang Zabbix 4.2

Sa kumbinasyon ng throttling, ang diskarte na ito ay nagbibigay-daan para sa mataas na dalas, malakihang pagsubaybay at milyun-milyong pagsusuri sa bawat segundo, nang hindi nilo-load ang gitnang server ng Zabbix. Pinoproseso ng mga proxy ang napakalaking dami ng data, habang maliit na bahagi lang nito ang nakakaabot sa server ng Zabbix dahil sa pag-throttling, isa o dalawang order ng magnitude na mas mababa.

Mas madaling low-level detection

Alalahanin na ang low-level discovery (LLD) ay isang napakalakas na mekanismo para sa awtomatikong pagtuklas ng anumang uri ng mga mapagkukunan ng pagsubaybay (mga file system, proseso, aplikasyon, serbisyo, atbp.) at awtomatikong paglikha ng mga item ng data, trigger, network node batay sa mga ito at iba pa. mga bagay. Nakakatipid ito ng hindi kapani-paniwalang oras, pinapasimple ang configuration, at nagbibigay-daan sa isang template na magamit sa mga host na may iba't ibang mapagkukunan ng pagsubaybay.

Ang pagtuklas sa mababang antas ay nangangailangan ng espesyal na naka-format na JSON bilang input. Ayan, hindi na mangyayari!

Pinapayagan ng Zabbix 4.2 ang low-level discovery (LLD) na gumamit ng arbitrary na data sa JSON na format. Bakit ito mahalaga? Binibigyang-daan ka nitong makipag-ugnayan, halimbawa, sa mga panlabas na API nang hindi gumagamit ng mga script at ginagamit ang impormasyong natanggap upang awtomatikong lumikha ng mga host, elemento ng data at mga trigger.

Kasama ng suporta sa JavaScript, lumilikha ito ng mga kamangha-manghang pagkakataon para sa paglikha ng mga template para sa pagtatrabaho sa iba't ibang pinagmumulan ng data, tulad ng, halimbawa, mga cloud API, application API, data sa XML, mga CSV na format, at iba pa at iba pa.

Inilabas ang Zabbix 4.2
Pag-uugnay ng JSON sa impormasyon tungkol sa mga proseso sa LLD

Ang mga posibilidad ay talagang walang katapusang!

Suporta sa TimescaleDB

Inilabas ang Zabbix 4.2

Ano ang TimescaleDB? Ito ay regular na PostgreSQL at isang extension module mula sa koponan ng TimescaleDB. Nangangako ang TimescaleDB ng mas mahusay na pagganap dahil sa mas mahusay na mga algorithm at istraktura ng data.

Bilang karagdagan, ang isa pang bentahe ng TimescaleDB ay ang awtomatikong paghahati ng mga talahanayan na may kasaysayan. Mabilis at madaling mapanatili ang TimescaleDB! Bagaman, dapat kong tandaan na ang aming koponan ay hindi pa gumagawa ng isang seryosong paghahambing ng pagganap sa regular na PostgreSQL.

Sa ngayon, ang TimescaleDB ay isang medyo bata at mabilis na umuunlad na produkto. Gamitin nang may pag-iingat!

Madaling pamamahala ng tag

Kung dati ay mapapamahalaan lang ang mga tag sa antas ng trigger, ngayon ay mas flexible na ang pamamahala ng tag. Sinusuportahan ng Zabbix ang mga tag para sa mga template at host!

Lahat ng nakitang problema ay tumatanggap ng mga tag hindi lamang ng trigger, kundi pati na rin ng host, pati na rin ang mga template ng host na ito.

Inilabas ang Zabbix 4.2
Pagtukoy ng mga tag para sa isang network node

Mas flexible na auto-registration

Pinapayagan ka ng Zabbix 4.2 na i-filter ang mga host ayon sa pangalan gamit ang mga regular na expression. Ginagawa nitong posible na lumikha ng iba't ibang mga sitwasyon sa pag-detect para sa iba't ibang grupo ng mga network node. Ito ay lalong maginhawa kung gumagamit kami ng kumplikadong mga panuntunan sa pagpapangalan ng device.

Mas nababaluktot na pagtuklas ng network

Ang isa pang pagpapabuti ay nauugnay sa pagpapangalan ng mga node ng network. Posible na ngayong pamahalaan ang mga pangalan ng device sa panahon ng pagtuklas ng network at makuha ang pangalan ng device mula sa isang sukatan na halaga.

Ito ay isang napakahalagang pag-andar, lalo na para sa pagtuklas ng network gamit ang SNMP at Zabbix agent.

Inilabas ang Zabbix 4.2
Awtomatikong italaga ang lokal na pangalan ng host sa isang nakikitang pangalan

Sinusuri ang functionality ng mga paraan ng notification

Ngayon ay maaari ka nang magpadala sa iyong sarili ng isang pansubok na mensahe nang direkta mula sa Web interface at tingnan kung gumagana ang paraan ng pag-abiso. Ang functionality na ito ay lalong kapaki-pakinabang para sa pagsubok ng mga script para sa pagsasama-sama ng Zabbix sa iba't ibang alert system, task system at iba pang mga panlabas na programa at API.

Inilabas ang Zabbix 4.2

Malayong pagsubaybay sa mga bahagi ng imprastraktura ng Zabbix

Posible na ngayong malayuang subaybayan ang mga panloob na sukatan ng Zabbix server at proxy (mga sukatan ng pagganap at kalusugan ng mga bahagi ng Zabbix).

Para saan ito? Ang pag-andar ay nagbibigay-daan sa iyo upang subaybayan ang mga panloob na sukatan ng mga server at proxy mula sa labas, nagbibigay-daan sa iyo upang mabilis na makita at ipaalam ang tungkol sa mga problema kahit na ang mga bahagi mismo ay na-overload o, halimbawa, mayroong isang malaking halaga ng hindi naipadalang data sa proxy.

Suporta sa format ng HTML para sa mga mensaheng email

Ngayon hindi na kami limitado sa plain text at makakalikha kami ng magagandang e-mail na mensahe, salamat sa suporta ng HTML na format. Oras na para matuto ng HTML + CSS!

Inilabas ang Zabbix 4.2
Ang mga mensahe ay mas madaling maunawaan kahit na may kaunting paggamit ng HTML

Pag-access sa mga panlabas na system mula sa mga network card

Mayroong suporta para sa isang buong hanay ng mga bagong macro sa mga custom na URL para sa mas mahusay na pagsasama ng mga mapa sa mga panlabas na system. Pinapayagan ka nitong magbukas, halimbawa, ng isang tiket sa sistema ng gawain na may isa o dalawang pag-click sa icon ng isang network node.

Inilabas ang Zabbix 4.2
Magbukas ng tiket sa Jira sa isang click

Ang isang panuntunan sa pagtuklas ay maaaring isang dependent na data item

Bakit kailangan ito - tanong mo. Nagbibigay-daan ito sa pinagbabatayan na data ng sukatan na magamit para sa pagtuklas at direktang pangongolekta ng data. Halimbawa, sa kaso ng pagkolekta ng data mula sa isang Prometheus exporter, ang Zabbix ay gagawa ng isang HTTP na kahilingan at agad na gagamitin ang natanggap na impormasyon para sa lahat ng umaasa na elemento ng data: mga halaga ng sukatan at mababang antas ng mga panuntunan sa pagtuklas.

Isang bagong paraan upang mailarawan ang mga problema sa mga mapa

Mayroon na ngayong suporta para sa mga animated na GIF na imahe sa mga mapa para sa mas nakikitang visualization ng mga problema.

Inilabas ang Zabbix 4.2
Ang mga may problemang aparato ay naging mas nakikita

Pagkuha ng data mula sa mga header ng HTTP sa pagsubaybay sa Web

Sa Web Monitoring, naidagdag ang kakayahang pumili ng data mula sa natanggap na HTTP header.

Nagbibigay-daan ito sa iyong gumawa ng multi-step na web monitoring o third-party na API monitoring scenario gamit ang authorization token na nakuha sa isa sa mga hakbang.

Inilabas ang Zabbix 4.2
Pag-extract ng AuthID mula sa header ng HTTP

Ginagamit ng Zabbix Sender ang lahat ng IP address

Nagpapadala na ngayon ng data ang Zabbix Sender sa lahat ng IP address mula sa parameter ng ServerActive sa file ng configuration ng ahente.

Inilabas ang Zabbix 4.2

Maginhawang bagong filter sa configuration ng trigger

Ang page ng configuration ng trigger ay mayroon na ngayong pinalawak na filter para sa mabilis at maginhawang pagpili ng mga trigger batay sa tinukoy na pamantayan.

Inilabas ang Zabbix 4.2
Pagpili ng mga trigger na nauugnay sa serbisyo ng K8S

Ipakita ang eksaktong oras

Ang lahat ay simple dito, ngayon ay ipinapakita ng Zabbix ang eksaktong oras kung kailan mo i-hover ang mouse sa ibabaw ng chart.

Inilabas ang Zabbix 4.2

Iba pang mga inobasyon

  • Nagpatupad ng mas predictable na algorithm para sa pagbabago ng pagkakasunud-sunod ng mga widget sa dashboard
  • Kakayahang baguhin ang mga parameter ng mga prototype ng item ng data
  • Suporta sa IPv6 para sa mga pagsusuri sa DNS: "net.dns" at "new.dns.record"
  • Nagdagdag ng parameter na "laktawan" para sa mga pagsusuri sa "vmware.eventlog".
  • Kasama sa preprocessing step execution error ang step number

Paano ako mag-a-upgrade?

Upang mag-upgrade mula sa mga naunang bersyon, kailangan mo lamang i-install mga bagong binary (mga server at proxy) at isang bagong interface. Awtomatikong ia-update ng Zabbix ang database. Hindi na kailangang mag-install ng mga bagong ahente.

Nagho-host kami ng mga libreng webinar para sa mga gustong matuto nang higit pa tungkol sa Zabbix 4.2 at magkaroon ng pagkakataong magtanong sa koponan ng Zabbix. Mag-sign up!

Huwag kalimutan ang tungkol sa sikat Telegram channel Zabbix community, kung saan maaari kang palaging makakuha ng payo at sagot sa iyong mga tanong sa Russian mula sa mas may karanasan na mga kasamahan, at, kung ikaw ay mapalad, mula sa mga developer mismo ng Zabbix. Inirerekomenda para sa mga nagsisimula pangkat para sa mga nagsisimula.

Kapaki-pakinabang na mga link

- Paglabas ng mga tala
- I-upgrade ang mga tala
- Orihinal na artikulo

Pinagmulan: www.habr.com

Magdagdag ng komento