bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Встановлення Zabbix Server на

calendar_month Jun 13, 2026 schedule 17 хв. читання visibility 56 переглядів
Установка Zabbix Server на VPS: Комплексный мониторинг и алертинг
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення Zabbix Server на VPS: Комплексний моніторинг та алертинг

TL;DR

У цьому докладному посібнику ми крок за кроком налаштуємо Zabbix Server версії 7.0 LTS на операційній системі Ubuntu Server 24.04 LTS, використовуючи PostgreSQL 16, Nginx та PHP 8.3. Ви навчитеся встановлювати всі необхідні компоненти, конфігурувати їх для оптимальної роботи, забезпечувати безпеку та налаштовувати базовий моніторинг, щоб отримати потужну та гнучку систему для відстеження стану ваших серверів та застосунків.

  • Встановимо Zabbix Server 7.0 LTS на Ubuntu Server 24.04 LTS.
  • Налаштуємо базу даних PostgreSQL 16 для зберігання даних Zabbix.
  • Розгорнемо веб-інтерфейс Zabbix з використанням Nginx та PHP 8.3.
  • Забезпечимо базову безпеку сервера за допомогою UFW та Fail2ban.
  • Налаштуємо автоматичні бекапи ключових даних Zabbix.
  • Розберемо типові проблеми та способи їх усунення.

Що ми налаштовуємо і навіщо

Схема: Що ми налаштовуємо і навіщо
Схема: Що ми налаштовуємо і навіщо

Ми будемо встановлювати Zabbix Server — потужну, універсальну та повністю безкоштовну систему моніторингу з відкритим вихідним кодом. Zabbix дозволяє збирати дані про продуктивність та доступність практично будь-яких мережевих пристроїв, серверів, віртуальних машин, хмарних сервісів та застосунків. Він може відстежувати тисячі різних метрик, таких як завантаження CPU, використання пам'яті, дисковий простір, мережевий трафік, стан процесів, логи застосунків та багато іншого.

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

Існують різні підходи до моніторингу. Можна використовувати хмарні керовані рішення (наприклад, AWS CloudWatch, Google Cloud Monitoring, Datadog), які пропонують зручність та масштабованість за абонентську плату. Однак, розгортання Zabbix на власному VPS або виділеному сервері має низку переваг:

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

Таким чином, Zabbix на VPS — це ідеальне рішення для тих, хто шукає потужний, гнучкий та економічно ефективний інструмент моніторингу з повним контролем над даними.

Який VPS-конфіг потрібен для цього завдання

Схема: Який VPS-конфіг потрібен для цього завдання
Схема: Який VPS-конфіг потрібен для цього завдання

Вибір конфігурації VPS для Zabbix Server залежить від масштабу моніторингу. Чим більше пристроїв, елементів даних (items) та тригерів ви плануєте відстежувати, тим потужнішим має бути сервер. Zabbix досить ресурсоємний, особливо його база даних, тому не варто економити на ресурсах.

Мінімальні вимоги для Zabbix Server (для невеликої інфраструктури, до 50 пристроїв):

  • CPU: 2 vCPU. Zabbix Server активно використовує процесор для обробки даних та виконання перевірок.
  • RAM: 4 ГБ. Оперативна пам'ять критична для бази даних (PostgreSQL або MySQL) та процесів Zabbix Server.
  • Диск: 80 ГБ SSD. SSD значно прискорює роботу бази даних, що важливо для продуктивності Zabbix. Об'єм залежить від глибини зберігання історії даних.
  • Мережа: 100 Мбіт/с або 1 Гбіт/с. Для передачі даних від агентів та доступу до веб-інтерфейсу.

Рекомендований VPS-план для середніх завдань (до 200 пристроїв, кілька тисяч метрик):

Для більш серйозних завдань, де потрібен моніторинг до 200 пристроїв з частим збором даних, необхідні більш продуктивні ресурси. Наприклад, можна взяти VPS з 4 vCPU, 8 ГБ RAM та 200 ГБ SSD. Це забезпечить стабільну роботу Zabbix, дозволить зберігати більше історичної інформації та обробляти більше запитів без затримок. Переконайтеся, що ваш провайдер пропонує стабільний та швидкий SSD-диск (NVMe краще) та достатню пропускну здатність мережі.

