Що нового в Zabbix 5.0

У середині травня вийшла версія Zabbix 5.0, і ми організували серію онлайн мітапів різними мовами з метою наочно продемонструвати спільноті всі зміни та нововведення. Пропонуємо вам ознайомитися з доповіддю виконавчого директора та творця Zabbix Олексія Владишева, в якій він покроково розповів, що нового в Zabbix 5.0.

Що нового в Zabbix 5.0

Zabbix 4.2 та Zabbix 4.4

Почнемо зі змін, що з'явилися у версії Zabbix 4.0 у зв'язку з використанням LTS-версій.
У версії Zabbix 4.2, яка вийшла у квітні 2019 року, з'явилися такі можливості:

  • Високочастотний моніторинг за допомогою тротлінгу, який забезпечує масштабування та підвищення NVPS, що означає швидше виявлення проблем та спрямування оповіщень без великого навантаження на Zabbix.
  • Збір даних за допомогою HTTP-агенту.
  • Підтримка збирання даних від Prometheus Pro.
  • Передобробка підтримує валідацію і JavaScript, який дозволяє трансформувати будь-які дані, що збираються.
  • Передобробка на стороні проксі, що забезпечує більш ефективне масштабування за допомогою проксі.
  • Поліпшене керування тегами — мета-інформацією на рівні подій та проблем, з якими зручно працювати, тому що теги підтримуються і на рівні шаблонів, і на рівні вузлів мережі.

У вересні минулого року вийшла версія Zabbix 4.4, яка пропонувала такі можливості:

  • Новий агент Zabbix.
  • Підтримка Webhook для сповіщень та повідомлень, що дозволяє інтегруватися із зовнішніми системами.
  • Підтримка TimescaleDB.
  • Вбудована база знань для метриків та тригерів стала видимою для користувачів Zabbix. Наприклад, користувачі можуть використовувати опис елементів даних і тригерів Monitoring > Latest data.
  • Новий стандарт шаблонів.

Zabbix 5.0

Сьогодні ми поговоримо про LTS-реліз Zabbix 5.0, який підтримуватиметься протягом 5 років. Підтримка версії 4.4 припиняється через місяць. LTS-реліз Zabbix 3.0 підтримуватиметься ще 3,5 роки.

Zabbix забезпечує моніторинг багатьох речей, список яких можна уточнити на сторінці http://www.zabbix.com/integrations, де представлені шаблони для моніторингу та плагіни, у тому числі для нового агента.

Що нового в Zabbix 5.0
Доступні шаблони для моніторингу та інтеграції

Крім того, існують можливості інтеграції з різними системами, включаючи тикетні системи, ITSM-системи та системи доставки повідомлень за допомогою Webhook.

Що нового в Zabbix 5.0
Можливості інтеграції

У Zabbix 5.0 розширена вбудована підтримка для інтеграції з різними системами тикетів, а також системами оповіщень:

Що нового в Zabbix 5.0
Інтеграція з різними системами

Розширено список вбудованих шаблонів для моніторингу програм та пристроїв:

Що нового в Zabbix 5.0
Вбудовані шаблони для моніторингу програм та пристроїв

Всі оновлення доступні для скачування Репозиторій Git.

Будь-який користувач або розробник може брати участь у Zabbix з готовими напрацюваннями - шаблонами або плагінами, скориставшись простою процедурою:

  1. Підписання Zabbix Contributory Agreement (ZCA) на https://www.zabbix.com/developers.
  2. Розміщення Pull Request на https://git.zabbix.com.
  3. Розгляд заявки командою розробників. Якщо плагін або шаблон відповідає стандартам Zabbix, він включається до продукту, і робота такого розробника офіційно підтримуватиметься командою Zabbix.

Zabbix — це відкрите програмне забезпечення з відкритим вихідним кодом, доступним для перегляду, вивчення та зміни. Користувачеві надається можливість вільно використовувати продукт, брати участь у доопрацюванні програми або використовувати код для нових програм. З іншого боку, команда Zabbix робить все можливе, щоб Zabbix можна легко встановлювати на різних платформах.

Розробники Zabbix пропонують пакети для практично всіх найпопулярніших дистрибутивів та різних платформ віртуалізації. Крім того, Zabbix за допомогою одного кліка миші можна встановити в публічній хмарі. Zabbix також доступний на платформах Red Hat Openshift або OpenStack.

Що нового в Zabbix 5.0
Пакети Zabbix для дистрибутивів та платформ

Підтримка Zabbix Agent 2 для Windows та Linux

