Zabbix 4.2 llançat

El nostre equip està molt content de compartir la notícia que s'ha llançat un sistema de monitoratge gratuït i de codi obert Zabbix 4.2!

Zabbix 4.2 llançat

La versió 4.2 és la resposta a la pregunta principal de la vida, l'univers i el monitoratge en general? Fem una ullada!

Recordem que Zabbix és un sistema universal per supervisar el rendiment i la disponibilitat de servidors, equips d'enginyeria i xarxa, aplicacions, bases de dades, sistemes de virtualització, contenidors, serveis informàtics i serveis web.

Zabbix implementa un cicle complet des de la recollida de dades, el seu processament i transformació, l'anàlisi de les dades rebudes i l'emmagatzematge d'aquestes dades, la visualització i l'enviament d'alertes mitjançant regles d'escalada. El sistema també ofereix opcions flexibles per ampliar la recollida de dades i els mètodes d'alerta, així com les capacitats d'automatització mitjançant API. Una única interfície web implementa la gestió centralitzada de les configuracions de monitorització i la distribució de drets d'accés a diversos grups d'usuaris. El codi del projecte es distribueix lliurement sota una llicència GPLv2.

Zabbix 4.2 és una nova versió no LTS amb un període de suport oficial reduït. Per als usuaris que es concentren en un cicle operatiu llarg de productes de programari, recomanem que utilitzin versions LTS, com ara 3.0 i 4.0.

Així doncs, parlem de les noves funcions i millores importants de la versió 4.2:

Més plataformes oficials

Zabbix 4.2 llançat
A més dels paquets oficials existents, també oferim noves versions per a:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • Agent MSI per a Windows
  • Imatges de Docker

Suport integrat de Prometheus per a la supervisió d'aplicacions

Zabbix pot recopilar dades de diverses maneres (empènyer/tirar) de diferents fonts de dades. Aquests són JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agents i scripts i altres fonts. Ara coneix el suport de Prometheus!

En sentit estricte, la recollida de dades dels exportadors de Prometheus era possible en el passat gràcies al tipus d'element de dades HTTP/HTTPS i a les expressions regulars.

Tanmateix, la nova versió us permet treballar amb Prometheus de la manera més eficient possible gràcies al suport integrat per al llenguatge de consulta PromQL. I l'ús de mètriques dependents us permet recollir i processar dades de la manera més eficient: demaneu dades una vegada i després les ordenem segons les mètriques necessàries.

Zabbix 4.2 llançat
Obtenció del valor d'una mètrica específica

És important tenir en compte que ara el descobriment de baix nivell pot utilitzar les dades recopilades per generar mètriques automàticament. En aquest cas, Zabbix converteix les dades rebudes en format JSON, que és molt còmode de treballar.

Zabbix 4.2 llançat
Cercar mètriques mitjançant un filtre en el llenguatge de consulta PromQL

De moment n'hi ha més 300 integracions i receptes de seguiment serveis i aplicacions de tercers que utilitzen Zabbix. El suport de Prometheus us permetrà afegir tot un conjunt d'aplicacions que tinguin exportadors de Prometheus oficials o recolzats per la comunitat. Es tracta del seguiment de serveis populars, contenidors i recursos al núvol.

Monitorització eficaç d'alta freqüència

Volem detectar problemes el més aviat possible? Per descomptat, sens dubte! Molt sovint, aquest enfocament fa que necessitem enquestar dispositius i recopilar dades amb massa freqüència, la qual cosa suposa una càrrega més gran al sistema de monitorització. Com evitar això?

Hem implementat un mecanisme d'acceleració a les regles de preprocessament. L'acceleració, en essència, ens dóna l'oportunitat de saltar-nos valors idèntics.

Suposem que estem supervisant l'estat d'una aplicació crítica. Cada segon comprovem si la nostra aplicació funciona o no. Al mateix temps, Zabbix rep un flux continu de dades d'1 (funcionant) i 0 (no funcionant). Per exemple: 1111111111110001111111111111...