Коли потрібен dedicated, а не VPS

Виділений сервер стає кращим, коли:

  • Дуже велика інфраструктура: Моніторинг сотень або тисяч пристроїв, збір мільйонів метрик за хвилину.
  • Тривале зберігання даних: Необхідність зберігати історію даних роками, що вимагає терабайтів дискового простору.
  • Висока продуктивність бази даних: VPS може мати обмеження щодо IOPS, що критично для високонавантажених баз даних Zabbix. Виділений сервер дає гарантовану продуктивність дискової підсистеми.
  • Вимоги до ізоляції: Повна фізична ізоляція від інших клієнтів провайдера.

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

Локація: на що впливає

Вибір локації VPS також важливий:

  • Затримка (Latency): Розміщуйте Zabbix Server якомога ближче до об'єктів моніторингу (агентів), щоб мінімізувати затримки при зборі даних. Висока затримка може призводити до хибних спрацьовувань тригерів або пропусків збору метрик.
  • Географічний розподіл: Якщо ваша інфраструктура розподілена по різних континентах, розгляньте можливість розміщення кількох Zabbix Proxy в регіонах для збору даних та їх подальшої передачі на центральний Zabbix Server.
  • Законодавство: Враховуйте закони про зберігання даних у вибраній локації, якщо це критично для вашого проєкту.

Підготовка сервера

Схема: Підготовка сервера
Схема: Підготовка сервера

Перш ніж встановлювати Zabbix, необхідно провести базове налаштування безпеки та оновити операційну систему. Ми будемо використовувати Ubuntu Server 24.04 LTS.

1. Підключення по SSH та створення користувача

Підключіться до вашого VPS по SSH під користувачем root або тим користувачем, якого надав хостинг-провайдер. Потім створіть нового користувача з обмеженими правами для повсякденної роботи та додайте його до групи sudo.


# Створюємо нового користувача (замініть 'youruser' на бажане ім'я)
sudo adduser youruser

# Додаємо користувача до групи sudo
sudo usermod -aG sudo youruser

# Переключаємося на нового користувача
su - youruser

Надалі всі команди будуть виконуватися від імені цього користувача з використанням sudo.

2. Оновлення системи

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


# Оновлюємо список пакетів
sudo apt update

# Оновлюємо встановлені пакети
sudo apt upgrade -y

# Перезавантажуємо сервер, якщо потрібне оновлення ядра
sudo reboot

Після перезавантаження знову підключіться по SSH.

3. Налаштування файрволу (UFW)

Увімкніть Uncomplicated Firewall (UFW) та дозвольте лише необхідні порти. Для Zabbix нам знадобляться SSH (порт 22), HTTP (порт 80) та HTTPS (порт 443), а також порт Zabbix Server (10051) та Zabbix Agent (10050) для взаємодії з самим сервером та агентами.


# Дозволяємо SSH (порт 22)
sudo ufw allow ssh

# Дозволяємо HTTP (порт 80)
sudo ufw allow http

# Дозволяємо HTTPS (порт 443)
sudo ufw allow https

# Дозволяємо порт Zabbix Server (для вхідних з'єднань від агентів/проксі)
sudo ufw allow 10051/tcp

# Дозволяємо порт Zabbix Agent (якщо Zabbix Agent буде встановлений на цьому ж сервері та моніторитиме його)
sudo ufw allow 10050/tcp

# Вмикаємо UFW
sudo ufw enable

Підтвердіть увімкнення файрволу, набравши y. Перевірити статус UFW можна командою sudo ufw status.

4. Встановлення Fail2ban

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


# Встановлюємо Fail2ban
sudo apt install fail2ban -y

# Вмикаємо та запускаємо сервіс Fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Fail2ban за замовчуванням налаштований на захист SSH. Ви можете додати додаткові правила, якщо буде потрібно.

5. Встановлення базових утиліт

Встановіть кілька корисних утиліт, які стануть у пригоді в процесі налаштування та адміністрування.


