Đã phát hành Zabbix 4.2

Nhóm của chúng tôi rất vui mừng được chia sẻ tin tức rằng một hệ thống giám sát mã nguồn mở miễn phí đã được phát hành Zabbix 4.2!

Đã phát hành Zabbix 4.2

Phiên bản 4.2 có phải là câu trả lời cho câu hỏi chính về sự sống, vũ trụ và việc giám sát nói chung? Hãy cùng xem nhé!

Chúng ta hãy nhớ lại rằng Zabbix là một hệ thống phổ biến để giám sát hiệu suất và tính khả dụng của máy chủ, thiết bị kỹ thuật và mạng, ứng dụng, cơ sở dữ liệu, hệ thống ảo hóa, vùng chứa, dịch vụ CNTT và dịch vụ web.

Zabbix thực hiện một chu trình đầy đủ từ thu thập dữ liệu, xử lý và chuyển đổi dữ liệu, phân tích dữ liệu nhận được và kết thúc bằng việc lưu trữ dữ liệu này, trực quan hóa và gửi cảnh báo bằng các quy tắc báo cáo. Hệ thống cũng cung cấp các tùy chọn linh hoạt để mở rộng phương pháp thu thập và cảnh báo dữ liệu cũng như khả năng tự động hóa thông qua API. Một giao diện web duy nhất thực hiện quản lý tập trung các cấu hình giám sát và phân phối quyền truy cập cho các nhóm người dùng khác nhau. Mã dự án được phân phối tự do theo giấy phép GPLv2.

Zabbix 4.2 là phiên bản không phải LTS mới với thời gian hỗ trợ chính thức được rút ngắn. Đối với những người dùng tập trung vào vòng đời lâu dài của sản phẩm phần mềm, chúng tôi khuyên bạn nên sử dụng các phiên bản LTS, chẳng hạn như 3.0 và 4.0.

Vì vậy, hãy nói về các tính năng mới và những cải tiến lớn trong phiên bản 4.2:

Nhiều nền tảng chính thức hơn

Đã phát hành Zabbix 4.2
Ngoài các gói chính thức hiện có, chúng tôi còn cung cấp các bản dựng mới cho:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • Đại lý MSI cho Windows
  • Hình ảnh Docker

Hỗ trợ Prometheus tích hợp để giám sát ứng dụng

Zabbix có thể thu thập dữ liệu theo nhiều cách khác nhau (đẩy/kéo) từ các nguồn dữ liệu khác nhau. Đó là JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, tác nhân và tập lệnh và các nguồn khác. Bây giờ hãy gặp sự hỗ trợ của Prometheus!

Nói đúng ra, trước đây có thể thu thập dữ liệu từ các nhà xuất khẩu Prometheus nhờ vào loại phần tử dữ liệu HTTP/HTTPS và các biểu thức chính quy.

Tuy nhiên, phiên bản mới cho phép bạn làm việc với Prometheus hiệu quả nhất có thể nhờ hỗ trợ tích hợp cho ngôn ngữ truy vấn PromQL. Và việc sử dụng các số liệu phụ thuộc cho phép bạn thu thập và xử lý dữ liệu hiệu quả nhất: bạn yêu cầu dữ liệu một lần và sau đó chúng tôi sắp xếp dữ liệu theo các số liệu cần thiết.

Đã phát hành Zabbix 4.2
Lấy giá trị của một số liệu cụ thể

Điều quan trọng cần lưu ý là khám phá cấp thấp hiện có thể sử dụng dữ liệu được thu thập để tự động tạo số liệu. Trong trường hợp này, Zabbix chuyển đổi dữ liệu nhận được sang định dạng JSON, rất thuận tiện để làm việc.

Đã phát hành Zabbix 4.2
Tìm số liệu bằng bộ lọc trong ngôn ngữ truy vấn PromQL

Hiện tại có thêm 300 công thức tích hợp và giám sát các dịch vụ và ứng dụng của bên thứ ba sử dụng Zabbix. Bộ phận hỗ trợ của Prometheus sẽ cho phép bạn thêm toàn bộ bộ ứng dụng có nhà xuất khẩu Prometheus chính thức hoặc được cộng đồng hỗ trợ. Đây là giám sát các dịch vụ phổ biến, vùng chứa và tài nguyên đám mây.

Giám sát tần số cao hiệu quả