Quan tot està en ordre amb la nostra aplicació, llavors Zabbix rep un flux de només uns. S'han de tramitar? En general, no, com que només ens interessa canviar l'estat de l'aplicació, no volem recollir i emmagatzemar tantes dades. Per tant, l'acceleració us permet saltar un valor si és idèntic a l'anterior. Com a resultat, només rebrem dades sobre el canvi d'estat, per exemple, 01010101... Aquesta és prou informació per detectar problemes!

Zabbix simplement ignora els valors que falten, no es registren a l'historial i no afecten els activadors de cap manera. Des del punt de vista de Zabbix, no hi falten valors.

Zabbix 4.2 llançat
Ignora els valors duplicats

Genial! Ara podem enquestar dispositius amb molta freqüència i detectar problemes a l'instant sense emmagatzemar informació innecessària en una base de dades.

Què passa amb els gràfics? Estaran buits per manca de dades! I com es pot saber si Zabbix està recopilant dades si la majoria d'aquestes dades falten?

Nosaltres també ho hem pensat! Zabbix ofereix un altre tipus d'acceleració, l'acceleració amb el batec del cor.

Zabbix 4.2 llançat
Una vegada per minut comprovem si la mètrica està activa

En aquest cas, Zabbix, malgrat el flux de dades repetit, emmagatzemarà almenys un valor en l'interval de temps especificat. Si les dades es recullen una vegada per segon i l'interval s'estableix en un minut, Zabbix convertirà el flux d'unitats de cada segon en un flux de cada minut. És fàcil veure que això condueix a una compressió de 60 vegades de les dades rebudes.

Ara estem segurs que s'estan recopilant les dades, que la funció activadora nodata() funciona i que tot està bé amb els gràfics!

Validació de les dades recollides i tractament d'errors

Cap de nosaltres vol recollir dades errònies o poc fiables. Per exemple, sabem que un sensor de temperatura hauria de retornar dades entre 0 °C i 100 °C i qualsevol altre valor s'ha de tractar com a fals i/o ignorat.

Ara això és possible mitjançant regles de validació de dades integrades al preprocessament per complir o no complir amb expressions regulars, intervals de valors, JSONPath i XMLPath.

Ara podem controlar la reacció a l'error. Si la temperatura està fora de l'interval, simplement podem ignorar aquest valor, establir un valor predeterminat (per exemple, 0 °C) o definir el nostre propi missatge d'error, per exemple, "Sensor danyat" o "Substitueix la bateria".

Zabbix 4.2 llançat
La temperatura ha de ser de 0 a 100, ignora la resta

Un bon exemple de l'ús de la validació és la possibilitat de comprovar la presència d'un missatge d'error a les dades d'entrada i establir aquest error per a tota la mètrica. Aquesta és una funcionalitat molt útil a l'hora de recuperar dades d'API externes.

Qualsevol transformació de dades utilitzant JavaScript

Si les regles de preprocessament incorporades no fossin suficients per a nosaltres, ara oferim total llibertat mitjançant scripts de JavaScript personalitzats!

Zabbix 4.2 llançat
Només una línia de codi per convertir Fahrenheit a Celsius

Això obre infinites possibilitats per processar dades entrants. El benefici pràctic d'aquesta funcionalitat és que ja no necessitem els scripts externs que hem utilitzat per fer cap manipulació de dades. Ara tot això es pot fer amb JavaScript.

Ara és possible la transformació de dades, l'agregació, els filtres, les operacions aritmètiques i lògiques i molt més!

Zabbix 4.2 llançat
Extraient informació útil de la sortida d'Apache mod_status!

Prova de preprocessament

Ara no hem d'endevinar com funcionen els nostres complexos scripts de preprocessament. Ara hi ha una manera còmoda de comprovar si el preprocessament funciona correctament directament des de la interfície!

Zabbix 4.2 llançat

Processem milions de mètriques per segon!

Abans de Zabbix 4.2, el preprocessament era gestionat exclusivament pel servidor Zabbix, cosa que limitava la capacitat d'utilitzar servidors intermediaris per a la distribució de càrrega.

A partir de Zabbix 4.2, obtenim una escala de càrrega increïblement eficient a causa del suport per al preprocessament al costat del servidor intermediari. Ara els proxies ho fan!