Новий Zabbix Agent 2 – одне з найкращих рішень на ринку.

  • Пропонує структуру, засновану на плагінах, та підтримує скрипти для збору даних, які можуть працювати годинами.
  • Підтримує паралельні активні перевірки, постійні підключення до зовнішніх систем, що є корисним, наприклад, для ефективного моніторингу баз даних.
  • Підтримує пастки та події, що є важливими для моніторингу, наприклад, MQTT-пристроїв.
  • Нова версія агента легко встановлюється (оскільки новий агент підтримує всі попередні функціональності).

Крім того, для нового агента Zabbix 5.0 пропонується підтримка постійного зберігання даних. Раніше невідправлена ​​інформація зберігалася тільки в буферній пам'яті агента, а в новій версії доступне налаштування такої інформації на диску.

Що нового в Zabbix 5.0
Постійне зберігання даних

Це важливо у разі моніторингу критичних систем та нестабільних комунікацій, оскільки велика кількість найважливіших даних зберігається до відправки на сервер Zabbix. Опція також корисна для супутникових з'єднань, які можуть бути недоступними протягом тривалого часу.
ВАЖЛИВО! У Zabbix 5.0 збережена підтримка Zabbix Agent 1.

Зміни в системі безпеки у Zabbix 5.0

1. У новій версії підтримується HTTP-проксі для webhook, який дозволяє виконувати з'єднання з сервером Zabbix на зовнішні системами оповіщення більш безпечним і керованим чином.

Якщо потрібна інтеграція Zabbix-сервера в локальній мережі із зовнішньою системою, наприклад, JIRA у хмарі, можна підтримувати з'єднання через HTTP-проксі, що покращує контрольованість та надійність з'єднання.

2. Як для старого, так і нового агента передбачена можливість вибирати, які саме перевірки повинні бути доступні на певному агенті. Наприклад, можна обмежити кількість перевірок, фактично створивши білі та чорні списки, визначити ключі, що підтримуються.

  • Whitelist for MySQL related checks
    AllowKey=mysql[*] 
    DenyKey=*
  • Blacklist to deny all shell scripts
    DenyKey=system.run[*]
  • Blacklist to deny access to /etc/password
    DenyKey=vfs.file.contents[/etc/passwd,*]

3. Можливий вибір алгоритмів шифрування всім компонентів Zabbix, щоб уникнути використання небезпечних шифрів для TLS-соединений. Це важливо для моніторингу середовищ, для яких використовуються певні стандарти безпеки.

Що нового в Zabbix 5.0
Вибір алгоритмів шифрування для TLS-з'єднань

4. У Zabbix 5.0 з'явилася підтримка шифрованих з'єднань із базою даних. На даний момент доступне лише шифроване з'єднання з PostgreSQL та MySQL.

Що нового в Zabbix 5.0
Шифровані з'єднання з базою даних

5. Zabbix 5.0 перейшов із MD5 на SHA256 для зберігання хешів паролів користувачів у базі даних, оскільки на даний момент це найбільш безпечний алгоритм.

6. Zabbix 5.0 підтримує секретні користувацькі макроси для зберігання будь-якої конфіденційної інформації, такої як паролі та API токени, до якої не мають доступу кінцеві користувачі.

Що нового в Zabbix 5.0
Секретні макроси

7. Всі з'єднання Zabbix із зовнішніми системами та внутрішні з'єднання з агентами є безпечними. Підтримується шифрування з використанням TLS сертифікатів, або з використанням попередньо опублікованого ключа (pre-shared key encryption) для з'єднання з агентами c проксі, або HTTPS. Безпеку на стороні агентів можна посилювати за рахунок білих та чорних списків. Інтерфейс працює через HTTPS.

Що нового в Zabbix 5.0
Безпечні з'єднання

8. Підтримка SAML для забезпечення єдиної точки аутентифікації у надійного постачальника ідентифікаційних послуг, тому облікові дані користувача не залишать межі брандмауера.

Що нового в Zabbix 5.0
SAML-ідентифікація

Підтримка SAML дозволяє інтегрувати Zabbix із різними локальними та хмарними постачальниками ідентифікаційних послуг, такими як Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, а також Azure, AWS або Google Cloud Platform.

Зручність у використанні Zabbix 5.0

1. Інтерфейс користувача, оптимізований для широких екранів. Ми перемістили меню з верхньої частини, де завжди не вистачає місця в ліву частину екрана. Меню, як і раніше, відображається в повному, мінімальному та прихованому режимі.

Що нового в Zabbix 5.0
Інтерфейс, оптимізований для широкого екрану