Chúng ta có muốn phát hiện vấn đề càng nhanh càng tốt không? Tất nhiên là không còn nghi ngờ gì nữa! Thông thường, cách tiếp cận này khiến chúng tôi phải thăm dò ý kiến ​​các thiết bị và thu thập dữ liệu quá thường xuyên, điều này tạo ra gánh nặng lớn hơn cho hệ thống giám sát. Làm thế nào để tránh điều này?

Chúng tôi đã triển khai cơ chế điều tiết trong các quy tắc tiền xử lý. Về bản chất, việc điều chỉnh cho chúng ta cơ hội bỏ qua các giá trị giống hệt nhau.

Giả sử rằng chúng ta đang theo dõi trạng thái của một ứng dụng quan trọng. Mỗi giây chúng tôi kiểm tra xem ứng dụng của chúng tôi có hoạt động hay không. Đồng thời, Zabbix nhận được luồng dữ liệu liên tục từ 1 (đang hoạt động) và 0 (không hoạt động). Ví dụ: 1111111111110001111111111111…

Khi mọi thứ đều ổn với ứng dụng của chúng tôi, thì Zabbix sẽ nhận được một luồng duy nhất. Họ có cần phải được xử lý? Nói chung là không, vì chúng tôi chỉ quan tâm đến việc thay đổi trạng thái của ứng dụng nên chúng tôi không muốn thu thập và lưu trữ nhiều dữ liệu như vậy. Vì vậy, việc điều chỉnh cho phép bạn bỏ qua một giá trị nếu nó giống với giá trị trước đó. Do đó, chúng tôi sẽ chỉ nhận được dữ liệu về sự thay đổi trạng thái, ví dụ: 01010101... Đây là thông tin khá đủ để phát hiện vấn đề!

Zabbix chỉ đơn giản bỏ qua các giá trị bị thiếu, chúng không được ghi lại trong lịch sử và không ảnh hưởng đến trình kích hoạt dưới bất kỳ hình thức nào. Theo quan điểm của Zabbix, không có giá trị nào bị thiếu.

Đã phát hành Zabbix 4.2
Bỏ qua các giá trị trùng lặp

Tuyệt vời! Giờ đây, chúng tôi có thể thăm dò thiết bị rất thường xuyên và phát hiện sự cố ngay lập tức mà không cần lưu trữ thông tin không cần thiết vào cơ sở dữ liệu.

Còn đồ họa thì sao? Chúng sẽ trống vì thiếu dữ liệu! Và làm thế nào bạn có thể biết Zabbix có đang thu thập dữ liệu hay không nếu hầu hết dữ liệu này bị thiếu?

Chúng tôi cũng đã nghĩ về điều đó! Zabbix cung cấp một kiểu điều tiết khác, điều tiết theo nhịp tim.

Đã phát hành Zabbix 4.2
Mỗi phút một lần, chúng tôi kiểm tra xem số liệu có còn hoạt động hay không

Trong trường hợp này, Zabbix, mặc dù luồng dữ liệu lặp lại, sẽ lưu trữ ít nhất một giá trị trong khoảng thời gian đã chỉ định. Nếu dữ liệu được thu thập một lần mỗi giây và khoảng thời gian được đặt thành một phút thì Zabbix sẽ biến luồng đơn vị mỗi giây thành luồng mỗi phút. Dễ dàng nhận thấy điều này dẫn đến việc dữ liệu nhận được bị nén tới 60 lần.

Bây giờ chúng tôi tự tin rằng dữ liệu đang được thu thập, hàm kích hoạt gật đầu() đang hoạt động và mọi thứ đều ổn với biểu đồ!

Xác thực dữ liệu được thu thập và xử lý lỗi

Không ai trong chúng ta muốn thu thập dữ liệu sai sót hoặc không đáng tin cậy. Ví dụ: chúng tôi biết rằng cảm biến nhiệt độ sẽ trả về dữ liệu trong khoảng từ 0°C đến 100°C và mọi giá trị khác sẽ được coi là sai và/hoặc bị bỏ qua.

Giờ đây, điều này có thể thực hiện được bằng cách sử dụng các quy tắc xác thực dữ liệu được tích hợp trong quá trình tiền xử lý để tuân thủ hoặc thiếu tuân thủ các biểu thức thông thường, phạm vi giá trị, JSONPath và XMLPath.

Bây giờ chúng ta có thể kiểm soát phản ứng với lỗi. Nếu nhiệt độ nằm ngoài phạm vi, thì chúng ta có thể chỉ cần bỏ qua giá trị đó, đặt giá trị mặc định (ví dụ: 0°C) hoặc xác định thông báo lỗi của riêng mình, chẳng hạn như “Cảm biến bị hỏng” hoặc “Thay pin”.

