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
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
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
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.
É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.
De moment n'hi ha més
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.
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.
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".
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!
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!
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!
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!
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.
Les possibilitats són realment infinites!
Suport de TimescaleDB
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ó.
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.
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.
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!
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.
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.
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 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.
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.
Mostra l'hora exacta
Aquí tot és senzill, ara Zabbix mostra l'hora exacta quan passeu el ratolí per sobre del gràfic.
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
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.
No us oblideu del popular
links útils
-
-
-
Font: www.habr.com