Mids maaie waard ferzje Zabbix 5.0 frijlitten, en wy organisearren in searje online gearkomsten yn ferskate talen om alle feroaringen en ynnovaasjes dúdlik oan 'e mienskip te demonstrearjen. Wy noegje jo út om it rapport te lêzen fan Alexey Vladyshev, útfierend direkteur en skepper fan Zabbix, wêryn hy stap foar stap beskreau wat nij is yn Zabbix 5.0.

Zabbix 4.2 en Zabbix 4.4
Litte wy begjinne mei de wizigingen dy't ferskynden yn 'e Zabbix 4.0-ferzje yn ferbân mei it brûken fan LTS-ferzjes.
Yn ferzje Zabbix 4.2, dy't waard útbrocht yn april 2019, ferskynden de folgjende funksjes:
- Heechfrekwinsje throttlingmonitoring dy't skaalfergrutting en hegere NVPS leveret, wat rapper probleemdeteksje en warskôging betsjut sûnder in swiere lading op Zabbix te setten.
- Gegevens sammelje mei in HTTP-agint.
- Stipe foar gegevenssammeling fan Prometheus Pro.
- Foarferwurking stipet falidaasje en JavaScript, wêrtroch jo alle sammele gegevens kinne transformearje.
- Proxy-side foarferwurking, wêrtroch effisjinter skaalfergrutting mei proxy's mooglik is.
- Ferbettere behear fan tags - meta-ynformaasje op evenemint- en probleemnivo, wat handich is om mei te wurkjen, om't tags wurde stipe sawol op sjabloannivo as op hostnivo.
Ferline septimber waard Zabbix 4.4 frijlitten, dy't de folgjende funksjes oanbean:
- Nije Zabbix-agent.
- Webhook-stipe foar warskôgings en notifikaasjes, wêrtroch yntegraasje mei eksterne systemen mooglik is.
- TimescaleDB-stipe.
- De ynboude kennisbasis foar metriken en triggers is sichtber wurden foar Zabbix-brûkers. Brûkers kinne bygelyks item- en triggerbeskriuwingen brûke yn Monitoring> Lêste gegevens.
- De nije standert foar sjabloanen.
Zabbix 5.0
Hjoed sille wy prate oer de LTS release fan Zabbix 5.0, dy't sil wurde stipe foar 5 jier. Stipe foar ferzje 4.4 einiget nei ien moanne. De LTS-release fan Zabbix 3.0 sil noch 3,5 jier wurde stipe.
Zabbix leveret tafersjoch op in protte dingen, wêrfan de list kin wurde opjûn op 'e side , dêr't monitoring sjabloanen en plugins wurde presintearre, ynklusyf foar de nije agint.

Beskikbere sjabloanen foar tafersjoch en yntegraasje
Dêrneist binne der mooglikheden foar yntegraasje mei ferskate systemen, ynklusyf ticket systemen, ITSM systemen en berjocht levering systemen mei help fan Webhook.

Yntegraasje opsjes
Zabbix 5.0 hat útwreide ynboude stipe foar yntegraasje mei ferskate kaartsjessystemen, lykas warskôgingssystemen:

Yntegraasje mei ferskate systemen
De list mei ynboude sjabloanen foar tafersjoch op applikaasjes en apparaten is útwreide:

Ynboude sjabloanen foar tafersjoch op applikaasjes en apparaten
Alle updates binne beskikber foar download op .
Elke brûker as ûntwikkelder kin meidwaan oan Zabbix mei klearmakke produkten - sjabloanen as plugins, mei in ienfâldige proseduere:
- Undertekenjen fan Zabbix Contributory Agreement (ZCA) op .
- It pleatsen fan in Pull Request op .
- Beoardieling fan 'e applikaasje troch it ûntwikkelteam. As in plugin of sjabloan foldocht oan Zabbix-standerts, is it opnommen yn it produkt en it wurk fan sa'n ûntwikkelder sil offisjeel wurde stipe troch it Zabbix-team.
Zabbix is iepen boarne software dy't kin wurde besjoen, bestudearre en wizige. De brûker wurdt de kâns jûn om it produkt frij te brûken, mei te dwaan oan it ferfine fan it programma, of de koade te brûken foar syn eigen nije programma's. Oan 'e oare kant makket it Zabbix-team alle war om te soargjen dat Zabbix maklik kin wurde ynstalleare op ferskate platfoarms.
Zabbix-ûntwikkelders biede pakketten foar hast alle populêrste distribúsjes en ferskate virtualisaasjeplatfoarms. Derneist kin Zabbix ynstalleare wurde yn in iepenbiere wolk mei ien klik. Zabbix is ek beskikber op Red Hat Openshift of OpenStack platfoarms.

