FB pixel

Як моніторити сервер за допомогою Zabbix

303 05.09.2025

Моніторинг серверів необхідний для забезпечення стабільної та безпечної роботи інформаційних систем. Він дозволяє своєчасно виявляти збої, перевантаження, проблеми з обладнанням і програмним забезпеченням, а також контролювати стан ресурсів: процесора, оперативної пам’яті, дисків, мережевих інтерфейсів і служб. Без системи моніторингу адміністратор дізнається про проблему вже після того, як вона вплинула на користувачів, а з моніторингом – отримує попередження заздалегідь і може оперативно реагувати.

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

Система працює за агентським і безагентським принципом: можна встановити Zabbix Agent на кожен сервер або використовувати протоколи SNMP, IPMI, SSH, HTTP для збору даних без встановлення додаткових компонентів. Панель керування інструмента надає графіки, тригери, карту мережі й зручні шаблони для різних типів пристроїв.

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

Огляд архітектури Zabbix

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

У центрі знаходиться Zabbix Server – основний елемент, що керує збором даних, обробкою тригерів, зберіганням інформації та надсиланням сповіщень. Він отримує дані від агентів, зовнішніх скриптів, SNMP-пристроїв або API-інтерфейсів, перевіряє їх відповідність заданим умовам і зберігає в базі даних.

База даних (MySQL, PostgreSQL, Oracle та інші) використовується для зберігання всієї інформації: метрик, подій, історії, конфігурацій і логів. Її продуктивність безпосередньо впливає на швидкість відображення даних в інтерфейсі й на швидкість обробки подій. За великого обсягу даних рекомендується використовувати розділення на коротко- та довгострокову історію зберігання.

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

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

Для великих мереж використовується Zabbix Proxy. Проміжний компонент, що збирає дані з віддалених вузлів і передає їх на основний сервер. Це знижує навантаження на центральну систему й дозволяє моніторити географічно розподілені об’єкти, навіть якщо з’єднання з ними нестабільне або обмежене.

Додатково можуть використовуватися зовнішні скрипти, інтеграції з хмарними сервісами.

Встановлення та налаштування Zabbix-сервера

Перед початком встановлення Zabbix необхідно підготувати сервер з інстальованою операційною системою (наприклад, Ubuntu, Debian або CentOS), стабільним мережевим з’єднанням і правами адміністратора. Також знадобиться LAMP- або LEMP-стек: вебсервер, база даних і інтерпретатор PHP. У прикладі нижче розглянуто процес встановлення Zabbix Server на Ubuntu з використанням вебсервера Nginx і бази даних MariaDB.

1. Оновіть систему:

sudo apt update && sudo apt upgrade -y

2. Встановіть необхідні залежності:

sudo apt install nginx mariadb-server php php-fpm php-mysql php-xml php-bcmath php-mbstring php-gd php-ldap php-json php-cli php-zip -y

3. Налаштуйте MariaDB:

sudo mysql_secure_installation

Потім створіть базу даних і користувача для Zabbix:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER zabbix@localhost IDENTIFIED BY 'secure_password'; GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost; FLUSH PRIVILEGES;

4. Додайте офіційний репозиторій Zabbix:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb sudo apt update

5. Встановіть компоненти Zabbix:

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y

6. Імпортуйте початкову структуру бази даних:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

7. Налаштуйте параметри підключення до бази у конфігурації:

Відкрийте /etc/zabbix/zabbix_server.conf і вкажіть:

DBPassword=secure_password

8. Налаштуйте Nginx для Zabbix:

Відредагуйте файл /etc/zabbix/nginx.conf за потреби та переконайтесь, що сервер слухає потрібний порт (за замовчуванням 8080). Потім увімкніть автозавантаження:

sudo systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm sudo systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm

9. Відкрийте вебінтерфейс:

Перейдіть у браузері за адресою http://ваш_IP:8080 і виконайте покрокове налаштування через графічну панель: введіть параметри бази даних, створіть адміністратора та завершіть установку.

10. Перевірте працездатність:

sudo systemctl status zabbix-server sudo systemctl status zabbix-agent

Встановлення та налаштування Zabbix-агента на сервері

Встановлення та налаштування Zabbix-агента необхідні для збору даних із конкретного сервера, який буде перебувати під наглядом. Агент передає інформацію про стан системи на основний Zabbix-сервер. Приклад нижче описує встановлення на Ubuntu, але аналогічно можна налаштувати й інші дистрибутиви.

1. Додайте офіційний репозиторій Zabbix:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb sudo apt update

2. Встановіть агент:

sudo apt install zabbix-agent -y

3. Налаштуйте файл конфігурації агента:

Відкрийте файл /etc/zabbix/zabbix_agentd.conf і відредагуйте ключові параметри:

Server=192.0.2.10 ServerActive=192.0.2.10 Hostname=webserver01
  • Server: IP-адреса Zabbix-сервера, який має право опитувати цей агент;
  • ServerActive: адреса, на яку агент самостійно надсилатиме дані (активний режим);
  • Hostname: унікальне ім’я, яке має збігатися з тим, що вказано на Zabbix-сервері при додаванні хоста.

4. Дозвольте Zabbix-порт у фаєрволі (якщо використовується):