# Встановлюємо curl, wget, git, htop, nano
sudo apt install curl wget git htop nano -y

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

У цьому розділі ми встановимо всі необхідні компоненти для роботи Zabbix Server 7.0 LTS: сервер бази даних PostgreSQL 16, веб-сервер Nginx, PHP 8.3 і, власне, сам Zabbix Server.

1. Встановлення PostgreSQL Server 16

Zabbix може використовувати різні бази даних, але PostgreSQL є чудовим вибором для продуктивності та надійності. Ubuntu 24.04 LTS постачається з PostgreSQL 16.


# Встановлюємо PostgreSQL 16 та додаткові модулі
sudo apt install postgresql postgresql-contrib -y

# Перевіряємо статус сервісу PostgreSQL
sudo systemctl status postgresql

Переконайтеся, що сервіс запущений та активний.

2. Створення бази даних та користувача Zabbix

Створимо нову базу даних та користувача PostgreSQL спеціально для Zabbix, а також встановимо пароль для цього користувача. Використовуйте надійний пароль!


# Перемикаємося на користувача postgres для роботи з БД
sudo -u postgres psql

# Створюємо базу даних zabbix
CREATE DATABASE zabbix ENCODING 'UTF8' LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8' TEMPLATE template0;

# Створюємо користувача zabbix та встановлюємо пароль (замініть 'your_db_password' на надійний пароль)
CREATE USER zabbix WITH PASSWORD 'your_db_password';

# Надаємо всі привілеї користувачу zabbix для бази даних zabbix
GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;

# Виходимо з psql
\q

3. Встановлення Zabbix Server 7.0 LTS

Додамо офіційний репозиторій Zabbix для Ubuntu 24.04 та встановимо необхідні пакети.


# Завантажуємо та встановлюємо репозиторій Zabbix 7.0 LTS для Ubuntu 24.04
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb

# Оновлюємо список пакетів після додавання репозиторію
sudo apt update

# Встановлюємо Zabbix Server з підтримкою PostgreSQL, Zabbix Frontend з Nginx та Zabbix Agent
sudo apt install zabbix-server-pgsql zabbix-frontend-php zabbix-nginx-conf zabbix-agent -y

Ця команда встановить Zabbix Server, веб-інтерфейс, конфігурацію Nginx для Zabbix та Zabbix Agent (який моніторитиме сам сервер Zabbix).

4. Імпорт початкової схеми бази даних

Тепер необхідно імпортувати початкову схему та дані Zabbix у створену базу даних. При запиті пароля введіть пароль для користувача zabbix, який ви встановили раніше.


# Імпортуємо схему та дані (пароль для користувача zabbix буде запитано)
sudo -u zabbix psql -h localhost zabbix < /usr/share/zabbix-sql-scripts/postgresql/server.sql

Якщо команда виконається без помилок, схема бази даних Zabbix буде успішно імпортована.

5. Налаштування PHP для Zabbix Frontend

Zabbix Frontend вимагає певних налаштувань PHP. За замовчуванням Zabbix-Nginx-Conf встановлює PHP-FPM, але нам потрібно переконатися, що всі параметри відповідають вимогам.


# Відкриваємо файл конфігурації PHP-FPM (для PHP 8.3)
sudo nano /etc/php/8.3/fpm/php.ini

Знайдіть та змініть (або додайте, якщо відсутні) наступні параметри:


max_execution_time = 300
max_input_time = 300
memory_limit = 256M
post_max_size = 16M
upload_max_filesize = 16M
date.timezone = Europe/Moscow ; Замініть на вашу часову зону

Збережіть зміни (Ctrl+O, Enter, Ctrl+X).

6. Налаштування Nginx

Пакет zabbix-nginx-conf вже надав конфігураційний файл для Nginx. Зазвичай він знаходиться в /etc/nginx/conf.d/zabbix.conf або /etc/nginx/sites-available/zabbix.conf. Переконайтеся, що Nginx налаштований на прослуховування правильного порту PHP-FPM.


# Перевіряємо конфігураційний файл Nginx для Zabbix
sudo nano /etc/nginx/conf.d/zabbix.conf