Zabbix-pakketten foar distribúsjes en platfoarms
Stipe foar Zabbix Agent 2 Windows и Linux
De nije Zabbix Agent 2 is ien fan 'e bêste oplossingen op' e merke.
- Biedt in plugin-basearre struktuer en stipet skripts foar gegevenssammeling dy't oerenlang kinne rinne.
- Unterstützt parallelle aktive scans en oanhâldende ferbiningen mei eksterne systemen, wat nuttich is, bygelyks foar effektive databankmonitoring.
- Unterstützt trapen en eveneminten, wat wichtich is foar it kontrolearjen fan bygelyks MQTT-apparaten.
- De nije ferzje fan 'e agint is maklik te ynstallearjen (om't de nije agint alle foarige funksjonaliteit stipet).
Derneist biedt de nije agint yn Zabbix 5.0 stipe foar persistente gegevensopslach. Earder waard net-ferstjoerde ynformaasje allinich opslein yn it buffergeheugen fan 'e agint, mar yn' e nije ferzje is it mooglik om de opslach fan sokke ynformaasje op skiif te konfigurearjen.

Persistente gegevens opslach
Dit is wichtich yn it gefal fan tafersjoch op krityske systemen en ynstabile kommunikaasje, om't in grutte hoemannichte krityske gegevens opslein wurde foardat se nei de Zabbix-tsjinner stjoerd wurde. De opsje is ek nuttich foar satellytferbiningen dy't miskien net foar lange perioaden beskikber binne.
WICHTich! Zabbix 5.0 behâldt stipe foar Zabbix Agent 1.
Feiligensferoarings yn Zabbix 5.0
1. De nije ferzje stipet HTTP-proxy foar webhook, wêrtroch jo ferbiningen meitsje kinne fan 'e Zabbix-tsjinner nei eksterne warskôgingssystemen op in feiliger en kontroleare manier.
As jo in Zabbix-tsjinner op in lokaal netwurk moatte yntegrearje mei in ekstern systeem, bygelyks JIRA yn 'e wolk, kinne jo de ferbining behâlde fia in HTTP-proxy, wat de kontrolearberens en betrouberens fan' e ferbining ferbettert.
2. Foar sawol de âlde as de nije agint is it mooglik om te selektearjen hokker kontrôles beskikber wêze moatte op in bepaalde agint. Jo kinne bygelyks it oantal kontrôles beheine, yn essinsje wite en swarte listen meitsje, en stipe kaaien definiearje.
- Wite list foar MySQL-relatearre kontrôles
AllowKey=mysql[*] DenyKey=* - Swarte list om alle shell-skripts te wegerjen
DenyKey=system.run[*] - Swarte list om tagong te wegerjen ta /etc/wachtwurd
DenyKey=vfs.file.contents[/etc/passwd,*]
3. It is mooglik om fersiferingsalgoritmen te selektearjen foar alle Zabbix-komponinten om it gebrûk fan ûnfeilige sifers foar TLS-ferbiningen te foarkommen. Dit is wichtich foar tafersjoch op omjouwings dêr't bepaalde feiligens noarmen jilde.

Selektearje fersiferingsalgoritmen foar TLS-ferbiningen
4. Zabbix 5.0 yntrodusearre stipe foar fersifere ferbinings mei de databank. Op it stuit binne allinich fersifere ferbiningen mei PostgreSQL en MySQL beskikber.

