Zabbix 4.2 dikeluarkan

Pasukan kami amat berbesar hati untuk berkongsi berita bahawa sistem pemantauan sumber terbuka percuma telah dikeluarkan Zabbix 4.2!

Zabbix 4.2 dikeluarkan

Adakah versi 4.2 jawapan kepada persoalan utama kehidupan, alam semesta dan pemantauan secara umum? Jom tengok!

Mari kita ingat bahawa Zabbix ialah sistem universal untuk memantau prestasi dan ketersediaan pelayan, peralatan kejuruteraan dan rangkaian, aplikasi, pangkalan data, sistem virtualisasi, bekas, perkhidmatan IT dan perkhidmatan web.

Zabbix melaksanakan kitaran penuh daripada mengumpul data, memproses dan mengubahnya, menganalisis data yang diterima dan berakhir dengan menyimpan data ini, menggambarkan dan menghantar makluman menggunakan peraturan peningkatan. Sistem ini juga menyediakan pilihan yang fleksibel untuk mengembangkan kaedah pengumpulan dan amaran data, serta keupayaan automasi melalui API. Antara muka web tunggal melaksanakan pengurusan terpusat bagi konfigurasi pemantauan dan pengagihan hak akses kepada pelbagai kumpulan pengguna. Kod projek diedarkan secara bebas di bawah lesen GPLv2.

Zabbix 4.2 ialah versi bukan LTS baharu dengan tempoh sokongan rasmi yang dipendekkan. Bagi pengguna yang menumpukan pada kitaran hayat produk perisian yang panjang, kami mengesyorkan menggunakan versi LTS, seperti 3.0 dan 4.0.

Jadi, mari kita bincangkan tentang ciri baharu dan penambahbaikan utama dalam versi 4.2:

Lebih banyak platform rasmi

Zabbix 4.2 dikeluarkan
Sebagai tambahan kepada pakej rasmi sedia ada, kami juga menawarkan binaan baharu untuk:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI untuk ejen Windows
  • Imej Docker

Sokongan Prometheus terbina dalam untuk pemantauan aplikasi

Zabbix boleh mengumpul data dalam pelbagai cara (tolak/tarik) daripada sumber data yang berbeza. Ini ialah JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, ejen dan skrip serta sumber lain. Sekarang temui sokongan Prometheus!

Tegasnya, pengumpulan data daripada pengeksport Prometheus boleh dilakukan pada masa lalu berkat jenis elemen data HTTP/HTTPS dan ungkapan biasa.

Walau bagaimanapun, versi baharu membolehkan anda bekerja dengan Prometheus secekap mungkin kerana sokongan terbina dalam untuk bahasa pertanyaan PromQL. Dan penggunaan metrik bergantung membolehkan anda mengumpul dan memproses data dengan paling cekap: anda meminta data sekali, dan kemudian kami menyusunnya mengikut metrik yang diperlukan.

Zabbix 4.2 dikeluarkan
Mendapatkan nilai metrik tertentu

Adalah penting untuk ambil perhatian bahawa penemuan peringkat rendah kini boleh menggunakan data yang dikumpul untuk menjana metrik secara automatik. Dalam kes ini, Zabbix menukar data yang diterima ke dalam format JSON, yang sangat mudah untuk digunakan.

Zabbix 4.2 dikeluarkan
Mencari metrik menggunakan penapis dalam bahasa pertanyaan PromQL

Pada masa ini terdapat lebih banyak lagi 300 integrasi dan resipi pemantauan perkhidmatan dan aplikasi pihak ketiga menggunakan Zabbix. Sokongan Prometheus akan membolehkan anda menambah set keseluruhan aplikasi yang mempunyai pengeksport Prometheus rasmi atau disokong komuniti. Ini adalah pemantauan perkhidmatan popular, kontena dan sumber awan.

Pemantauan frekuensi tinggi yang berkesan

