8.2.6 Установка и настройка Zabbix на сервере

Звичайно! Ось повний переклад статті про встановлення та налаштування Zabbix на сервері Ubuntu 24.04 російською мовою з усіма callout-блоками, командами, скріншотами й поясненнями (збережено структуру та wiki-оформлення):

The Host Banner Zabbix

Zabbix — это мощная система мониторинга с открытым исходным кодом. Она позволяет в режиме реального времени контролировать состояние серверов, сетей, приложений, баз данных и даже облачных сред. Zabbix активно применяется как в малом бизнесе, так и в крупных корпоративных инфраструктурах.

Основные возможности Zabbix:

  • Обнаружение проблем до того, как они повлияют на пользователей;
  • Автоматические уведомления по Email, Telegram, Slack или SMS;
  • Визуализация: дашборды, графики, карты;
  • Использование шаблонов для типовых систем (Linux, MySQL, Docker и др.);
  • Масштабируемость: поддержка Zabbix Proxy и кластерных конфигураций.

Системные требования

Чтобы успешно запустить Zabbix, потребуется:

  • Виртуальный или выделенный сервер с Ubuntu Server 24.04 LTS;
  • Root-доступ или sudo;
  • Минимум 2 ГБ оперативной памяти (рекомендуется 4 ГБ+);
  • Свободное место на SSD — не менее 20 ГБ;
  • Стабильное интернет-соединение для загрузки обновлений и пакетов.

Подготовка системы

Начнем с обновления системы и установки необходимых утилит:

apt update && apt upgrade -y

update sys

Это позволит избежать конфликтов при установке и обеспечить актуальные версии пакетов.

Добавление репозитория Zabbix

Zabbix отсутствует в стандартных репозиториях Ubuntu, поэтому необходимо вручную добавить официальный пакет:

wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu24.04_all.deb
apt install ./zabbix-release_latest_7.2+ubuntu24.04_all.deb -y
apt update

Add repo1 Add repo2 Add repo3

Установка компонентов Zabbix, MySQL, Nginx, PHP

Информация: Следующая команда установит все основные компоненты для работы Zabbix: сервер, агент, веб-интерфейс, веб-сервер, PHP и базу данных MySQL.

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf \
  zabbix-sql-scripts zabbix-agent mysql-server nginx php8.3-fpm -y

apt install zabbix-server-mysql zabbix-frontend-php

Настройка базы данных MySQL

Установка Zabbix предполагает создание отдельной базы данных и пользователя:

mysql -u root -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_zabbix_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
EXIT;

Импортируем структуру базы данных:

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | \
  mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

mysql -u root -p
SET GLOBAL log_bin_trust_function_creators = 0;
EXIT;

Внимание: Не используйте учетную запись root для подключения Zabbix к базе данных. Всегда создавайте отдельного пользователя с ограниченными правами!

Настройка Zabbix Server

В файле /etc/zabbix/zabbix_server.conf нужно указать пароль базы данных:

nano /etc/zabbix/zabbix_server.conf

Найдите строку:

# DBPassword=

и замените на:

DBPassword=your_zabbix_password

DB create

Настройка веб-интерфейса через Nginx

nano /etc/zabbix/nginx.conf

Настройте параметры:

listen 8080;
server_name your_domain_or_ip;

Запуск сервисов

systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm

Test on linux

Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу:

http://<ip-сервера>:8080

В браузере запустится настройка Zabbix — выберите язык интерфейса: Interface languege

Проверьте соответствие системным требованиям:

Tech requires

Введите данные созданной базы данных:

DB data

Выберите часовой пояс: Time zone

Проверьте правильность всех данных: Check

Готово! Авторизуйтесь в системе с дефолтными данными:

Username: Admin
Password: zabbix

Dashboard panel

Важно: После успешной авторизации обязательно смените пароль администратора!

Основная часть установки и настройки завершена:

Install complete

Установка и настройка Zabbix Agent