Fersifere databankferbiningen
5. Zabbix 5.0 wiksele fan MD5 nei SHA256 foar it bewarjen fan brûkerswachtwurd-hashes yn 'e databank, om't dit op it stuit it feilichste algoritme is.
6. Zabbix 5.0 stipet geheime brûkersmakro's om alle gefoelige ynformaasje te bewarjen lykas wachtwurden en API-tokens dy't ein brûkers gjin tagong hawwe.

Geheime makro's
7. Alle Zabbix-ferbiningen mei eksterne systemen en ynterne ferbiningen mei aginten binne feilich. Fersifering wurdt stipe mei TLS-sertifikaten, of it brûken fan in pre-dielde kaaifersifering foar ferbining mei aginten en proxy's, of HTTPS. Feiligens oan 'e agintkant kin wurde ferbettere troch wite en swarte listen. De ynterface wurket fia HTTPS.

Feilige ferbinings
8. SAML-stipe om in inkeld punt fan autentikaasje te leverjen mei in fertroude identiteitstsjinstferliener, sadat brûkersbewizen de firewall net ferlitte.

SAML identiteit
SAML-stipe lit jo Zabbix yntegrearje mei ferskate lokale en wolkidentiteitstsjinstferlieners, lykas Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, lykas Azure, AWS of Google Cloud Platform.
Gebrûksgemak fan Zabbix 5.0
1. Brûker ynterface optimalisearre foar brede skermen. Wy hawwe it menu fan boppen ferpleatst, wêr't altyd romte is foar romte, nei de lofterkant fan it skerm. It menu wurdt noch werjûn yn folsleine, minimale en ferburgen modus.

Ynterface optimalisearre foar breed skerm
2. Kopiearje widgets út panielen kinne jo meitsje nije PANELS hiel fluch. Om dit te dwaan, moatte jo de winske widget selektearje yn it PANEL, klikje op Kopiearje

In widget kopiearje
en ynfoegje de widget yn it winske paniel.

In kopiearre widget plakke
3. Eksportearje grafiken. Om de grafyk te kopiearjen en te stjoeren, bygelyks per e-post, kinne jo de grafyk krije yn PNG-formaat troch de winske widget te selektearjen en te klikken Ofbylding downloade.

Eksportearje grafiken
4. Filter troch tags: Probleem troch earnst en Probleem hosts. It waard bygelyks mooglik om gegevens te sammeljen oer alle problemen ferbûn mei ien netwurkknooppunt yn ien datasintrum.

Filterje op tags
5. Stipe foar modules om de Zabbix-ynterface út te wreidzjen. Om in ûnôfhinklike module te ynstallearjen, moatte jo it kopiearje nei in spesifike map. Modules kinne jo de besteande funksjonaliteit fan 'e ynterface útwreidzje, nije siden oanmeitsje, de menustruktuer feroarje, bygelyks items tafoegje.
Elke brûker kin in module skriuwe en yntegrearje. Om dit te dwaan, wurdt de module kopiearre nei de map modules, wêrnei't it sichtber wurdt foar de ynterface, wêr't it yn- en útskeakele wurde kin.

It tafoegjen fan in nije module
6. Gemak fan navigaasje troch middels ferbûn mei netwurk knopen. de Monitoring> Hosts in list fan apparaten dy't Zabbix kontrolearret wurdt werjûn: hosts, tsjinsten, netwurk apparaten, ensfh Dêrneist flugge navigaasje nei skermen, grafiken en problemen fan spesifike apparaten is beskikber.
Wy hawwe ljeppers fuortsmiten Tafersjoch > Grafiken en tafersjoch > Webs, en alle navigaasje wurdt dien troch Monitoring> Hosts. De werjûn ynformaasje kin wurde filtere, ynklusyf troch tags, wêrtroch jo útskeakele apparaten kinne werjaan

Navigearje fan boarnen yn ferbân mei netwurkknooppunten
Jo kinne bygelyks apparaten selektearje dy't klassifisearre binne as tsjinsten foar ein brûker troch te selektearjen 'Betsjinning', en ek it ynstellen fan it nivo fan belang fan dizze problemen.