Zabbix 4.2 llançat

En combinació amb l'acceleració, aquest enfocament permet un seguiment d'alta freqüència i a gran escala i milions de comprovacions per segon, sense carregar el servidor central de Zabbix. Els servidors intermediaris processen volums gegantins de dades, mentre que només una petita part arriba al servidor Zabbix a causa de l'acceleració, un o dos ordres de magnitud menys.

Descobriment de baix nivell més fàcil

Recordem que el descobriment de baix nivell (LLD) és un mecanisme molt potent per descobrir automàticament qualsevol tipus de recursos de monitorització (sistemes de fitxers, processos, aplicacions, serveis, etc.) i crear automàticament elements de dades, activadors, nodes de xarxa basats en aquests i altres. objectes. Això estalvia temps increïble, simplifica la configuració i permet que s'utilitzi una plantilla entre hosts amb diferents recursos de supervisió.

El descobriment de baix nivell requereix un JSON amb un format especial com a entrada. Això és tot, ja no passarà!

Zabbix 4.2 permet que el descobriment de baix nivell (LLD) utilitzi dades arbitràries en format JSON. Per què és important? Això us permet comunicar-vos, per exemple, amb API externes sense recórrer a scripts i utilitzar la informació rebuda per crear automàticament amfitrions, elements de dades i activadors.

Juntament amb el suport de JavaScript, això crea oportunitats fantàstiques per crear plantilles per treballar amb diverses fonts de dades, com, per exemple, API de núvol, API d'aplicacions, dades en XML, formats CSV, etc.

Zabbix 4.2 llançat
Enllaçar JSON amb informació sobre processos amb LLD

Les possibilitats són realment infinites!

Suport de TimescaleDB

Zabbix 4.2 llançat

Què és TimescaleDB? Això és PostgreSQL normal i un mòdul d'extensió de l'equip de TimescaleDB. TimescaleDB promet un millor rendiment a causa d'algorismes i estructura de dades més eficients.

A més, un altre avantatge de TimescaleDB és la partició automàtica de taules amb historial. TimescaleDB és ràpid i fàcil de mantenir! Tot i que, he de tenir en compte que el nostre equip encara no ha fet una comparació seriosa del rendiment amb PostgreSQL normal.

De moment, TimescaleDB és un producte bastant jove i de ràpid desenvolupament. Feu servir amb precaució!

Fàcil gestió d'etiquetes

Si abans les etiquetes només es podien gestionar al nivell d'activació, ara la gestió d'etiquetes és molt més flexible. Zabbix admet etiquetes per a plantilles i amfitrions!

Tots els problemes detectats reben etiquetes no només del disparador, sinó també de l'amfitrió, així com de les plantilles d'aquest amfitrió.

Zabbix 4.2 llançat
Definició d'etiquetes per a un node de xarxa

Registre automàtic més flexible

Zabbix 4.2 us permet filtrar els amfitrions per nom mitjançant expressions regulars. Això fa possible crear diferents escenaris de detecció per a diferents grups de nodes de xarxa. És especialment convenient si fem servir regles complexes de denominació de dispositius.

Descobriment de xarxa més flexible

Una altra millora es refereix a la denominació dels nodes de xarxa. Ara és possible gestionar els noms dels dispositius durant el descobriment de la xarxa i obtenir el nom del dispositiu a partir d'un valor mètric.

Aquesta és una funcionalitat molt necessària, especialment per al descobriment de xarxa mitjançant SNMP i l'agent Zabbix.

Zabbix 4.2 llançat
Assigna automàticament el nom d'amfitrió local a un nom visible

Comprovació de la funcionalitat dels mètodes de notificació

Ara podeu enviar-vos un missatge de prova directament des de la interfície web i comprovar si el mètode de notificació funciona. Aquesta funcionalitat és especialment útil per provar scripts per combinar Zabbix amb diversos sistemes d'alerta, sistemes de tasques i altres programes i API externs.

Zabbix 4.2 llançat

Supervisió remota dels components de la infraestructura Zabbix

Ara és possible supervisar de manera remota les mètriques internes del servidor Zabbix i el proxy (mètriques de rendiment i salut dels components Zabbix).