Переконайтеся, що секція location ~ \.php$ вказує на правильний сокет PHP-FPM (для PHP 8.3 це зазвичай /run/php/php8.3-fpm.sock):


# Приклад вмісту zabbix.conf (переконайтеся, що fastcgi_pass відповідає вашій версії PHP)
server {
    listen 80;
    server_name your_domain_or_ip; # Замініть на IP вашого VPS або доменне ім'я

    root /usr/share/zabbix;
    index index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ /\.ht {
        deny all;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.3-fpm.sock; # Переконайтеся, що це відповідає вашій версії PHP-FPM
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
    }
}

Збережіть зміни, якщо вони були внесені.

Конфігурація

Схема: Конфігурація
Схема: Конфігурація

Після встановлення всіх компонентів необхідно виконати остаточне налаштування Zabbix Server, Nginx та PHP-FPM, а також забезпечити безпеку за допомогою TLS/HTTPS.

1. Налаштування Zabbix Server

Відредагуйте основний конфігураційний файл Zabbix Server, щоб вказати параметри підключення до бази даних.


# Відкриваємо конфігураційний файл Zabbix Server
sudo nano /etc/zabbix/zabbix_server.conf

Знайдіть та змініть наступні рядки, використовуючи пароль, який ви задали для користувача zabbix у PostgreSQL:


DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_db_password ; Замініть на ваш надійний пароль

Збережіть зміни (Ctrl+O, Enter, Ctrl+X).

2. Запуск та увімкнення сервісів

Після всіх налаштувань можна запустити Zabbix Server, Nginx та перезапустити PHP-FPM.


# Перезапускаємо PHP-FPM, щоб застосувати зміни в php.ini
sudo systemctl restart php8.3-fpm

# Увімкнення та запуск Zabbix Server
sudo systemctl enable zabbix-server
sudo systemctl start zabbix-server

# Увімкнення та запуск Nginx
sudo systemctl enable nginx
sudo systemctl start nginx

# Перевіряємо статус усіх сервісів
sudo systemctl status zabbix-server
sudo systemctl status nginx
sudo systemctl status php8.3-fpm

Переконайтеся, що всі сервіси знаходяться в стані active (running).