Filtering opsjes
7. Nije foarferwurkingsoperaasje - 'Ferfange' kinne jo ferskate nuttige dingen dwaan dy't earder allinich koene wurde dien mei reguliere útdrukkingen, dy't frij kompleks binne foar in protte brûkers.
Ferfange kinne jo eins ferfange ien tekenrige of karakter troch in oar, sadat jo gewoan omsette gegevens ûntfongen yn tekstformaat yn in numerike fertsjintwurdiging.

Ferfange operator
8. JSONPath operator, wêrmei jo attribútnammen yn in handige foarm útpakke kinne

Operator foar JSONPath
9. Lit Zabbix e-postberjochten sjen. Yn eardere ferzjes, alle e-mails fan Zabbix yn 'e map Postfak waarden werjûn yn in list. Begjinnend fan Zabbix 5.0, sille berjochten wurde groepeare per probleem.

Groepearje e-postberjochten fan Zabbix
10. Stypje oanpaste makros foar IPMI foar brûkersnamme en wachtwurd. As geheime makro's wurde brûkt foar de brûkersnamme en wachtwurd, wurdt tagong ta har wearde wegere.

Stipe foar oanpaste makro's
11. Bulk feroaring fan brûker makros foar netwurk knopen. Yn 'e nije ferzje kinne jo in list mei sjabloanen iepenje, in list mei hosts selektearje en makro's tafoegje of de wearden fan besteande makro's feroarje,

Oanpaste makro's tafoegje en bewurkje
en wiskje ek bepaalde of alle makro's fan selektearre sjabloanen foar netwurkknooppunten.

It fuortsmiten fan yndividuele of alle brûkersmakro's
12. Kontrôle fan berjochtformaat op it nivo fan notifikaasjemetoade. de Mediatypen in ljepper ferskynde Media sjabloanen mei berjocht sjabloanen.

Meldingsmetoade Templates
Jo kinne ferskate sjabloanen definiearje foar ferskate berjochttypen.

It definiearjen fan in sjabloan foar in berjochttype
Yn eardere ferzjes moasten jo dizze berjochten beheare op it aksjenivo, it definiearjen fan de standertberjochten en item.

Behear fan sjabloanen op it aktiviteitsnivo
Yn 'e nije ferzje kin alles op it globale nivo definieare wurde, en op it berjochtnivo kinne globale ynstellingen opnij skreaun wurde.

Behear sjabloanen wrâldwiid
Foar de measte brûkers is it genôch om sjabloanformaten te definiearjen op it nivo fan mediametoade. Boppedat, nei it ymportearjen fan in nije notifikaasjemetoade, binne alle oerienkommende sjabloanformaten der al diel fan.
13. Wider gebrûk fan JavaSkript. JavaScript wurdt brûkt foar it foarferwurkjen fan skripts, Webhook, ensfh. Op de kommandorigel is wurkjen mei JavaScript net maklik.
Zabbix 5.0 brûkt in nij hulpprogramma - zabbix_js, dy't JavaSkript útfiert dat gegevens akseptearret, ferwurket en útfierwearden generearret.

zabbix_js utility