Per a què serveix? La funcionalitat us permet controlar les mètriques internes de servidors i servidors intermediaris des de l'exterior, us permet detectar i notificar ràpidament problemes fins i tot si els components en si estan sobrecarregats o, per exemple, hi ha una gran quantitat de dades no enviades al servidor intermediari.

Suport de format HTML per a missatges de correu electrònic

Ara no ens limitem al text sense format i podem crear bells missatges de correu electrònic, gràcies al suport del format HTML. És hora d'aprendre HTML + CSS!

Zabbix 4.2 llançat
Els missatges són més fàcils d'entendre fins i tot amb un ús mínim d'HTML

Accés a sistemes externs des de targetes de xarxa

Hi ha suport per a tot un conjunt de macros noves en URL personalitzats per a una millor integració dels mapes amb sistemes externs. Això us permet obrir, per exemple, un bitllet al sistema de tasques amb un o dos clics a la icona d'un node de xarxa.

Zabbix 4.2 llançat
Obre un bitllet a Jira amb un sol clic

Una regla de descobriment pot ser un element de dades dependent

Per què és necessari? Això permet que les dades mètriques subjacents s'utilitzin tant per al descobriment com per a la recollida directa de dades. Per exemple, en el cas de recopilar dades d'un exportador de Prometheus, Zabbix farà una sol·licitud HTTP i utilitzarà immediatament la informació rebuda per a tots els elements de dades dependents: valors mètrics i regles de descobriment de baix nivell.

Una nova manera de visualitzar problemes als mapes

Ara hi ha suport per a imatges GIF animades als mapes per a una visualització més visible dels problemes.

Zabbix 4.2 llançat
Els dispositius problemàtics s'han fet més visibles

Extracció de dades de les capçaleres HTTP en el monitoratge web

A Web Monitoring, s'ha afegit la possibilitat de seleccionar dades de la capçalera HTTP rebuda.

Això us permet crear escenaris de supervisió web de diversos passos o de monitorització d'API de tercers mitjançant el testimoni d'autorització obtingut en un dels passos.

Zabbix 4.2 llançat
S'està extraient AuthID de la capçalera HTTP

Zabbix Sender utilitza totes les adreces IP

El Zabbix Sender ara envia dades a totes les adreces IP des del paràmetre ServerActive al fitxer de configuració de l'agent.

Zabbix 4.2 llançat

Nou filtre convenient en la configuració del disparador

La pàgina de configuració de l'activador ara té un filtre ampliat per a una selecció ràpida i còmoda d'activadors en funció de criteris especificats.

Zabbix 4.2 llançat
Seleccionant activadors relacionats amb el servei K8S

Mostra l'hora exacta

Aquí tot és senzill, ara Zabbix mostra l'hora exacta quan passeu el ratolí per sobre del gràfic.

Zabbix 4.2 llançat

Altres innovacions

  • S'ha implementat un algorisme més previsible per canviar l'ordre dels ginys al tauler
  • Capacitat de canviar en massa els paràmetres dels prototips d'elements de dades
  • Suport IPv6 per a comprovacions de DNS: "net.dns" i "new.dns.record"
  • S'ha afegit el paràmetre "skip" per a les comprovacions de "vmware.eventlog".
  • L'error d'execució del pas de preprocessament inclou el número de pas

Com actualitzar?

Per actualitzar des de versions anteriors, només cal instal·lar-lo nous binaris (servidors i proxies) i una nova interfície. Zabbix actualitzarà automàticament la base de dades. No cal instal·lar nous agents.

Oferim seminaris web gratuïts per a aquells que vulguin obtenir més informació sobre Zabbix 4.2 i tenir l'oportunitat de fer preguntes a l'equip de Zabbix. Registra't!

No us oblideu del popular Canal de Telegram Comunitat Zabbix, on sempre podeu obtenir consells i respostes a les vostres preguntes en rus de col·legues més experimentats i, si teniu sort, dels mateixos desenvolupadors de Zabbix. Recomanat per a principiants grup per a principiants.

links útils

- Notes de la versió
- Notes d'actualització
- Article original

Font: www.habr.com

Afegeix comentari