Adakah kita ingin mengesan masalah secepat mungkin? Sudah tentu, tidak syak lagi! Selalunya, pendekatan ini menyebabkan kami perlu meninjau peranti dan mengumpul data terlalu kerap, yang memberi beban yang lebih besar pada sistem pemantauan. Bagaimana untuk mengelakkan ini?

Kami telah melaksanakan mekanisme pendikit dalam peraturan prapemprosesan. Pendikitan, pada dasarnya, memberi kita peluang untuk melangkau nilai yang sama.

Mari kita anggap bahawa kita sedang memantau keadaan aplikasi kritikal. Setiap saat kami menyemak sama ada aplikasi kami berfungsi atau tidak. Pada masa yang sama, Zabbix menerima aliran data berterusan daripada 1 (berfungsi) dan 0 (tidak berfungsi). Contohnya: 1111111111110001111111111111…

Apabila semuanya teratur dengan aplikasi kami, maka Zabbix menerima aliran hanya satu. Adakah mereka perlu diproses? Secara umum, tidak, kerana kami hanya berminat untuk mengubah keadaan aplikasi, kami tidak mahu mengumpul dan menyimpan begitu banyak data. Jadi, pendikit membolehkan anda melangkau nilai jika ia sama dengan yang sebelumnya. Akibatnya, kami hanya akan menerima data tentang perubahan keadaan, sebagai contoh, 01010101... Ini adalah maklumat yang cukup untuk mengesan masalah!

Zabbix hanya mengabaikan nilai yang hilang, ia tidak direkodkan dalam sejarah dan tidak menjejaskan pencetus dalam apa jua cara. Dari sudut pandangan Zabbix, tiada nilai yang hilang.

Zabbix 4.2 dikeluarkan
Abaikan nilai pendua

Hebat! Kami kini boleh meninjau peranti dengan kerap dan mengesan masalah serta-merta tanpa menyimpan maklumat yang tidak diperlukan dalam pangkalan data.

Bagaimana pula dengan grafik? Mereka akan kosong kerana kekurangan data! Dan bagaimana anda boleh mengetahui jika Zabbix sedang mengumpul data jika kebanyakan data ini tiada?

Kami juga memikirkannya! Zabbix menawarkan satu lagi jenis pendikit, pendikitan dengan degupan jantung.

Zabbix 4.2 dikeluarkan
Sekali seminit kami menyemak sama ada metrik itu hidup

Dalam kes ini, Zabbix, walaupun aliran data berulang, akan menyimpan sekurang-kurangnya satu nilai dalam selang masa yang ditentukan. Jika data dikumpul sekali sesaat, dan selang waktu ditetapkan kepada satu minit, maka Zabbix akan menukar setiap aliran unit kedua menjadi aliran setiap minit. Adalah mudah untuk melihat bahawa ini membawa kepada pemampatan 60 kali ganda bagi data yang diterima.

Kini kami yakin bahawa data sedang dikumpul, fungsi pencetus nodata() berfungsi dan semuanya baik dengan graf!

Pengesahan data yang dikumpul dan pengendalian ralat

Tiada seorang pun daripada kami mahu mengumpul data yang salah atau tidak boleh dipercayai. Sebagai contoh, kita tahu bahawa penderia suhu harus mengembalikan data antara 0Β°C dan 100Β°C dan sebarang nilai lain harus dianggap palsu dan/atau diabaikan.

Kini ini boleh dilakukan menggunakan peraturan pengesahan data yang terbina dalam prapemprosesan untuk pematuhan atau kekurangan pematuhan dengan ungkapan biasa, julat nilai, JSONPath dan XMLPath.

Sekarang kita boleh mengawal tindak balas terhadap ralat. Jika suhu berada di luar julat, maka kita boleh mengabaikan nilai sedemikian, menetapkan nilai lalai (contohnya, 0Β°C), atau menentukan mesej ralat kita sendiri, contohnya, "Penderia rosak" atau "Ganti bateri."

