Us team is tige bliid om it nijs te dielen dat in fergees, iepen boarne monitoringsysteem is frijlitten
Is ferzje 4.2 it antwurd op 'e wichtichste fraach fan it libben, it universum en tafersjoch yn it algemien? Litte wy ris sjen!
Lit ús ûnthâlde dat Zabbix in universele systeem is foar it kontrolearjen fan de prestaasjes en beskikberens fan servers, engineering- en netwurkapparatuer, applikaasjes, databases, virtualisaasjesystemen, konteners, IT-tsjinsten en webtsjinsten.
Zabbix ymplementearret in folsleine syklus fan it sammeljen fan gegevens, ferwurkjen en transformearjen, analysearjen fan de ûntfongen gegevens, en einigje mei it bewarjen fan dizze gegevens, visualisearjen en ferstjoeren fan warskôgings mei eskalaasjeregels. It systeem biedt ek fleksibele opsjes foar it útwreidzjen fan gegevenssammeling en warskôgingsmetoaden, lykas automatisearringsmooglikheden fia API. In inkele webynterface ymplementearret sintralisearre behear fan tafersjochkonfiguraasjes en distribúsje fan tagongsrjochten nei ferskate brûkersgroepen. De projektkoade wurdt frij ferdield ûnder in lisinsje
Zabbix 4.2 is in nije net-LTS-ferzje mei in ferkoarte offisjele stipeperioade. Foar brûkers dy't rjochte binne op in lange libbenssyklus fan softwareprodukten, riede wy oan om LTS-ferzjes te brûken, lykas 3.0 en 4.0.
Dat, lit ús prate oer de nije funksjes en grutte ferbetteringen yn ferzje 4.2:
Mear offisjele platfoarms
Neist de besteande offisjele pakketten biede wy ek nijbou foar:
- RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
- MSI foar Windows-agent
- Docker-ôfbyldings
Ynboude Prometheus-stipe foar applikaasjemonitoring
Zabbix kin gegevens sammelje op ferskate manieren (push / pull) fan ferskate gegevensboarnen. Dit binne JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, aginten en skripts en oare boarnen. Moetsje no Prometheus-stipe!
Strikt sjoen wie it sammeljen fan gegevens fan Prometheus-eksporteurs yn it ferline mooglik troch it type HTTP/HTTPS-gegevenselemint en reguliere útdrukkingen.
De nije ferzje lit jo lykwols sa effisjint mooglik mei Prometheus wurkje troch ynboude stipe foar de PromQL-fraachtaal. En mei it brûken fan ôfhinklike metriken kinne jo gegevens it effisjinter sammelje en ferwurkje: jo freegje ien kear om gegevens, en dan sortearje wy it út neffens de nedige metriken.
It is wichtich om te notearjen dat ûntdekking op leech nivo no sammele gegevens kin brûke om automatysk metriken te generearjen. Yn dit gefal konvertearret Zabbix de ûntfongen gegevens yn JSON-formaat, wat heul handich is om mei te wurkjen.
Op it stuit binne der mear
Effektive hege frekwinsje tafersjoch
Wolle wy problemen sa gau mooglik opspoare? Fansels, sûnder twifel! Faker as net resultearret dizze oanpak yn dat wy apparaten moatte peilje en gegevens te faak sammelje, wat in gruttere lêst op it tafersjochsysteem leit. Hoe kinne jo dit foarkomme?
Wy hawwe in smoarchmeganisme ymplementearre yn 'e regels foar foarferwurking. Throttling, yn essinsje, jout ús de kâns om identike wearden oer te slaan.
Litte wy oannimme dat wy de tastân fan in krityske applikaasje kontrolearje. Elke sekonde kontrolearje wy oft ús applikaasje wurket of net. Tagelyk ûntfangt Zabbix in trochgeande stream fan gegevens fan 1 (wurkjend) en 0 (net wurkje). Bygelyks: 1111111111110001111111111111…
As alles yn oarder is mei ús applikaasje, dan krijt Zabbix in stream fan mar ien. Moatte se ferwurke wurde? Yn 't algemien nee, om't wy allinich ynteressearre binne yn it feroarjen fan' e tastân fan 'e applikaasje, wolle wy net safolle gegevens sammelje en opslaan. Dat, throttling lit jo in wearde oerslaan as it identyk is oan de foarige. As gefolch krije wy allinich gegevens oer de steatswiziging, bygelyks 01010101 ... Dit is genôch ynformaasje om problemen te ûntdekken!
Zabbix negearret gewoan ûntbrekkende wearden, se wurde net opnommen yn 'e skiednis en hawwe gjin ynfloed op triggers op ien of oare manier. Fanút it eachpunt fan Zabbix ûntbrekke d'r gjin wearden.
Grut! Wy kinne no apparaten heul faak ûndersochte en problemen direkt ûntdekke sûnder ûnnedige ynformaasje yn in databank op te slaan.
Hoe sit it mei de grafiken? Se sille leech wêze fanwege gebrek oan gegevens! En hoe kinne jo fertelle as Zabbix gegevens sammelt as de measte fan dizze gegevens ûntbrekt?
Dêr ha wy ek oer neitocht! Zabbix biedt in oar type throttling, throttling mei hertslach.
Yn dit gefal sil Zabbix, nettsjinsteande de werhellende gegevensstream, op syn minst ien wearde opslaan yn it opjûne tiidynterval. As gegevens ien kear per sekonde wurde sammele, en it ynterval is ynsteld op ien minút, dan sil Zabbix de elke twadde stream fan ienheden omsette yn in elke minút stream. It is maklik om te sjen dat dit liedt ta in 60-fâldige kompresje fan 'e ûntfongen gegevens.
No binne wy der wis fan dat de gegevens wurde sammele, de nodata() triggerfunksje wurket en alles is goed mei de grafiken!
Validaasje fan sammele gegevens en flaterôfhanneling
Net ien fan ús wol ferkearde of ûnbetroubere gegevens sammelje. Bygelyks, wy witte dat in temperatuer sensor moat weromjaan gegevens tusken 0 ° C en 100 ° C en eltse oare wearde moat wurde beskôge as falsk en / of negearre.
No is dit mooglik mei it brûken fan gegevensvalidaasjeregels ynboud yn foarferwurking foar neilibjen of gebrek oan konformiteit mei reguliere útdrukkingen, weardeberiken, JSONPath en XMLPath.
No kinne wy de reaksje op 'e flater kontrolearje. As de temperatuer bûten berik is, dan kinne wy sa'n wearde gewoan negearje, in standertwearde ynstelle (bygelyks 0 ° C), of ús eigen flaterberjocht definiearje, bygelyks "Sensor skansearre" of "Batterij ferfange."
In goed foarbyld fan it brûken fan falidaasje is de mooglikheid om ynputgegevens te kontrolearjen foar de oanwêzigens fan in flaterberjocht en dizze flater yn te stellen foar de folsleine metrik. Dit is in heul nuttige funksjonaliteit by it opheljen fan gegevens fan eksterne API's.
Elke gegevenstransformaasje mei JavaScript
As ynboude regels foar foarferwurking net genôch foar ús wiene, biede wy no folsleine frijheid mei gebrûk fan oanpaste JavaScript-skripts!
Dit iepenet einleaze mooglikheden foar it ferwurkjen fan ynkommende gegevens. It praktyske foardiel fan dizze funksjonaliteit is dat wy de eksterne skripts net mear nedich hawwe dy't wy brûkten om gegevensmanipulaasje te dwaan. No kin dit alles dien wurde mei JavaScript.
No binne gegevenstransformaasje, aggregaasje, filters, rekenkundige en logyske operaasjes en folle mear mooglik!
Testing foarferwurking
No hoege wy net te rieden hoe't ús komplekse foarferwurkingsskripts wurkje. D'r is no in handige manier om te kontrolearjen oft de foarferwurking goed wurket direkt fanút de ynterface!
Wy ferwurkje miljoenen metriken per sekonde!
Foar Zabbix 4.2 waard foarferwurking eksklusyf behannele troch de Zabbix-tsjinner, dy't de mooglikheid beheine om proxy's te brûken foar loaddistribúsje.
Begjinnend mei Zabbix 4.2, krije wy ongelooflijk effisjinte skaalfergrutting troch stipe foar proxy-side-foarferwurking. No dogge proxies it!
Yn kombinaasje mei throttling soarget dizze oanpak foar hege frekwinsje, grutskalige tafersjoch en miljoenen kontrôles per sekonde, sûnder de sintrale Zabbix-tsjinner te laden. Proxies ferwurkje gigantyske voluminten fan gegevens, wylst mar in lyts diel dêrfan de Zabbix-tsjinner berikt troch smoarch, ien of twa oarders fan grutte minder.
Makliker deteksje op leech nivo
Tink derom dat ûntdekking op leech nivo (LLD) in heul krêftich meganisme is foar it automatysk ûntdekken fan elke soart tafersjochboarnen (bestânsystemen, prosessen, applikaasjes, tsjinsten, ensfh.) en automatysk gegevensitems, triggers, netwurkknooppunten te meitsjen basearre op har en oare objekten. Dit besparret ongelooflijke tiid, simplifies konfiguraasje, en lit ien sjabloan brûkt wurde oer hosts mei ferskate tafersjochboarnen.
Untdekking op leech nivo fereasket spesjaal opmakke JSON as ynfier. Dat is it, it sil net mear barre!
Zabbix 4.2 lit ûntdekking op leech nivo (LLD) arbitrêre gegevens yn JSON-formaat brûke. Wêrom is it wichtich? Hjirmei kinne jo kommunisearje, bygelyks mei eksterne API's sûnder skripts te brûken en de ûntfongen ynformaasje te brûken om automatysk hosts, gegevenseleminten en triggers te meitsjen.
Yn kombinaasje mei JavaScript-stipe soarget dit foar fantastyske mooglikheden foar it meitsjen fan sjabloanen foar it wurkjen mei ferskate gegevensboarnen, lykas bygelyks wolk API's, applikaasje-API's, gegevens yn XML, CSV-formaten, ensafuorthinne.
De mooglikheden binne wirklik einleaze!
TimescaleDB-stipe
Wat is TimescaleDB? Dit is gewoan PostgreSQL plus in útwreidingsmodule fan it TimescaleDB-team. TimescaleDB belooft bettere prestaasjes troch effisjintere algoritmen en gegevensstruktuer.
Derneist is in oar foardiel fan TimescaleDB de automatyske ferdieling fan tabellen mei skiednis. TimescaleDB is rap en maklik te ûnderhâlden! Hoewol, ik moat opmerke dat ús team noch gjin serieuze prestaasjesfergeliking hat makke mei reguliere PostgreSQL.
Op it stuit is TimescaleDB in frij jong en rap ûntwikkeljend produkt. Brûk mei foarsichtigens!
Maklik tag behear
As earder tags allinich koenen wurde beheard op it triggernivo, is tagbehear no folle fleksibeler. Zabbix stipet tags foar sjabloanen en hosts!
Alle ûntdutsen problemen ûntfange tags net allinich fan 'e trigger, mar ek fan' e host, lykas de sjabloanen fan dizze host.
It definiearjen fan tags foar in netwurkknooppunt
Mear fleksibele auto-registraasje
Zabbix 4.2 lit jo hosts filterje op namme mei reguliere útdrukkingen. Dit makket it mooglik om ferskate deteksjescenario's te meitsjen foar ferskate groepen netwurkknooppunten. It is foaral handich as wy komplekse regels foar apparaatnamme brûke.
Mear fleksibele netwurk ûntdekking
In oare ferbettering hat te krijen mei de nammejouwing fan netwurkknooppunten. It is no mooglik apparaatnammen te behearjen by netwurkûntdekking en de apparaatnamme te krijen fan in metryske wearde.
Dit is in heul needsaaklike funksjonaliteit, foaral foar netwurkûntdekking mei SNMP en Zabbix-agent.
Kontrolearje de funksjonaliteit fan notifikaasjemetoaden
No kinne jo sels in testberjocht direkt stjoere fan 'e webynterface en kontrolearje oft de notifikaasjemetoade wurket. Dizze funksjonaliteit is benammen nuttich foar it testen fan skripts foar it kombinearjen fan Zabbix mei ferskate warskôgingssystemen, taaksystemen en oare eksterne programma's en API's.
Tafersjoch op ôfstân fan Zabbix-ynfrastruktuerkomponinten
It is no mooglik om ynterne metriken fan 'e Zabbix-tsjinner en proxy op ôfstân te kontrolearjen (prestaasjesmetriken en sûnens fan Zabbix-komponinten).
Wêr is it foar? De funksjonaliteit lit jo ynterne metriken fan servers en proxy's fan bûten ta kontrolearje, kinne jo fluch detectearje en ynformearje oer problemen, sels as de komponinten sels oerladen binne of, bygelyks, d'r in grutte hoemannichte net-ferstjoerde gegevens op 'e proxy is.
HTML-formaat stipe foar e-postberjochten
No binne wy net beheind ta platte tekst en kinne prachtige e-postberjochten meitsje, tanksij de stipe fan it HTML-formaat. It is tiid om HTML + CSS te learen!
Tagong ta eksterne systemen út netwurk kaarten
D'r is stipe foar in heule set nije makro's yn oanpaste URL's foar bettere yntegraasje fan kaarten mei eksterne systemen. Hjirmei kinne jo bygelyks in kaartsje iepenje yn it taaksysteem mei ien of twa klikken op it ikoan fan in netwurkknooppunt.
In ûntdekkingsregel kin in ôfhinklik gegevensitem wêze
Wêrom is dit nedich - jo freegje. Hjirmei kinne de ûnderlizzende metryske gegevens brûkt wurde foar sawol ûntdekking as direkte gegevenssammeling. Bygelyks, yn it gefal fan it sammeljen fan gegevens fan in Prometheus-eksporteur, sil Zabbix ien HTTP-fersyk meitsje en de ûntfongen ynformaasje fuortendaliks brûke foar alle ôfhinklike gegevenseleminten: metryske wearden en ûntdekkingsregels op leech nivo.
In nije manier om problemen op kaarten te visualisearjen
D'r is no stipe foar animearre GIF-ôfbyldings op kaarten foar mear sichtbere fisualisaasje fan problemen.
Gegevens ekstrahearje fan HTTP-headers yn webmonitoring
Yn Web Monitoring is de mooglikheid om gegevens te selektearjen fan 'e ûntfongen HTTP-header tafoege.
Hjirmei kinne jo multi-stap webmonitoring of API-monitoringssenario's fan tredden meitsje mei it autorisaasjetoken krigen yn ien fan 'e stappen.
Zabbix Sender brûkt alle IP-adressen
Zabbix Sender stjoert no gegevens nei alle IP-adressen fan de ServerActive-parameter yn it agentkonfiguraasjetriem.
Handich nij filter yn triggerkonfiguraasje
De triggerkonfiguraasjeside hat no in útwreide filter foar flugge en handige seleksje fan triggers basearre op spesifisearre kritearia.
Lit de krekte tiid sjen
Alles is hjir ienfâldich, no lit Zabbix de krekte tiid sjen as jo de mûs oer de kaart hâlde.
Oare ynnovaasjes
- Implementearre in mear foarsisber algoritme foar it feroarjen fan de folchoarder fan widgets yn it dashboard
- Mooglikheid om parameters massa te feroarjen fan prototypen fan gegevensitems
- IPv6-stipe foar DNS-kontrôles: "net.dns" en "new.dns.record"
- Added "skip" parameter foar "vmware.eventlog" kontrôles
- Foarferwurkingsstap útfieringsflater omfettet stapnûmer
Hoe kin ik upgrade?
Om te upgrade fan eardere ferzjes hoege jo allinich te ynstallearjen
Wy hostje fergese webinars foar dyjingen dy't mear wolle leare oer Zabbix 4.2 en de kâns hawwe om fragen te stellen oan it Zabbix-team.
Ferjit net oer de populêre
Nuttige keppelings
-
-
-
Boarne: www.habr.com