3. Налаштування TLS/HTTPS з Certbot (Let's Encrypt)

Настійно рекомендується використовувати HTTPS для доступу до веб-інтерфейсу Zabbix. Ми використовуємо Certbot для отримання безкоштовних SSL/TLS сертифікатів від Let's Encrypt.

Попередня умова: Ваш VPS повинен мати доменне ім'я, що вказує на його IP-адресу. Наприклад, zabbix.yourdomain.com.


# Встановлюємо Certbot для Nginx
sudo apt install certbot python3-certbot-nginx -y

# Отримуємо та встановлюємо SSL-сертифікат
# Замініть 'zabbix.yourdomain.com' на ваше доменне ім'я
sudo certbot --nginx -d zabbix.yourdomain.com

Certbot поставить кілька запитань: ваш email, згода з умовами використання та, можливо, запропонує перенаправляти HTTP-трафік на HTTPS. Рекомендується вибрати автоматичне перенаправлення (option 2).

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

4. Первинне налаштування Zabbix Frontend через веб-інтерфейс

Відкрийте ваш браузер і перейдіть за адресою https://zabbix.yourdomain.com (або http://your_vps_ip, якщо ви ще не налаштували HTTPS). Ви побачите покроковий майстер встановлення Zabbix Frontend.

  1. Welcome: Натисніть "Next step".
  2. Check of pre-requisites: Переконайтеся, що всі пункти відзначені зеленим. Якщо є попередження, поверніться до налаштування PHP (php.ini) та Nginx.
  3. Configure DB connection:
    • Database type: PostgreSQL
    • Database host: localhost
    • Database port: 5432
    • Database name: zabbix
    • User: zabbix
    • Password: your_db_password (той, що ви задали)
    Натисніть "Next step".
  4. Zabbix server details:
    • Host: localhost
    • Port: 10051
    • Zabbix server name: (необов'язково, але корисно, наприклад, "Main Zabbix Server")
    Натисніть "Next step".
  5. Pre-installation summary: Перевірте всі налаштування та натисніть "Next step".
  6. Install: Встановлення завершено. Натисніть "Finish".

Тепер ви можете увійти до Zabbix Frontend. Стандартні облікові дані:

  • Username: Admin
  • Password: zabbix

Обов'язково змініть пароль за замовчуванням відразу після першого входу!

5. Перевірка працездатності

Після входу до веб-інтерфейсу Zabbix:

  • Перейдіть до "Administration" -> "Servers". Переконайтеся, що ваш Zabbix Server відображається як "Available" (зелений значок).
  • Перейдіть до "Monitoring" -> "Hosts". Ви повинні побачити хост "Zabbix server" зі статусом "Available".
  • Перевірте логи Zabbix Server:
  • 
    sudo tail -f /var/log/zabbix/zabbix_server.log
    

    Не повинно бути критичних помилок.

Ваш Zabbix Server успішно встановлений та готовий до роботи!

Резервне копіювання та обслуговування

Схема: Резервне копіювання та обслуговування
Схема: Резервне копіювання та обслуговування

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

1. Що резервувати

Для повного відновлення Zabbix Server необхідно резервувати наступні компоненти:

  • База даних Zabbix: Це найважливіший компонент, що містить усі зібрані метрики, конфігурацію хостів, шаблони, тригери, користувачів та історію.
  • Конфігураційні файли Zabbix Server: /etc/zabbix/zabbix_server.conf.
  • Конфігураційні файли Zabbix Agent (якщо встановлено на тому ж сервері): /etc/zabbix/zabbix_agentd.conf та /etc/zabbix/zabbix_agentd.d/.
  • Конфігураційні файли веб-сервера: Наприклад, /etc/nginx/conf.d/zabbix.conf та /etc/nginx/sites-available/zabbix.yourdomain.com (якщо ви використовуєте Certbot).
  • Конфігурація PHP-FPM: /etc/php/8.3/fpm/php.ini.
  • SSL-сертифікати: Зазвичай Certbot зберігає їх у /etc/letsencrypt/.

2. Простий скрипт авторезервного копіювання бази даних

Створимо простий скрипт для щоденного резервного копіювання бази даних PostgreSQL за допомогою pg_dump.


# Створюємо директорію для резервних копій (якщо ще немає)
sudo mkdir -p /var/backups/zabbix_db

# Створюємо скрипт резервного копіювання
sudo nano /usr/local/bin/backup_zabbix_db.sh

Вставте наступний вміст, замінивши your_db_password на ваш пароль користувача Zabbix:


#!/bin/bash

# Налаштування бази даних
DB_NAME="zabbix"
DB_USER="zabbix"
DB_PASS="your_db_password" # ВАЖЛИВО: Зберігання пароля у скрипті не є найкращою практикою для продакшену.
                          # Для продакшену використовуйте файл .pgpass або змінні оточення.
                          # Для цього посібника ми використовуємо простий підхід.
BACKUP_DIR="/var/backups/zabbix_db"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_${TIMESTAMP}.sql"

# Створюємо резервну копію
PGPASSWORD="${DB_PASS}" pg_dump -h localhost -U "${DB_USER}" "${DB_NAME}" > "${BACKUP_FILE}"

# Перевіряємо успішність резервного копіювання
if [ $? -eq 0 ]; then
    echo "Zabbix database backup created successfully: ${BACKUP_FILE}"
else
    echo "Error creating Zabbix database backup."
    exit 1
fi

# Видаляємо старі резервні копії (наприклад, старші 7 днів)
find "${BACKUP_DIR}" -name "${DB_NAME}_*.sql" -mtime +7 -delete
echo "Old backups cleaned up."

exit 0

Збережіть та закрийте файл. Зробіть скрипт виконуваним:


sudo chmod +x /usr/local/bin/backup_zabbix_db.sh

3. Налаштування Cron для автоматичного резервного копіювання

Додамо завдання до Cron для щоденного виконання скрипта резервного копіювання.


# Відкриваємо crontab для користувача root
sudo crontab -e

Додайте наступний рядок у кінець файлу, щоб скрипт виконувався щодня о 03:00 ранку:


0 3 * * * /usr/local/bin/backup_zabbix_db.sh >> /var/log/zabbix_db_backup.log 2>&1

Збережіть та закрийте файл.

4. Куди зберігати резервні копії

Зберігання резервних копій на тому ж сервері, що й оригінальні дані, вкрай ризиковано. Рекомендується використовувати зовнішні сховища:

  • Хмарне сховище, сумісне з S3: Використовуйте утиліти на кшталт awscli, rclone або s3cmd для автоматичного завантаження резервних копій в S3-бакет.
  • Окремий VPS або NAS: Передавайте резервні копії по SSH за допомогою rsync на інший сервер.
  • Зовнішній жорсткий диск: Якщо це виділений сервер і є можливість підключення.

Для перенесення конфігів та SSL-сертифікатів можна використовувати той самий rsync.


# Приклад команди rsync для перенесення резервних копій на віддалений сервер (замініть на свої дані)
# rsync -avz /var/backups/zabbix_db/ youruser@your_remote_server:/path/to/remote/backups/

5. Оновлення: rolling vs maintenance window

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

  • Оновлення ОС: Регулярно запускайте sudo apt update && sudo apt upgrade -y. Для мінорних оновлень це можна робити без зупинки Zabbix. Для великих оновлень ядра або критичних компонентів ОС рекомендується планувати "вікно обслуговування" (maintenance window) та перезавантажувати сервер.
  • Оновлення Zabbix: Для мінорних оновлень Zabbix (наприклад, з 7.0.0 до 7.0.1) зазвичай достатньо зупинити Zabbix Server, оновити пакети zabbix-server-pgsql zabbix-frontend-php zabbix-nginx-conf zabbix-agent та запустити його знову. Zabbix автоматично оновить схему БД за необхідності. Для мажорних оновлень (наприклад, з 6.0 LTS до 7.0 LTS) потрібне більш ретельне планування, читання документації та тестування на окремому стенді. Завжди робіть повну резервну копію перед мажорним оновленням.

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

Вирішення проблем + FAQ

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

Який VPS-конфіг мінімально підійде для Zabbix?

Для невеликого середовища (до 50 хостів, кілька сотень метрик) мінімально достатнім буде VPS з 2 vCPU, 4 ГБ оперативної пам'яті та 80 ГБ SSD-диска. Однак, якщо ви плануєте зберігати історію даних більше місяця або моніторити більше об'єктів, настійно рекомендується збільшити обсяг RAM до 8 ГБ та дисковий простір до 200 ГБ SSD. Використання SSD є критично важливим для продуктивності бази даних Zabbix.

Що обрати — VPS чи dedicated для цього завдання?

Для більшості початкових та середніх проєктів (до 200-300 хостів) VPS є оптимальним вибором через його гнучкість та вартість. Він дозволяє швидко розгорнути систему та масштабувати ресурси за необхідності. Виділений сервер стає доцільним при дуже великих масштабах моніторингу (сотні та тисячі хостів, мільйони метрик), коли потрібна максимальна продуктивність дискової підсистеми, гарантовані ресурси CPU/RAM та повна фізична ізоляція. Також dedicated може бути кращим для тривалого зберігання великих обсягів історичних даних.

Zabbix Server не запускається, або в логах помилки "cannot connect to database"?

Що перевірити:

  1. Переконайтеся, що PostgreSQL запущено: sudo systemctl status postgresql.
  2. Перевірте конфігураційний файл Zabbix Server: sudo nano /etc/zabbix/zabbix_server.conf. Переконайтеся, що параметри DBHost, DBName, DBUser та DBPassword вказані вірно та відповідають створеній базі даних та користувачу.
  3. Переконайтеся, що користувач zabbix у PostgreSQL має правильний пароль та права на базу даних zabbix. Можна спробувати підключитися вручну: sudo -u zabbix psql zabbix (потребуватиме пароль).
  4. Перевірте логи Zabbix Server: sudo tail -f /var/log/zabbix/zabbix_server.log для більш детальної інформації про помилку.

Веб-інтерфейс Zabbix недоступний (502 Bad Gateway або 404 Not Found)?

Що перевірити:

  1. Переконайтеся, що Nginx запущено: sudo systemctl status nginx.
  2. Переконайтеся, що PHP-FPM запущено: sudo systemctl status php8.3-fpm.
  3. Перевірте конфігураційний файл Nginx для Zabbix (наприклад, /etc/nginx/conf.d/zabbix.conf). Переконайтеся, що root /usr/share/zabbix; вказано вірно та fastcgi_pass вказує на правильний сокет PHP-FPM (unix:/run/php/php8.3-fpm.sock).
  4. Перевірте логи Nginx: sudo tail -f /var/log/nginx/error.log.
  5. Переконайтеся, що всі необхідні пакети PHP встановлені (наприклад, php-pgsql, php-gd, php-xml).

Zabbix Agent на сервері Zabbix не надсилає дані?

Що перевірити:

  1. Переконайтеся, що Zabbix Agent запущено: sudo systemctl status zabbix-agent.
  2. Перевірте конфігураційний файл агента: sudo nano /etc/zabbix/zabbix_agentd.conf. Переконайтеся, що Server=127.0.0.1 або IP-адреса вашого Zabbix Server, а Hostname відповідає імені хоста, вказаному у веб-інтерфейсі Zabbix.
  3. Перевірте, що порт 10050 відкрито в UFW на сервері, де запущено агент: sudo ufw status.
  4. Перегляньте логи агента: sudo tail -f /var/log/zabbix/zabbix_agentd.log.

Попередження "PHP time zone not set" у веб-інтерфейсі Zabbix?

Що перевірити:

Це означає, що у файлі php.ini не вказано часовий пояс або його вказано невірно. Відкрийте sudo nano /etc/php/8.3/fpm/php.ini, знайдіть рядок ;date.timezone = та розкоментуйте його, вказавши свій часовий пояс, наприклад: date.timezone = Europe/Moscow. Після зміни перезапустіть PHP-FPM: sudo systemctl restart php8.3-fpm.

Як змінити пароль Admin у Zabbix?

Після входу у веб-інтерфейс Zabbix, перейдіть до "Administration" -> "Users". Виберіть користувача "Admin", натисніть на нього. У вікні, що відкрилося, знайдіть поле "Password" та натисніть "Change password". Введіть новий надійний пароль та підтвердіть його. Потім натисніть "Update". Це вкрай важливий крок для забезпечення безпеки вашої системи моніторингу.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Вітаємо! Ви успішно встановили та налаштували Zabbix Server 7.0 LTS на вашому VPS, створивши потужну та гнучку платформу для моніторингу всієї вашої інфраструктури. Тепер у вас є повний контроль над збором даних, їх аналізом та системою сповіщень, що дозволить оперативно реагувати на будь-які проблеми та підтримувати високий рівень доступності ваших сервісів.

Подальший розвиток вашої системи моніторингу може включати:

  1. Розгортання Zabbix Agent на інших серверах: Встановіть Zabbix Agent на всі хости, які ви хочете моніторити, та додайте їх до Zabbix Server.
  2. Використання Zabbix Proxy: Для моніторингу віддалених офісів, хмарних середовищ або дуже великих інфраструктур розгляньте розгортання Zabbix Proxy для зниження навантаження на центральний сервер та зменшення мережевого трафіку.
  3. Налаштування сповіщень: Інтегруйте Zabbix з вашою системою сповіщень (електронна пошта, Telegram, Slack, PagerDuty), щоб отримувати сповіщення про проблеми в реальному часі.
  4. Створення користувацьких шаблонів та скриптів: Розробіть власні шаблони моніторингу для специфічних застосунків або сервісів, використовуючи можливості Zabbix щодо розширюваного моніторингу.
  5. Оптимізація продуктивності: У міру зростання кількості відстежуваних метрик, вивчіть можливості щодо оптимізації бази даних PostgreSQL, налаштування Zabbix Server та масштабування ресурсів VPS.

Поділитися цим записом:

Встановлення Zabbix Server на VPS: комплексний моніторинг та алертинг
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.