Zabbix 4.2 dikeluarkan
Suhu hendaklah dari 0 hingga 100, abaikan yang lain

Contoh baik penggunaan pengesahan ialah keupayaan untuk menyemak data input untuk kehadiran mesej ralat dan menetapkan ralat ini untuk keseluruhan metrik. Ini adalah fungsi yang sangat berguna apabila mendapatkan semula data daripada API luaran.

Sebarang transformasi data menggunakan JavaScript

Jika peraturan prapemprosesan terbina dalam tidak mencukupi untuk kami, kami kini menawarkan kebebasan sepenuhnya menggunakan skrip JavaScript tersuai!

Zabbix 4.2 dikeluarkan
Hanya satu baris kod untuk menukar Fahrenheit kepada Celsius

Ini membuka kemungkinan yang tidak berkesudahan untuk memproses data masuk. Manfaat praktikal fungsi ini ialah kami tidak lagi memerlukan skrip luaran yang kami gunakan untuk melakukan sebarang manipulasi data. Kini semua ini boleh dilakukan menggunakan JavaScript.

Kini transformasi data, pengagregatan, penapis, operasi aritmetik dan logik dan banyak lagi boleh dilakukan!

Zabbix 4.2 dikeluarkan
Mengeluarkan maklumat berguna daripada output mod_status Apache!

Menguji prapemprosesan

Sekarang kita tidak perlu meneka cara skrip prapemprosesan kompleks kita berfungsi. Kini terdapat cara mudah untuk menyemak sama ada prapemprosesan berfungsi dengan betul terus daripada antara muka!

Zabbix 4.2 dikeluarkan

Kami memproses berjuta-juta metrik sesaat!

Sebelum Zabbix 4.2, prapemprosesan dikendalikan secara eksklusif oleh pelayan Zabbix, yang mengehadkan keupayaan untuk menggunakan proksi untuk pengagihan beban.

Bermula dengan Zabbix 4.2, kami mendapat penskalaan beban yang sangat cekap melalui sokongan untuk prapemprosesan sisi proksi. Sekarang proksi melakukannya!

Zabbix 4.2 dikeluarkan

Dalam kombinasi dengan pendikitan, pendekatan ini membolehkan pemantauan berskala besar frekuensi tinggi dan berjuta-juta pemeriksaan sesaat, tanpa memuatkan pelayan Zabbix pusat. Proksi memproses volum data yang besar, manakala hanya sebahagian kecil daripadanya mencapai pelayan Zabbix disebabkan pendikitan, satu atau dua susunan magnitud kurang.

Penemuan peringkat rendah yang lebih mudah

Ingat bahawa penemuan peringkat rendah (LLD) ialah mekanisme yang sangat berkuasa untuk menemui apa-apa jenis sumber pemantauan secara automatik (sistem fail, proses, aplikasi, perkhidmatan, dll.) dan secara automatik mencipta item data, pencetus, nod rangkaian berdasarkannya dan lain-lain. objek. Ini menjimatkan masa yang luar biasa, memudahkan konfigurasi dan membenarkan satu templat digunakan merentas hos dengan sumber pemantauan yang berbeza.

Penemuan peringkat rendah memerlukan JSON yang diformat khas sebagai input. Itu sahaja, ia tidak akan berlaku lagi!

Zabbix 4.2 membenarkan penemuan peringkat rendah (LLD) menggunakan data sewenang-wenangnya dalam format JSON. Mengapa ia penting? Ini membolehkan anda berkomunikasi, contohnya, dengan API luaran tanpa menggunakan skrip dan menggunakan maklumat yang diterima untuk mencipta hos, elemen data dan pencetus secara automatik.

Ditambah dengan sokongan JavaScript, ini mewujudkan peluang hebat untuk mencipta templat untuk bekerja dengan pelbagai sumber data, seperti, contohnya, API awan, API aplikasi, data dalam XML, format CSV, dan sebagainya dan sebagainya.