Foarbylden fan it brûken fan it hulpprogramma zabbix_js
14. Stipe foar tekst operaasjes mei trigger útdrukkingen kinne jo de ferzjes fan ynstallearre komponinten kontrolearje, wearden fergelykje mei alle konstanten, en de konstante kin in oanpaste makro wêze,
{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}fergelykje de lêste wearde mei de foarige, bygelyks as it giet om tekstgegevens,
{host:text.last()}<>{host.text.prev()}of
{host:text.last(#1)}<>{host.text.prev(#2)}of fergelykje tekstwearden fan ferskate metriken.
{hostA:textA.last()}={hostB:textB.last()}15. Automatisearring en ûntdekking.
- Nije JMX-kontrôles binne beskikber om in list mei JMX-tellers op te heljen en te ûntdekken, wat heul nuttich is foar bygelyks it kontrolearjen fan Java-applikaasjes, en ek it automatisearjen fan it meitsjen fan tafersjochitems, metriken, triggers en grafiken.
jmx.get[]и
jmx.discovery[]
JMX kontrolearret - De nije ferzje befettet in kaai foar it kontrolearjen fan prestaasjetellers. Windows, dat stipe wurdt troch sawol de âlde as de nije aginten yn it Russysk en Ingelsk en bygelyks de deteksje fan it oantal prosessors, bestânssystemen, tsjinsten, ensfh. mooglik makket.

Prestaasjetellers kontrolearje Windows mei in kaai perf_counter - ODBC-monitoring is folle makliker wurden. Earder moasten alle parameters foar ODBC-monitoring beskreaun wurde yn in eksterne bestân /etc/odbc.ini, dy't net tagonklik wie fan 'e Zabbix-ynterface. Yn 'e nije ferzje kinne hast alle parameters diel útmeitsje fan' e metrike kaai.

Metryske kaai mei beskriuwing fan parametersYn 'e nije ferzje kinne jo de servernamme en poarte ynstelle op it metryske nivo, en de namme en wachtwurd foar tagong mei geheime makro's foar feiligens.

Geheime makro's brûke - By it brûken fan it IPMI-protokol foar monitoring fan apparatuer, waard it mooglik om ienfâldiger sjabloanen te meitsjen foar automatisearring ipmi.get.

ipmi.get
16. Testing gegevens eleminten út de ynterface. Zabbix 5.0 yntrodusearre de mooglikheid om guon items te testen en, wichtiger, item sjabloanen fan 'e ynterface.

Testen fan gegevenseleminten
Alle problemen dy't ûntsteane wurde werjûn yn 'e ynterface.

Displaying problemen yn de ynterface
In ferlykber algoritme wurdt brûkt foar item sjabloanen. Derneist, as ien gegevensitem net wurdt stipe, kinne jo útfine wêrom't it mislearre troch gewoan te klikken test.
17. Testing notifikaasje metoaden, dy't ferskynde yn Zabbix 4.4, wurdt bewarre bleaun, dat is wichtich by it yntegrearjen fan Zabbix mei oare systemen, Bygelyks, ticket systemen.

Testmetoade foar notifikaasje
18. Stipe foar oanpaste makros foar item prototypes. Jo kinne LLD-makro's brûke om oanpaste makrowearden te definiearjen.

LLD-makro's brûke om oanpaste makrowearden te definiearjen
19. Float64 data stipe, dy't benammen nedich binne foar it kontrolearjen fan heul grutte wearden, binne ferplicht yn Zabbix om gegevens te stypjen ûntfongen fan Prometheus-aginten.
As jo Zabbix 5.0 ynstallearje, komt automatyske migraasje fan gegevens nei de Float64-standert net foar. De brûker hat noch de opsje om âlde gegevenstypen te brûken. Float64-migraasjeskripts wurde manuell útfierd en feroarje gegevenstypen yn histoaryske tabellen. Automatysk ferfanging wurdt net brûkt omdat it duorret in hiel lang.
20. Ferbettere skalberens fan Zabbix 5.0: ynterfaceoptimalisaasje en opheffing fan knyppunten
- Drop-down-listen, bygelyks foar it selektearjen fan hosts, binne eliminearre om't dizze funksje net skaalber is.
- D'r binne "ynboude" grinzen foar tafelgrutte Oersicht.
- Nije kânsen binne ferskynd yn Monitoring> Hosts> Grafiken.
- De pagingfunksje is ferskynd (Monitoring> Hosts> Web) wêr't it net wie.
21. Ferbettere kompresje
Kompresje yn Zabbix is basearre op in útwreiding foar PostgreSQL - TimescaleDB (sûnt Zabbix 4.4). TimescaleDB leveret automatyske databankferdieling en ferbetteret databankprestaasjes om't TimescaleDB-prestaasjes praktysk ûnôfhinklik is fan databankgrutte.
Yn Zabbix 5.0 Administration > Algemien > Housekeeping Jo kinne bygelyks kompresje fan gegevens âlder dan 7 dagen ynstelle. Dit ferminderet de fereaske skiifromte signifikant (mei hast tsien kear, neffens brûkers), wat de besparring fan skiifromte ferbettert en de prestaasjes ferbettert.

Kompresje mei TimescaleDB
22. SNMP konfigurearje op it ynterfacenivo. Yn Zabbix 5.0, ynstee fan trije soarten gegevenseleminten, wurdt mar ien brûkt - SNMP-agent. Alle SNMP-attributen binne ferpleatst nei it nivo fan hostynterface, wat it mooglik makket om sjabloanen te ferienfâldigjen, te wikseljen tusken SNMP-ferzjes, ensfh.

SNMP konfigurearje op it ynterfacenivo
23. Ofhinklikens fan tafersjoch op de beskikberens fan netwurk knopen op de beskikberens fan in proxy kinne jo it probleem fan proxy-beskikberens as prioriteit werjaan yn gefal fan net-beskikberens fan netwurkknooppunten by it kontrolearjen mei in trigger mei de funksje gjin gegevens:
{HostA:item.nodata(1m)}=1
De beskikberens fan netwurkknooppunten wurdt bepaald troch de beskikberens fan 'e proxy
function gjin gegevens standert hâldt rekken mei de beskikberens fan de proxy. Foar in strangere kontrôle dy't gjin rekken hâldt mei de beskikberens fan 'e proxy, wurdt de twadde parameter brûkt - strikt:
{HostA:item.nodata(1m,strict)}=124. Behear fan lege-nivo ûntdekking regels. Zabbix 5.0 yntrodusearre in LLD-filter wêrmei jo net-stipe deteksjeregels kinne besjen

LLD filter
25. Mooglikheid om it probleem net te erkennen (net te erkennen) lit jo flaters korrigearje en is nuttich by it meitsjen fan workflows dy't ôfhinklik binne fan probleembefêstiging.

Unerkenne it probleem
26. It feroarjen fan lege-nivo ûntdekking regels - de mooglikheid om útsûnderings ta te foegjen by it opspoaren fan objekten as gefolch fan tafersjoch op bestânsystemen, wêrtroch deteksje op leech nivo bepaalde objekten, triggers, gegevenseleminten, ensfh. , útslute objekten, bygelyks tydlike bestânssystemen, fan sykjen, feroarje it ynterval fan gegevensfernijing, ensfh.

Utsluting fan deteksje op leech nivo fan tydlike bestânssystemen
Jo kinne bygelyks it triggerprioriteitsnivo feroarje foar ûntdutsen Oracle-bestânsystemen, wylst jo it triggerprioriteitsnivo foar oare bestânsystemen op itselde nivo litte.

It feroarjen fan it prioriteitsnivo fan triggers foar yndividuele bestânsystemen
27. Nije makro's yn Zabbix 5.0 kinne jo ferbetterje de kwaliteit fan tafersjoch.

Nije makro's yn Zabbix 5.0
28. Oare ynnovaasjes yn Zabbix 5.0:

Ferbetterings yn Zabbix 5.0
29. Ein fan stipe

Net-stipe funksjonaliteit
konklúzje
Opwurdearje nei Zabbix 5.0 is heul maklik! Ynstallearje en útfiere nije serverbinaries en frontend-bestannen, en de server sil jo databank automatysk bywurkje.
Ynformaasje oer de Zabbix-fernijingsproseduere is beskikber op:
WICHTich!
- It opwurdearjen fan histoaryske gegevens nei Float64-formaat is opsjoneel.
- TimescaleDB-gegevens binne allinich lêzen.
- Minimum fereaske ferzje fan PHP7.2.
- DB2 wurdt net stipe as backend foar Zabbix-tsjinner
(!) Fideo's en dia's fan presintaasjes fan Alexey Vladyshev en oare sprekkers by Zabbix Meetup Online (Russysk) kinne wurde besjoen .
Boarne: www.habr.com