sudo ufw allow 10050/tcp

5. Запустіть і додайте в автозавантаження службу агента:

sudo systemctl enable zabbix-agent sudo systemctl start zabbix-agent

6. Перевірте статус агента:

sudo systemctl status zabbix-agent

7. Додайте хост на Zabbix-сервері:

Перейдіть у вебінтерфейс Zabbix, відкрийте розділ «Конфігурація» → «Хости» і створіть новий хост, вказавши:

  • ім’я хоста (має збігатися з Hostname у конфігурації агента);
  • IP-адресу або DNS-ім’я;
  • використовуваний шаблон (наприклад, Template OS Linux).

Додавання сервера в Zabbix та застосування шаблонів моніторингу

Після встановлення й запуску агента наступний крок – додати сервер у систему моніторингу Zabbix через вебінтерфейс і призначити йому відповідний шаблон. Це дозволить розпочати збір метрик і відображення даних у панелі керування.

Спочатку увійдіть у вебінтерфейс Zabbix, використовуючи дані адміністратора, і перейдіть у розділ «Конфігурація» → «Хости». Натисніть кнопку «Створити хост». У формі, що з’явиться, заповніть основні поля:

  • ім’я хоста (Host name): має точно відповідати значенню параметра Hostname у конфігурації агента на цільовому сервері;
  • групи (Groups): виберіть існуючу групу (наприклад, «Linux servers») або створіть нову;
  • інтерфейс (Agent interfaces): додайте IP-адресу сервера, з якого буде збиратися інформація. Порт за замовчуванням 10050.

Після заповнення основних параметрів натисніть вкладку «Шаблони», потім «Додати» і виберіть потрібний шаблон моніторингу. Для більшості Linux-серверів підійде Template OS Linux. Його застосування забезпечить збір ключових метрик: завантаження процесора, пам’яті, дискового простору, роботи служб і мережевої активності.

Далі збережіть зміни. Через кілька хвилин, якщо агент працює коректно й з’єднання з сервером встановлено, почне надходити інформація. У розділі «Моніторинг» → «Останні дані» можна відстежувати актуальні показники. За потреби Zabbix автоматично створить графіки, тригери та події на основі шаблону.

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

Налаштування тригерів і сповіщень

Налаштування тригерів і сповіщень у Zabbix дозволяє автоматично реагувати на відхилення в роботі серверів і сервісів. Це важлива частина системи моніторингу, що забезпечує своєчасне інформування про проблеми.

Спочатку необхідно визначити умови, за яких має спрацьовувати сповіщення. Це робиться через тригери, які аналізують значення метрик, зібраних від агентів або інших джерел. Наприклад, тригер може відстежувати, якщо завантаження процесора перевищує 90% протягом 5 хвилин. Для створення власного тригера перейдіть у розділ «Конфігурація» → «Хости», виберіть потрібний сервер, відкрийте вкладку «Тригери» і натисніть «Створити тригер». Вкажіть назву, пріоритет, вираз умови та прив’язку до елемента даних. Вирази задаються за допомогою мови Zabbix і дозволяють використовувати різні логічні й часові параметри.

Після налаштування тригерів необхідно налаштувати механізм сповіщень. Це робиться в розділі «Адміністрування» → «Типи медіа», де додаються способи сповіщень: електронна пошта, Telegram, Slack, вебхуки та інші. Потім у розділі «Користувачі» кожному адміністратору призначаються бажані канали зв’язку та розклади.

Останній етап – створення правил дій. У розділі «Конфігурація» → «Дії» створіть нове правило, вкажіть умову спрацювання (наприклад, будь-який тригер із середнім і високим рівнем важливості), виберіть користувача, тип медіа й текст сповіщення. Можна також задати ескалації, щоб повідомлення повторювались або перенаправлялись на інші контакти, якщо проблема не вирішується.

Після збереження налаштувань Zabbix почне автоматично відстежувати зазначені параметри та інформувати відповідальних осіб у разі збоїв.

Найкращі практики й рекомендації з ефективного моніторингу

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

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

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

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

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

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

Дізнайтесь більше як купити домен, хостинг, VPS або виділений сервер.

FAQ

Що таке Items, Triggers і Graphs у Zabbix?

Items (Елементи даних) це конкретні метрики, які Zabbix збирає з відстежуваних пристроїв (наприклад, завантаження CPU, використання диска). Triggers (Тригери) це логічні умови, що ґрунтуються на даних елементів, які визначають, коли ситуація є проблемною (наприклад, якщо завантаження CPU перевищує 90%). Graphs (Графіки) це візуальне представлення зібраних даних, що дозволяє легко відстежувати зміни метрик у часі.

Як налаштувати сповіщення в Zabbix, щоб отримувати повідомлення про проблеми?

Для налаштування сповіщень у Zabbix потрібно визначити Media Types (типи сповіщень, наприклад, електронна пошта, SMS), створити Users (користувачів) і пов’язати їх із цими типами сповіщень. Потім створюються Actions (дії), які визначають, які сповіщення надсилати, кому й за яких умов (наприклад, при спрацюванні певного тригера).

Що таке Templates у Zabbix і як вони спрощують моніторинг?

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