Чтобы Zabbix мог собирать метрики с других хостов, установите агент:

apt install zabbix-agent -y
nano /etc/zabbix/zabbix_agentd.conf

Основные параметры:

Server=<IP_Zabbix_Server>
ServerActive=<IP_Zabbix_Server>
Hostname=my_monitored_host
systemctl restart zabbix-agent
systemctl enable zabbix-agent

Совет: Убедитесь, что имена хостов в конфиге агента и веб-интерфейсе совпадают — это упростит мониторинг и устранение ошибок.


Моніторинг

Добавление нового хоста через веб-интерфейс

  1. Перейдите в Data collection → Hosts;

  2. Нажмите Create host;

  3. Заполните:

    • Host name — как в конфиге агента;
    • Interfaces — IP хоста, тип Agent, порт 10050;
    • Templates — выберите Template OS Linux by Zabbix agent.

Отслеживание Ping

Для корректной работы ICMP Ping в Zabbix необходима утилита fping. Установите её на Zabbix Server, который будет выполнять проверки:

sudo apt install fping

Настройте права для fping:

sudo chmod +s /usr/bin/fping
sudo chmod +s /usr/bin/fping6

Зайдите в веб-интерфейс Zabbix:

  1. Откройте Data collectionHosts, нажмите Create host или выберите существующий хост для редактирования и заполните поля:

    • Host name: введите имя хоста (например, My_Router или Public_Web_Server).
    • Visible name: (необязательно) более понятное имя.
    • Templates: введите ICMP Ping
    • Host groups: выберите или создайте группу для хоста.

Нажмите Add в разделе “Interfaces”.

  • Type: выберите Agent (даже если Zabbix Agent не установлен на целевом устройстве — этот интерфейс нужен для указания IP-адреса хоста для сервера Zabbix/proxy).
  • IP address: введите IP-адрес устройства.
  • Port: оставьте стандартный порт 10050 или любой другой (для ping он не используется напрямую, но интерфейс нужен).

ICMP Ping

Нажмите Add.

  1. Проверка данных мониторинга:

Перейдите в MonitoringLatest data. В поле Hosts введите имя вашего хоста и нажмите Apply. Вы увидите элементы, связанные с Ping:

  • ICMP ping — доступность (1 — доступен, 0 — недоступен);
  • ICMP loss — потеря пакетов (%);
  • ICMP response time — время отклика (сек).

monitoring ping

Отслеживание HTTP/HTTPS

Мониторинг HTTP(S)-сайтов в Zabbix реализуется через Web scenarios. Они позволяют регулярно проверять доступность сайта, корректность ответов и наличие нужного контента.

Перейдите в Data collectionHosts → [Ваш хост] → WebCreate scenario

web scenario

Создайте сценарий для http\https:

  • Name: Мониторинг example.com
  • Application: (можно создать новую) Web checks
  • Update interval: 1m
  • Retries: 2
  • Agent: Mozilla/5.0 (Zabbix Web Monitor)

Create scenario

Откройте вкладку Steps и создайте два шага для http и https:

  • Name: Мониторинг example.com
  • URL: [https://example.com/]
  • Follow redirects: да
  • Required status: 200
  • Timeout: 15s

Create step

После выполнения появятся такие метрики для каждого сценария:

  • Response time for step “HTTPS” of scenario “http” — время отклика шага (в секундах). Показывает, сколько времени прошло от отправки запроса до получения ответа.
  • Response code for step “HTTPS” of scenario “http” — HTTP-статус (200, 404, 503 и т.д.).
  • Failed step of scenario “http” — номер шага, который не прошёл (например, неожиданный код, таймаут или отсутствие строки). Если все шаги прошли — значение 0.
  • Download speed for step “HTTPS” of scenario “http” — скорость загрузки (байт/сек).

httphttps

Чтобы увидеть метрики, перейдите в MonitoringLatest data. Введите имя хоста в поле Hosts и нажмите Apply.