Đã phát hành Zabbix 4.2
Nhiệt độ phải từ 0 đến 100, bỏ qua phần còn lại

Một ví dụ điển hình về việc sử dụng xác thực là khả năng kiểm tra dữ liệu đầu vào xem có thông báo lỗi hay không và đặt lỗi này cho toàn bộ số liệu. Đây là một chức năng rất hữu ích khi truy xuất dữ liệu từ các API bên ngoài.

Mọi chuyển đổi dữ liệu bằng JavaScript

Nếu các quy tắc tiền xử lý tích hợp sẵn không đủ đối với chúng tôi thì giờ đây chúng tôi cung cấp sự tự do hoàn toàn bằng cách sử dụng các tập lệnh JavaScript tùy chỉnh!

Đã phát hành Zabbix 4.2
Chỉ một dòng mã để chuyển đổi độ F sang độ C

Điều này mở ra khả năng vô tận để xử lý dữ liệu đến. Lợi ích thực tế của chức năng này là chúng ta không còn cần các tập lệnh bên ngoài mà chúng ta đã sử dụng để thực hiện bất kỳ thao tác dữ liệu nào nữa. Bây giờ tất cả điều này có thể được thực hiện bằng cách sử dụng JavaScript.

Giờ đây, việc chuyển đổi dữ liệu, tổng hợp, bộ lọc, các phép toán số học và logic và nhiều hơn thế nữa đều có thể thực hiện được!

Đã phát hành Zabbix 4.2
Trích xuất thông tin hữu ích từ đầu ra mod_status của Apache!

Kiểm tra tiền xử lý

Bây giờ chúng ta không cần phải đoán xem các tập lệnh tiền xử lý phức tạp của chúng ta hoạt động như thế nào. Hiện có một cách thuận tiện để kiểm tra xem quá trình tiền xử lý có hoạt động chính xác hay không trực tiếp từ giao diện!

Đã phát hành Zabbix 4.2

Chúng tôi xử lý hàng triệu số liệu mỗi giây!

Trước Zabbix 4.2, quá trình tiền xử lý được xử lý độc quyền bởi máy chủ Zabbix, điều này đã hạn chế khả năng sử dụng proxy để phân phối tải.

Bắt đầu với Zabbix 4.2, chúng tôi có được khả năng mở rộng tải cực kỳ hiệu quả thông qua hỗ trợ xử lý trước phía proxy. Bây giờ proxy làm điều đó!

Đã phát hành Zabbix 4.2

Kết hợp với điều tiết, phương pháp này cho phép giám sát tần số cao, quy mô lớn và hàng triệu lượt kiểm tra mỗi giây mà không cần tải máy chủ Zabbix trung tâm. Proxy xử lý khối lượng dữ liệu khổng lồ, trong khi chỉ một phần nhỏ trong số đó đến được máy chủ Zabbix do điều tiết, ít hơn một hoặc hai bậc.

Khám phá cấp thấp dễ dàng hơn

Hãy nhớ lại rằng khám phá cấp thấp (LLD) là một cơ chế rất mạnh để tự động khám phá bất kỳ loại tài nguyên giám sát nào (hệ thống tệp, quy trình, ứng dụng, dịch vụ, v.v.) và tự động tạo các mục dữ liệu, trình kích hoạt, nút mạng dựa trên chúng và các mục khác các đối tượng. Điều này giúp tiết kiệm thời gian đáng kinh ngạc, đơn giản hóa cấu hình và cho phép sử dụng một mẫu trên các máy chủ có tài nguyên giám sát khác nhau.

Khám phá cấp thấp yêu cầu JSON được định dạng đặc biệt làm đầu vào. Thế thôi, chuyện đó sẽ không xảy ra nữa!

Zabbix 4.2 cho phép khám phá cấp thấp (LLD) sử dụng dữ liệu tùy ý ở định dạng JSON. Tại sao nó lại quan trọng? Điều này cho phép bạn giao tiếp, chẳng hạn như với các API bên ngoài mà không cần dùng đến tập lệnh và sử dụng thông tin nhận được để tự động tạo máy chủ, thành phần dữ liệu và trình kích hoạt.