Zabbix 4.2 dikeluarkan
Memautkan JSON dengan maklumat tentang proses dengan LLD

Kemungkinannya benar-benar tidak berkesudahan!

Sokongan TimescaleDB

Zabbix 4.2 dikeluarkan

Apakah itu TimescaleDB? Ini adalah PostgreSQL biasa ditambah modul sambungan daripada pasukan TimescaleDB. TimescaleDB menjanjikan prestasi yang lebih baik kerana algoritma dan struktur data yang lebih cekap.

Di samping itu, kelebihan lain TimescaleDB ialah pembahagian jadual automatik dengan sejarah. TimescaleDB adalah pantas dan mudah diselenggara! Walaupun, saya harus ambil perhatian bahawa pasukan kami belum membuat perbandingan prestasi yang serius dengan PostgreSQL biasa.

Pada masa ini, TimescaleDB ialah produk yang agak muda dan sedang berkembang pesat. Gunakan dengan berhati-hati!

Pengurusan tag yang mudah

Jika sebelum ini teg hanya boleh diurus pada peringkat pencetus, kini pengurusan teg adalah lebih fleksibel. Zabbix menyokong teg untuk templat dan hos!

Semua masalah yang dikesan menerima teg bukan sahaja pencetus, tetapi juga hos, serta templat hos ini.

Zabbix 4.2 dikeluarkan
Menentukan tag untuk nod rangkaian

Pendaftaran automatik yang lebih fleksibel

Zabbix 4.2 membolehkan anda menapis hos mengikut nama menggunakan ungkapan biasa. Ini memungkinkan untuk mencipta senario pengesanan yang berbeza untuk kumpulan nod rangkaian yang berbeza. Ia amat mudah jika kita menggunakan peraturan penamaan peranti yang kompleks.

Penemuan rangkaian yang lebih fleksibel

Satu lagi peningkatan berkaitan dengan penamaan nod rangkaian. Kini boleh mengurus nama peranti semasa penemuan rangkaian dan mendapatkan nama peranti daripada nilai metrik.

Ini adalah fungsi yang sangat diperlukan, terutamanya untuk penemuan rangkaian menggunakan ejen SNMP dan Zabbix.

Zabbix 4.2 dikeluarkan
Tetapkan nama hos tempatan secara automatik kepada nama yang boleh dilihat

Menyemak kefungsian kaedah pemberitahuan

Kini anda boleh menghantar sendiri mesej ujian terus daripada antara muka Web dan menyemak sama ada kaedah pemberitahuan berfungsi. Fungsi ini amat berguna untuk menguji skrip untuk menggabungkan Zabbix dengan pelbagai sistem amaran, sistem tugasan dan program dan API luaran yang lain.

Zabbix 4.2 dikeluarkan

Pemantauan jauh komponen infrastruktur Zabbix

Kini boleh memantau metrik dalaman pelayan dan proksi Zabbix dari jauh (metrik prestasi dan kesihatan komponen Zabbix).

Untuk apa itu? Fungsi ini membolehkan anda memantau metrik dalaman pelayan dan proksi dari luar, membolehkan anda mengesan dan memaklumkan masalah dengan cepat walaupun komponen itu sendiri terlebih muatan atau, sebagai contoh, terdapat sejumlah besar data yang tidak dihantar pada proksi.

Sokongan format HTML untuk mesej e-mel

Kini kami tidak terhad kepada teks biasa dan boleh mencipta mesej e-mel yang indah, terima kasih kepada sokongan format HTML. Sudah tiba masanya untuk belajar HTML + CSS!

Zabbix 4.2 dikeluarkan
Mesej lebih mudah difahami walaupun dengan penggunaan HTML yang minimum

Akses kepada sistem luaran daripada kad rangkaian

