This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

1 Висока доступність

Огляд

Висока доступність (HA) зазвичай потрібна в критичних інфраструктурах, які практично не можуть дозволити собі простоїв. Тож, для будь-якого сервісу, який може вийти з ладу, має бути передбачена можливість переключення на інший ресурс, у разі відмови поточного сервісу.

Zabbix пропонує власне рішення високої доступності, яке легко налаштувати і яке не потребує попереднього досвіду роботи з HA. Це вбудоване рішення може бути корисним як додатковий рівень захисту від програмних або апаратних збоїв сервера Zabbix або для зменшення часу простою під час технічного обслуговування.

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

Перехід на Zabbix HA не є незворотнім. Ви можете повернутися до режиму самостійної роботи в будь-який момент.

Дивіться також: Деталі реалізації

Увімкнення високої доступності

Запуск Zabbix сервера як вузла кластера

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

  • Параметр HANodeName необхідно вказати для кожного Zabbix сервера, який буде вузлом кластера високої доступності.

Це унікальний ідентифікатор вузла (наприклад, zabbix-node-01), за допомогою якого можна звертатися до сервера у конфігураціях агента та проксі. Якщо ви не вкажете HANodeName, то сервер буде запущено в автономному режимі.

  • Для кожного вузла необхідно вказати параметр NodeAddress.

Параметр NodeAddress (адреса:порт) використовуватиметься web-інтерфейсом Zabbix для підключення до активної ноди. NodeAddress має відповідати IP-адресі або FQDN імені відповідного Zabbix сервера.

Перезапустіть всі Zabbix сервери, після внесення змін до конфігураційних файлів. Тепер вони будуть запущені як вузли кластера. Новий статус серверів можна побачити в розділі ЗвітиІнформація про систему а також за допомогою команди:

zabbix_server -R ha_status

Ця команда виведе поточний стан кластера високої доступності в log-файл Zabbix сервера (і в стандартний потік виводу):

Підготовка web-інтерфейсу

Переконайтеся, що в конфігураційному файлі web-інтерфейсу ( знаходиться у conf/zabbix.conf.php в директорії з файлами веб-інтерфейсу) не вказано адреса:порт Zabbix сервера.

Web-інтерфейс Zabbix автоматично визначить активний вузол, зчитавши налаштування з таблиці вузлів у базі даних Zabbix. Адреса активного вузла буде використана як адреса Zabbix сервера.

Конфігурація проксі

Вузли (сервери) кластера HA повинні бути вказані в конфігурації пасивного або активного Zabbix проксі.

Для пасивного проксі імена вузлів кластеру мають бути вказані в параметрі Server і розділені комою.

Server=zabbix-node-01,zabbix-node-02

Для активного проксі імена вузлів кластеру мають бути вказані в параметрі Server і розділені крапкою з комою.

Server=zabbix-node-01;zabbix-node-02
Конфігурація агента

Вузли (сервери) HA кластера мають бути вказані в конфігурації Zabbix агента або Zabbix агента 2.

Щоб увімкнути пасивні перевірки, імена вузлів мають бути вказані в параметрі Server і розділені комою.

Server=zabbix-node-01,zabbix-node-02

Щоб увімкнути активні перевірки, імена вузлів мають бути вказані в параметрі ServerActive. Зверніть увагу, що для активних перевірок, вузли одного кластеру повинні бути відокремлені від інших Zabbix серверів комою, а самі вузли повинні бути розділені крапкою з комою, наприклад:

ServerActive=zabbix-node-01;zabbix-node-02

Перехід на резервний вузол

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

Як швидко відбуватиметься переключення? Усі вузли оновлюють свій час останнього доступу (і статус, якщо він змінився) кожні 5 секунд. Отже:

  • Якщо активний вузол вимикається та встигає повідомити про свій статус як "зупинений", інший вузол займе його місце протягом 5 секунд.

  • Якщо активний вузол вимикається/стає недоступним без можливості оновлення свого статусу, резервні вузли чекатимуть затримку перемикання на інший ресурс + 5 секунд

Затримку перемикання на інший ресурс можна налаштувати в діапазоні від 10 секунд до 15 хвилин (за замовчуванням одна хвилина). Щоб змінити затримку перемикання на інший ресурс, ви можете виконати команду:

zabbix_server -R ha_set_failover_delay=5m

Керування кластером високої доступності

Поточним статусом кластера HA можна керувати за допомогою спеціальних опцій контролю виконання:

  • ha_status - виводити стан кластера HA в журнал Zabbix сервера (і в стандартний потік виводу)
  • ha_remove_node=target - видалити вузол HA, що ідентифікується за його <target> - номер вузла в списку (номер може бути отримано з результату запуску ha_status), наприклад:
zabbix_server -R ha_remove_node=2

Зверніть увагу, що активні/резервні вузли не можна видалити.

  • ha_set_failover_delay=delay - встановлює затримку перемикання на інший ресурс (від 10 секунд до 15 хвилин; підтримуються суфікси часу, наприклад. 10s, 1m)

Статус вузла можна відстежувати:

  • у ЗвітиІнформація про систему
  • у віджеті інформаційної панелі Інформація про систему
  • за допомогою опції контролю виконяння ha_status (див вище).

Для виявлення нод можна використовувати внутрішній елемент даних zabbix[cluster,discovery,nodes], оскільки він повертає JSON дані з інформацією про ноди високої доступності.

Вимкнення кластера високої доступності

Щоб вимкнути кластер високої доступності:

  • зробіть резервні копії конфігураційних файлів
  • зупиніть резервні вузли
  • видаліть параметр HANodeName з активного основного сервера
  • перезапустіть основний сервер (він запуститься в автономному режимі)

Оновлення кластера високої доступності

Щоб застосувати мажорне оновлення для вузлів кластеру високої доступності:

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

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

Деталі реалізації

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

Рішення складається з кількох екземплярів zabbix_server або вузлів. Кожен вузол:

  • налаштовується окремо
  • використовує ту саму базу даних
  • може мати декілька режимів: активний, очікування, недоступний, зупинений

Одночасно активним (працюючим) може бути лише один вузол. На резервному вузлі виконується лише один процес - HA manager. Резервний вузол не виконує збір, обробку даних або іншу звичайну серверну діяльність; він не прослуховує порти; він має мінімум підключень до баз даних.

Як активні, так і резервні вузли оновлюють час свого останнього доступу кожні 5 секунд. Кожен резервний вузол відстежує час останнього доступу активного вузла. Якщо час останнього доступу активного вузла перевищує "затримку перемикання на інший ресурс", резервний вузол стає активним і присвоює статус "недоступний" попередньому активному вузлу.

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

Вузли розроблені таким чином, щоб бути сумісними між мінорними версіями Zabbix.

To toggle search highlight, press Ctrl+Alt+H
Have an improvement suggestion for this page? Select the text that could be improved and press Ctrl+Enter to send it to the editors.