Cùng với sự hỗ trợ JavaScript, điều này tạo ra những cơ hội tuyệt vời để tạo mẫu để làm việc với nhiều nguồn dữ liệu khác nhau, chẳng hạn như API đám mây, API ứng dụng, dữ liệu ở định dạng XML, CSV, v.v.

Đã phát hành Zabbix 4.2
Liên kết JSON với thông tin về các quy trình với LLD

Khả năng thực sự là vô tận!

Hỗ trợ TimescaleDB

Đã phát hành Zabbix 4.2

TimescaleDB là gì? Đây là PostgreSQL thông thường cộng với một mô-đun mở rộng từ nhóm TimescaleDB. TimescaleDB hứa hẹn hiệu suất tốt hơn nhờ thuật toán và cấu trúc dữ liệu hiệu quả hơn.

Ngoài ra, một ưu điểm khác của TimescaleDB là tính năng tự động phân vùng các bảng có lịch sử. TimescaleDB nhanh chóng và dễ bảo trì! Mặc dù vậy, tôi cần lưu ý rằng nhóm của chúng tôi vẫn chưa thực hiện so sánh nghiêm túc về hiệu suất với PostgreSQL thông thường.

Hiện tại, TimescaleDB là một sản phẩm còn khá non trẻ và đang phát triển nhanh chóng. Sử dụng cẩn thận!

Quản lý thẻ dễ dàng

Nếu trước đây thẻ chỉ có thể được quản lý ở cấp độ kích hoạt thì giờ đây việc quản lý thẻ linh hoạt hơn nhiều. Zabbix hỗ trợ thẻ cho mẫu và máy chủ!

Tất cả các sự cố được phát hiện đều nhận được thẻ không chỉ của trình kích hoạt mà còn của máy chủ cũng như các mẫu của máy chủ này.

Đã phát hành Zabbix 4.2
Xác định thẻ cho nút mạng

Đăng ký tự động linh hoạt hơn

Zabbix 4.2 cho phép bạn lọc máy chủ theo tên bằng cách sử dụng biểu thức thông thường. Điều này cho phép tạo các kịch bản phát hiện khác nhau cho các nhóm nút mạng khác nhau. Nó đặc biệt thuận tiện nếu chúng ta sử dụng các quy tắc đặt tên thiết bị phức tạp.

Khám phá mạng linh hoạt hơn

Một cải tiến khác liên quan đến việc đặt tên cho các nút mạng. Giờ đây có thể quản lý tên thiết bị trong quá trình khám phá mạng và lấy tên thiết bị từ giá trị số liệu.

Đây là chức năng rất cần thiết, đặc biệt đối với việc khám phá mạng bằng tác nhân SNMP và Zabbix.

Đã phát hành Zabbix 4.2
Tự động gán tên máy chủ cục bộ cho tên hiển thị

Kiểm tra chức năng của các phương thức thông báo

Bây giờ bạn có thể gửi cho mình một tin nhắn thử nghiệm trực tiếp từ giao diện Web và kiểm tra xem phương thức thông báo có hoạt động hay không. Chức năng này đặc biệt hữu ích để thử nghiệm các tập lệnh kết hợp Zabbix với các hệ thống cảnh báo, hệ thống tác vụ khác nhau cũng như các chương trình và API bên ngoài khác.

Đã phát hành Zabbix 4.2

Giám sát từ xa các thành phần cơ sở hạ tầng Zabbix

Giờ đây có thể giám sát từ xa các số liệu nội bộ của máy chủ và proxy Zabbix (số liệu hiệu suất và tình trạng của các thành phần Zabbix).

Nó dùng để làm gì? Chức năng này cho phép bạn giám sát các số liệu nội bộ của máy chủ và proxy từ bên ngoài, cho phép bạn nhanh chóng phát hiện và thông báo về các sự cố ngay cả khi bản thân các thành phần bị quá tải hoặc chẳng hạn như có một lượng lớn dữ liệu chưa gửi trên proxy.

Hỗ trợ định dạng HTML cho email

Giờ đây, chúng tôi không bị giới hạn ở văn bản thuần túy và có thể tạo các tin nhắn e-mail đẹp mắt nhờ sự hỗ trợ của định dạng HTML. Đã đến lúc học HTML + CSS!

Đã phát hành Zabbix 4.2
Tin nhắn dễ hiểu hơn ngay cả khi sử dụng HTML tối thiểu

Truy cập vào hệ thống bên ngoài từ card mạng