Terdapat sokongan untuk satu set keseluruhan makro baharu dalam URL tersuai untuk penyepaduan peta yang lebih baik dengan sistem luaran. Ini membolehkan anda membuka, sebagai contoh, tiket dalam sistem tugas dengan satu atau dua klik pada ikon nod rangkaian.

Zabbix 4.2 dikeluarkan
Buka tiket di Jira dengan satu klik

Peraturan penemuan boleh menjadi item data bergantung

Mengapa ini perlu - anda bertanya. Ini membolehkan data metrik asas digunakan untuk kedua-dua penemuan dan pengumpulan data langsung. Contohnya, dalam hal mengumpul data daripada pengeksport Prometheus, Zabbix akan membuat satu permintaan HTTP dan segera menggunakan maklumat yang diterima untuk semua elemen data bergantung: nilai metrik dan peraturan penemuan peringkat rendah.

Cara baharu untuk menggambarkan masalah pada peta

Kini terdapat sokongan untuk imej GIF animasi pada peta untuk visualisasi masalah yang lebih jelas.

Zabbix 4.2 dikeluarkan
Peranti bermasalah telah menjadi lebih kelihatan

Mengekstrak data daripada pengepala HTTP dalam pemantauan Web

Dalam Pemantauan Web, keupayaan untuk memilih data daripada pengepala HTTP yang diterima telah ditambahkan.

Ini membolehkan anda membuat pemantauan web berbilang langkah atau senario pemantauan API pihak ketiga menggunakan token kebenaran yang diperoleh dalam salah satu langkah.

Zabbix 4.2 dikeluarkan
Mengekstrak AuthID daripada pengepala HTTP

Pengirim Zabbix menggunakan semua alamat IP

Zabbix Sender kini menghantar data ke semua alamat IP daripada parameter ServerActive dalam fail konfigurasi ejen.

Zabbix 4.2 dikeluarkan

Penapis baharu yang mudah dalam konfigurasi pencetus

Halaman konfigurasi pencetus kini mempunyai penapis yang dikembangkan untuk pemilihan pencetus yang cepat dan mudah berdasarkan kriteria yang ditentukan.

Zabbix 4.2 dikeluarkan
Memilih pencetus yang berkaitan dengan perkhidmatan K8S

Tunjukkan masa yang tepat

Semuanya mudah di sini, kini Zabbix menunjukkan masa yang tepat apabila anda mengarahkan tetikus pada carta.

Zabbix 4.2 dikeluarkan

Inovasi lain

  • Melaksanakan algoritma yang lebih boleh diramal untuk menukar susunan widget dalam papan pemuka
  • Keupayaan untuk menukar parameter secara besar-besaran prototaip item data
  • Sokongan IPv6 untuk semakan DNS: "net.dns" dan "new.dns.record"
  • Menambahkan parameter "langkau" untuk semakan "vmware.eventlog".
  • Ralat pelaksanaan langkah prapemprosesan termasuk nombor langkah

Bagaimana saya menaik taraf?

Untuk menaik taraf daripada versi terdahulu, anda hanya perlu memasang binari baharu (pelayan dan proksi) dan antara muka baharu. Zabbix akan mengemas kini pangkalan data secara automatik. Tak perlu install agent baru.

Kami menganjurkan webinar percuma untuk mereka yang ingin mengetahui lebih lanjut tentang Zabbix 4.2 dan berpeluang bertanya soalan kepada pasukan Zabbix. Daftar!

Jangan lupa tentang yang popular Saluran Telegram Komuniti Zabbix, di mana anda sentiasa boleh mendapatkan nasihat dan jawapan kepada soalan anda dalam bahasa Rusia daripada rakan sekerja yang lebih berpengalaman, dan, jika anda bernasib baik, daripada pembangun Zabbix sendiri. Disyorkan untuk pemula kumpulan untuk pemula.

Pautan berguna

- Catatan pengeluaran
- Naik taraf nota
- Artikel asal

Sumber: www.habr.com

Tambah komen