
Zabbix — це повнофункціональна платформа моніторингу, яка може відстежувати сервери, мережеві пристрої, додатки, журнали та бізнес-показники, а потім сповіщати вас, коли щось не так (до того, як це помітять користувачі). У цьому посібнику ви розгорнете готовий до використання стек Zabbix на Ubuntu Server із веб-інтерфейсом бази даних, а потім виконаєте «перші 30 хвилин» зміцнення безпеки та початкового налаштування.
У цьому посібнику розглядаються такі теми: встановлення найновіших пакетів Zabbix на Ubuntu Server (рекомендовано: Ubuntu 24.04 LTS), налаштування MariaDB, налаштування NGINX/PHP-FPM для інтерфейсу, запуск служб, відкриття потрібних портів та підключення першого хосту з шифрованим трафіком агента. Якщо ви розгортаєте систему на новому VPS під Linux, цей процес пройде особливо гладко, оскільки ви повністю контролюєте брандмауер, версію PHP та ресурси сервера.
monitor.your-domain.com для HTTPS пізніше.| Порт | Хто слухає | Навіщо це потрібно | Типове правило брандмауера |
|---|---|---|---|
| 80/tcp | NGINX | Веб-інтерфейс (HTTP) | Дозволити з ваших IP-адрес (або всім, якщо публічний) |
| 443/tcp | NGINX | Веб-інтерфейс (HTTPS) | Дозволити з ваших IP-адрес (рекомендовано) |
| 10051/tcp | Сервер Zabbix | Трапери, проксі-сервери, активні агенти | Дозволити з проксі-серверів/агентів, що використовують активні перевірки |
| 10050/tcp | Агент Zabbix (на моніторованих хостах) | Пасивні перевірки (сервер опитує агента) | Дозволити на моніторованих хостах, не обов’язково на сервері Zabbix |
Почніть з оновлень, правильного часу та чистої базової лінії. Точний час має значення, оскільки Zabbix корелює події, тенденції та сповіщення за часовими мітками.
sudo apt update
sudo apt -y upgrade
# Set timezone (example: Europe/Berlin)
sudo timedatectl set-timezone Europe/Berlin
# Time sync (Chrony is a solid default on servers)
sudo apt -y install chrony
sudo systemctl enable --now chrony
# Optional but recommended: basic tools
sudo apt -y install curl wget gnupg lsb-release unzip
Порада для VPS: якщо ви використовуєте Zabbix на VPS-хостингу, використовуйте також моніторинг з боку провайдера (графіки CPU/RAM/диска в панелі управління). Це допоможе вам зрозуміти, чи спричинені сповіщення Zabbix самим хостом, чи додатком всередині VPS.
Zabbix зберігає метрики конфігурації в базі даних. MariaDB — популярний вибір для стеків моніторингу Linux. Для малих та середніх установок вона є швидкою, передбачуваною та простою в обслуговуванні.
sudo apt -y install mariadb-server
sudo systemctl enable --now mariadb
# Basic hardening wizard (set root password, remove test DB, etc.)
sudo mysql_secure_installation
Створіть базу даних Zabbix та виділеного користувача. Використовуйте надійний пароль (ставтеся до нього як до виробничої таємниці).
sudo mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'REPLACE_WITH_STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Інтерфейс Zabbix — це PHP-додаток. Найпростіший підхід на Ubuntu — це NGINX та PHP-FPM. Пізніше ми також встановимо Certbot (опціонально) для увімкнення HTTPS.
sudo apt -y install nginx php-fpm
sudo systemctl enable --now nginx
Тепер налаштуйте кілька параметрів PHP, які часто викликають попередження «вимоги не виконані» в інсталяторі Zabbix (часовий пояс та обмеження введення). Ваша версія PHP може відрізнятися (Ubuntu 24.04 зазвичай використовує PHP 8.3).
# Find your installed PHP-FPM version directory
ls /etc/php/
# Example for PHP 8.3:
sudo nano /etc/php/8.3/fpm/php.ini
# Set/verify:
# date.timezone = Europe/Berlin
# max_execution_time = 300
# max_input_time = 300
# post_max_size = 16M
# max_input_vars = 10000
sudo systemctl restart php8.3-fpm
Zabbix надає офіційні репозиторії для Ubuntu. Стандартна схема така: встановіть zabbix-release пакет, оновлення APT, а потім встановлення сервера, інтерфейсу, скриптів SQL та агента.
Примітка: якщо ваша компанія віддає перевагу довгостроковій стабільності, виберіть останню гілку LTS. Якщо ви віддаєте перевагу новітнім функціям та вдосконаленням, виберіть останню стабільну гілку. Процес інсталяції є однаковим — змінюється лише посилання на репозиторій.
# Example: Zabbix 7.4 repository for Ubuntu 24.04 (adjust version if needed)
cd /tmp
wget https://repo.zabbix.com/zabbix/7.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.4-1 ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_7.4-1 ubuntu24.04_all.deb
sudo apt update
# Install Zabbix server frontend NGINX config SQL scripts Agent 2
sudo apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2
Цей крок створює таблиці та базові дані, необхідні Zabbix. Це може зайняти кілька хвилин залежно від швидкості диска.
# Import schema (recommended: use zcat to avoid manual unpacking)
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
Якщо імпорт не вдається, перевірте повідомлення про помилку. Типові причини: неправильний пароль, недостатньо місця на диску або налаштування MySQL/MariaDB, які є занадто суворими для вашого середовища.
Відкрийте конфігурацію сервера та вкажіть пароль до БД, який ви створили раніше.
sudo nano /etc/zabbix/zabbix_server.conf
# Set:
# DBPassword=REPLACE_WITH_STRONG_PASSWORD
Порада щодо продуктивності: коли ви будете моніторити більше хостів, вам, ймовірно, доведеться налаштувати такі параметри, як CacheSize та StartPollers. Не варто сліпо оптимізувати з першого дня — спочатку виміряйте показники (навантаження на процесор, базу даних, розмір черги), а потім коригуйте.
У zabbix-nginx-confZabbix постачається з шаблоном сайту для NGINX. Оновіть ім’я сервера (ваш домен) та переконайтеся, що сокет/версія PHP-FPM відповідають вашій системі.
sudo nano /etc/zabbix/nginx.conf
# Common edits:
# listen 80;
# server_name monitor.your-domain.com;
# (and verify the PHP-FPM socket path if your distro differs)
Потім перезапустіть NGINX:
sudo systemctl restart nginx
sudo systemctl enable --now zabbix-server zabbix-agent2
sudo systemctl status zabbix-server --no-pager
sudo systemctl status zabbix-agent2 --no-pager
Якщо сервер Zabbix не запускається, негайно перевірте журнали:
sudo tail -n 200 /var/log/zabbix/zabbix_server.log
У Ubuntu найпростішим варіантом часто є UFW. В ідеалі обмежте доступ до веб-інтерфейсу IP-адресами вашого офісу/VPN та обмежте порт 10051 відомими проксі-серверами/агентами.
sudo apt -y install ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Zabbix server port (only if you use proxies/active agents from outside)
sudo ufw allow 10051/tcp
sudo ufw enable
sudo ufw status
Відкрийте в браузері:
http://SERVER_IP/
# or
http://monitor.your-domain.com/
Дотримуйтесь інструкцій інсталятора Zabbix, вкажіть базу даних MariaDB, а потім увійдіть у систему. Негайно змініть стандартний пароль адміністратора, створіть для себе окремий обліковий запис адміністратора, а оригінальний обліковий запис «Admin» залиште як аварійний (або вимкніть його, якщо цього вимагає ваша політика).
Zabbix Agent 2 — це сучасний агент із підтримкою плагінів та кращою розширюваністю. На тому самому сервері ви можете увімкнути шифрування PSK, щоб метрики не надсилалися у вигляді звичайного тексту.
На агенті (цьому сервері): створіть файл PSK та оновіть налаштування агента.
sudo openssl rand -hex 32 | sudo tee /etc/zabbix/agent2.psk > /dev/null
sudo chmod 600 /etc/zabbix/agent2.psk
sudo nano /etc/zabbix/zabbix_agent2.conf
# Set/verify:
# Server=127.0.0.1
# ServerActive=127.0.0.1
# TLSConnect=psk
# TLSAccept=psk
# TLSPSKIdentity=PSK-LOCAL-001
# TLSPSKFile=/etc/zabbix/agent2.psk
sudo systemctl restart zabbix-agent2
В інтерфейсі Zabbix: перейдіть до Збір даних → Хости, відкрийте свій хост, потім встановіть інтерфейс на Агент і налаштуйте Шифрування з тим самим ідентифікатором PSK та значенням PSK (вміст файлу /etc/zabbix/agent2.psk). Приєднайте шаблон Linux (наприклад, «Linux by Zabbix agent») і переконайтеся, що дані почали надходити.
Навіть для внутрішнього моніторингу HTTPS вартий уваги (облікові дані та інформаційні панелі не повинні передаватися у незашифрованому вигляді). Якщо до вашого інтерфейсу Zabbix можна отримати доступ через доменне ім’я, ви можете оформити сертифікат за допомогою Let’s Encrypt.
sudo apt -y install certbot python3-certbot-nginx
sudo certbot --nginx -d monitor.your-domain.com
Якщо ви все ще обираєте серверне програмне забезпечення для вашого стеку моніторингу, також прочитайте про варіанти VPS на базі Linux і зважте, чи потребує ваше середовище інструментів, специфічних для Windows (у такому випадку VPS на базі Windows може бути кращим варіантом).
/etc/zabbix/zabbix_server.conf, перевірте, чи завершено імпорт схеми, перевірте /var/log/zabbix/zabbix_server.log.systemctl status php8.3-fpm) та оновлюйте шлях до сокета.php.ini, а потім перезапустіть PHP-FPM.