Có hỗ trợ cho toàn bộ tập hợp macro mới trong URL tùy chỉnh để tích hợp bản đồ tốt hơn với các hệ thống bên ngoài. Điều này cho phép bạn mở, chẳng hạn như một vé trong hệ thống tác vụ bằng một hoặc hai lần nhấp chuột vào biểu tượng của nút mạng.

Đã phát hành Zabbix 4.2
Mở một vé trong Jira chỉ bằng một cú nhấp chuột

Quy tắc khám phá có thể là một mục dữ liệu phụ thuộc

Tại sao điều này lại cần thiết - bạn hỏi. Điều này cho phép sử dụng dữ liệu số liệu cơ bản cho cả việc khám phá và thu thập dữ liệu trực tiếp. Ví dụ: trong trường hợp thu thập dữ liệu từ nhà xuất khẩu Prometheus, Zabbix sẽ thực hiện một yêu cầu HTTP và sử dụng ngay thông tin nhận được cho tất cả các thành phần dữ liệu phụ thuộc: giá trị số liệu và quy tắc khám phá cấp thấp.

Một cách mới để trực quan hóa các vấn đề trên bản đồ

Hiện đã có hỗ trợ cho hình ảnh GIF động trên bản đồ để hiển thị rõ ràng hơn các vấn đề.

Đã phát hành Zabbix 4.2
Các thiết bị có vấn đề đã trở nên rõ ràng hơn

Trích xuất dữ liệu từ tiêu đề HTTP trong giám sát Web

Trong Giám sát web, khả năng chọn dữ liệu từ tiêu đề HTTP nhận được đã được thêm vào.

Điều này cho phép bạn tạo các kịch bản giám sát web nhiều bước hoặc giám sát API của bên thứ ba bằng cách sử dụng mã thông báo ủy quyền nhận được ở một trong các bước.

Đã phát hành Zabbix 4.2
Trích xuất AuthID từ tiêu đề HTTP

Zabbix Sender sử dụng tất cả địa chỉ IP

Zabbix Sender hiện gửi dữ liệu đến tất cả các địa chỉ IP từ tham số ServerActive trong tệp cấu hình tác nhân.

Đã phát hành Zabbix 4.2

Bộ lọc mới tiện lợi trong cấu hình kích hoạt

Trang cấu hình trình kích hoạt hiện có bộ lọc mở rộng để lựa chọn trình kích hoạt nhanh chóng và thuận tiện dựa trên các tiêu chí đã chỉ định.

Đã phát hành Zabbix 4.2
Chọn các kích hoạt liên quan đến dịch vụ K8S

Hiển thị thời gian chính xác

Mọi thứ ở đây đều đơn giản, bây giờ Zabbix hiển thị thời gian chính xác khi bạn di chuột qua biểu đồ.

Đã phát hành Zabbix 4.2

Những đổi mới khác

  • Đã triển khai thuật toán dễ dự đoán hơn để thay đổi thứ tự của các tiện ích trong trang tổng quan
  • Khả năng thay đổi hàng loạt các tham số của nguyên mẫu mục dữ liệu
  • Hỗ trợ IPv6 để kiểm tra DNS: "net.dns" và "new.dns.record"
  • Đã thêm tham số “bỏ qua” để kiểm tra “vmware.eventlog”
  • Lỗi thực thi bước tiền xử lý bao gồm số bước

Làm thế nào để nâng cấp?

Để nâng cấp từ các phiên bản trước, bạn chỉ cần cài đặt nhị phân mới (máy chủ và proxy) và giao diện mới. Zabbix sẽ tự động cập nhật cơ sở dữ liệu. Không cần phải cài đặt tác nhân mới.

Chúng tôi đang tổ chức các hội thảo trực tuyến miễn phí cho những ai muốn tìm hiểu thêm về Zabbix 4.2 và có cơ hội đặt câu hỏi cho nhóm Zabbix. Đăng ký!

Đừng quên những thứ phổ biến kênh điện tín Cộng đồng Zabbix, nơi bạn luôn có thể nhận được lời khuyên và câu trả lời cho câu hỏi của mình bằng tiếng Nga từ những đồng nghiệp có kinh nghiệm hơn và nếu bạn may mắn, từ chính các nhà phát triển Zabbix. Đề xuất cho người mới bắt đầu nhóm dành cho người mới bắt đầu.

Liên kết hữu ích

- Ghi chú phát hành
- Nâng cấp ghi chú
- Bài báo gốc

Nguồn: www.habr.com

Thêm một lời nhận xét