2. Копіювання віджетів із панелей дозволяє дуже швидко створювати нові панелі. Для цього в ПАНЕЛІ необхідно вибрати потрібний віджет, натиснути Copy

Що нового в Zabbix 5.0
Копіювання віджету

та вставити віджет у потрібну панель.

Що нового в Zabbix 5.0
Вставка скопійованого віджету

3. Експорт графіків. Щоб скопіювати графік та надіслати, наприклад, електронною поштою, можна отримати графік у форматі PNG, вибравши потрібний віджет і натиснувши Завантажити зображення.

Що нового в Zabbix 5.0
Експорт графіків

4. Фільтрування за тегами: Problem by severity та Problem hosts. З'явилася можливість, наприклад, зібрати в одному дата-центрі дані про всі проблеми, пов'язані з одним вузлом мережі.

Що нового в Zabbix 5.0
Фільтрування за тегами

5. Підтримка модулів для розширення інтерфейсу Zabbix. Для встановлення незалежного модуля потрібно скопіювати його до певної директорії. Модулі дозволяють розширювати функціональність інтерфейсу, створювати нові сторінки, змінювати структуру меню, наприклад, додавати пункти.

Написати та інтегрувати модуль може будь-який користувач. Для цього модуль копіюється в папку modules, після чого стає бачимо для інтерфейсу, де його можна увімкнути та вимкнути.

Що нового в Zabbix 5.0
Додавання нового модуля

6. Простота навігації за ресурсами, пов'язаними з вузлами мережі. У Monitoring > Hosts відображається список пристроїв, які моніторить Zabbix: вузли мережі, сервіси, мережні пристрої тощо. До того ж, доступна швидка навігація до екранів, графіків і проблем конкретних пристроїв.

Ми прибрали вкладки Monitoring > Graphs та Monitoring > Webs, і вся навігація здійснюється через Monitoring > Hosts. Відображувану інформацію можна фільтрувати, у тому числі, за тегами, що дозволяє відображати вимкнені пристрої

Що нового в Zabbix 5.0
Навігація по ресурсам, пов'язаним із вузлами мережі

Наприклад, можна вибрати пристрої, які належать до сервісів кінцевих користувачів, вибравши 'Обслуговування', а також поставивши рівень важливості цих проблем.

Що нового в Zabbix 5.0
Можливості фільтрації

7. Нова операція попередньої обробки - 'Заміна' дозволяє робити кілька корисних речей, які раніше можна було робити лише за допомогою регулярних виразів, досить складних для багатьох користувачів.
заміщати дозволяє фактично замінити один рядок або символ на інші, що дозволяє просто конвертувати дані, отримані в текстовому форматі, числове подання.

Що нового в Zabbix 5.0
Оператор Replace

8. Оператор JSONPath, який дозволяє отримувати імена атрибутів у зручній формі

Що нового в Zabbix 5.0
Оператор для JSONPath

9. Відображення повідомлень електронної пошти Zabbix. У попередніх версіях усі повідомлення електронної пошти від Zabbix у папці Вхідні відображалися списком. Починаючи з Zabbix 5.0, повідомлення будуть групуватися з проблем.

Що нового в Zabbix 5.0
Угруповання повідомлень електронної пошти від Zabbix

10. Підтримка користувацьких макросів для IPMI для імені користувача та пароля. Якщо для імені користувача та пароля використовуються секретні макроси, доступ до їх значення буде закрито.

Що нового в Zabbix 5.0
Підтримка користувальницьких макросів

11. Масова зміна користувацьких макросів для вузлів мережі. У новій версії можна відкрити список шаблонів, вибрати список вузлів мережі та додавати макроси або змінювати значення існуючих макросів,

Що нового в Zabbix 5.0
Додавання та зміна користувацьких макросів

а також видаляти певні або всі макроси з вибраних шаблонів для вузлів мережі.

Що нового в Zabbix 5.0
Видалення окремих або всіх користувацьких макросів

12. Контроль формату повідомлень на рівні способу оповіщення. У Типи медіа з'явилася вкладка Media templates із шаблонами повідомлень.

Що нового в Zabbix 5.0
Шаблони способів сповіщень

Ви можете визначити різні шаблони для різних типів повідомлень.

Що нового в Zabbix 5.0
Визначення шаблону для типу повідомлень

У попередніх версіях потрібно було керувати цими повідомленнями на рівні дій, визначати повідомлення та предмет за умовчанням.

Що нового в Zabbix 5.0
Керування шаблонами на рівні дій

У новій версії все можна визначити на глобальному рівні, а на рівні повідомлень переписати глобальні налаштування.

Що нового в Zabbix 5.0
Управління шаблонами на глобальному рівні

Для більшості користувачів достатньо визначати формати шаблонів на рівні способу оповіщення. Більше того, після імпорту нового способу оповіщення всі відповідні формати шаблонів вже є його частиною.

13. Більш широке застосування JavaScript. JavaScript використовується для скриптів передобробки, Webhook і т.д. У командному рядку працювати з JavaScript непросто.
У Zabbix 5.0 використовується нова утиліта. zabbix_js, що запускає JavaScript, який приймає дані, обробляє їх та генерує вихідні значення.

Що нового в Zabbix 5.0
Утиліта zabbix_js

Що нового в Zabbix 5.0
Приклади використання утиліти zabbix_js

14. Підтримка текстових операцій тригерними виразами дозволяє перевіряти версії встановлених компонентів, порівнювати значення з будь-якими константами, при цьому константою може бути користувальницький макрос,

{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}

порівняти останнє значення з попереднім, наприклад, коли йдеться про текстові дані,

{host:text.last()}<>{host.text.prev()}

або

{host:text.last(#1)}<>{host.text.prev(#2)}

або порівнювати текстові значення різних метриків.

{hostA:textA.last()}={hostB:textB.last()}

15. Автоматизація та виявлення.

  • Доступні нові перевірки JMX для отримання та виявлення списку лічильників JMX, що дуже корисно, наприклад, для моніторингу Java-програм, а також для автоматизації створення елементів моніторингу, метрик, тригерів та графіків.
    jmx.get[]

    и

    jmx.discovery[]

    Що нового в Zabbix 5.0
    Перевірки JMX

  • У новій версії з'явився ключ для моніторингу лічильників продуктивності Windows, який підтримується старим та новим агентами російською та англійською мовами та дозволяє, наприклад, виявляти кількість процесорів, файлових систем, сервісів тощо.

    Що нового в Zabbix 5.0
    Моніторинг лічильників продуктивності Windows за допомогою ключа perf_counter

  • ODBC-моніторинг став набагато простішим. Раніше всі параметри для ODBC-моніторингу доводилося описувати у зовнішньому файлі /etc/odbc.ini, якого не було доступу з боку інтерфейсу Zabbix. У новій версії практично всі параметри можуть бути частиною ключа метрики.

    Що нового в Zabbix 5.0
    Ключ метрики з описом параметрів

    У новій версії можна задати ім'я сервера та порт на рівні метрики, а ім'я та пароль для доступу – з використанням секретних макросів для безпеки.

    Що нового в Zabbix 5.0
    Використання секретних макросів

  • При використанні протоколу IPMI для моніторингу обладнання з'явилася можливість створювати простіші шаблони для автоматизації за допомогою ipmi.get.

    Що нового в Zabbix 5.0
    ipmi.get

16. Тестування елементів даних із інтерфейсу. У Zabbix 5.0 з'явилася можливість тестування деяких елементів даних і, що важливіше, шаблонів елементів даних з інтерфейсу.

Що нового в Zabbix 5.0
Тестування елементів даних

Будь-які проблеми, що виникають, відображаються в інтерфейсі.

Що нового в Zabbix 5.0
Відображення проблем в інтерфейсі

Аналогічний алгоритм використовується шаблонів елементів даних. Крім того, якщо будь-який елемент даних не підтримується, щоб дізнатися про причину збою, потрібно просто натиснути Тест.

17. Тестування способів оповіщення, що з'явилося в Zabbix 4.4, зберігається, що важливо при інтеграції Zabbix з іншими системами, наприклад, системами тикетів.

Що нового в Zabbix 5.0
Тестування способів оповіщення

18. Підтримка користувальницьких макросів для прототипів елементів даних. Для визначення значень користувацьких макросів можна використовувати LLD-макроси.

Що нового в Zabbix 5.0
Використання LLD-макросів для визначення значень користувацьких макросів

19. Підтримка даних Float64, які необхідні, в основному, для моніторингу дуже великих значень, в Zabbix потрібно для підтримки даних, що отримуються від агентів Prometheus.
У разі встановлення Zabbix 5.0 автоматична міграція даних на стандарт Float64 не відбувається. Користувач залишається можливість використовувати старі типи даних. Скрипти міграції на Float64 запускаються вручну та змінюють типи даних в історичних таблицях. Автоматична заміна не використовується, оскільки займає тривалий час.

20. Поліпшення масштабованості Zabbix 5.0: оптимізація інтерфейсу та усунення «вузьких місць»

  • Усунені списки, що розкриваються, наприклад, для вибору вузлів мережі, тому що ця функція не масштабується.
  • З'явилися «вбудовані» ліміти для розмірів таблиць огляд.
  • З'явилися нові можливості в Monitoring > Hosts > Graphs.
  • З'явилася функція paging (Monitoring > Hosts > Web) там, де її не було.

21. Поліпшена компресія
Компресія в Zabbix заснована на розширенні для PostgreSQL - TimescaleDB (починаючи з Zabbix 4.4). TimescaleDB забезпечить автоматичне секціонування бази даних та підвищує її продуктивність, оскільки продуктивність TimescaleDB фактично не залежить від розміру бази даних.

У Zabbix 5.0 Administration > General > Housekeeping можна налаштувати, наприклад, компресію даних старше 7 днів. Це значно скорочує потрібне місце на диску (майже вдесятеро, за даними користувачів), що покращує економію дискового простору та підвищує продуктивність.

Що нового в Zabbix 5.0
Компресія за допомогою TimescaleDB

22. Налаштування SNMP на рівні інтерфейсу. У Zabbix 5.0 замість трьох типів елементів даних використовується лише один - SNMP agent. Всі атрибути SNMP перенесені на рівень інтерфейсу вузлів мережі, що дозволяє спростити шаблони, перемикання між версіями SNMP і т.д.

Що нового в Zabbix 5.0
Налаштування SNMP на рівні інтерфейсу

23. Залежність моніторингу доступності вузлів мережі від доступності проксі дозволяє відображати проблему доступності проксі як першочергову у разі недоступності вузлів мережі під час моніторингу з використанням тригера з функцією немає даних:

{HostA:item.nodata(1m)}=1

Що нового в Zabbix 5.0
Доступність вузлів мережі визначається доступністю проксі

Функція немає даних за умовчанням бере до уваги доступність проксі. Для більш строгої перевірки, яка не бере до уваги доступність проксі, використовується другий параметр. строгий:

{HostA:item.nodata(1m,strict)}=1

24. Управління правилами низькорівневого виявлення. У Zabbix 5.0 з'явився LLD-фільтр, який дозволяє переглядати в тому числі правила виявлення, що не підтримуються.

Що нового в Zabbix 5.0
LLD-фільтр

25. Можливість зняти підтвердження проблеми (unacknowledge) дозволяє виправляти помилки та корисна при створенні робочих процесів, що залежать від підтвердження проблеми.

Що нового в Zabbix 5.0
Зняття підтвердження проблеми

26. Зміна правил низькорівневого виявлення —можливість додавання винятків при виявленні об'єктів у результаті моніторингу файлових систем, що дозволяє при низькорівному виявленні створювати або не створювати певні об'єкти, тригери, елементи даних тощо, змінювати важливість проблем, додавати теги для певних об'єктів, виключати об'єкти, наприклад, тимчасові файлові системи з пошуку, змінювати інтервал оновлення даних і т.д.

Що нового в Zabbix 5.0
Виняток із низькорівневого виявлення тимчасових файлових систем

Наприклад, можна змінити рівень пріоритетності тригерів для виявлених файлових систем Oracle, залишивши рівень пріоритетності тригерів інших файлових систем на попередньому рівні.

Що нового в Zabbix 5.0
Зміна рівня пріоритетності тригерів для окремих файлових систем

27. Нові макроси в Zabbix 5.0 дозволяють підвищити якість моніторингу.

Що нового в Zabbix 5.0
Нові макроси в Zabbix 5.0

28. Інші нововведення в Zabbix 5.0:

Що нового в Zabbix 5.0
Поліпшення в Zabbix 5.0

29. Припинення підтримки
Що нового в Zabbix 5.0
Непідтримувана функціональність

Висновок

Оновитись до Zabbix 5.0 дуже просто! Встановлюйте та запускайте нові бінарні файли для сервера та frontend-файли, і сервер автоматично оновить вашу базу даних.
Інформація про процедуру оновлення Zabbix розміщена за адресою:
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500

ВАЖЛИВО!

  1. Оновлення історичних даних до формату Float64 не є обов'язковим.
  2. Дані TimescaleDB доступні лише для читання.
  3. Мінімальна необхідна версія PHP7.2.
  4. DB2 не підтримується як backend для сервера Zabbix

(!) Відео та слайди презентацій Олексія Владишева та інших спікерів Zabbix Meetup Online (Ukrainian) можна переглянути тут.

Джерело: habr.com

Додати коментар або відгук