8.2.6 Установка и настройка Zabbix на сервере
Звичайно! Ось повний переклад статті про встановлення та налаштування Zabbix на сервері Ubuntu 24.04 російською мовою з усіма callout-блоками, командами, скріншотами й поясненнями (збережено структуру та wiki-оформлення):
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
Это позволит избежать конфликтов при установке и обеспечить актуальные версии пакетов.
Добавление репозитория 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
Установка компонентов 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
Настройка базы данных 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
Настройка веб-интерфейса через 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
Доступ к веб-интерфейсу
Откройте браузер и перейдите по адресу:
http://<ip-сервера>:8080
В браузере запустится настройка Zabbix — выберите язык интерфейса:
Проверьте соответствие системным требованиям:
Введите данные созданной базы данных:
Выберите часовой пояс:
Проверьте правильность всех данных:
Готово! Авторизуйтесь в системе с дефолтными данными:
Username: Admin
Password: zabbix
Важно: После успешной авторизации обязательно смените пароль администратора!
Основная часть установки и настройки завершена:
Установка и настройка 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
Совет: Убедитесь, что имена хостов в конфиге агента и веб-интерфейсе совпадают — это упростит мониторинг и устранение ошибок.
Моніторинг
Добавление нового хоста через веб-интерфейс
-
Перейдите в Data collection → Hosts;
-
Нажмите Create host;
-
Заполните:
- 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:
-
Откройте Data collection → Hosts, нажмите 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 он не используется напрямую, но интерфейс нужен).
Нажмите Add.
- Проверка данных мониторинга:
Перейдите в Monitoring → Latest data. В поле Hosts введите имя вашего хоста и нажмите Apply. Вы увидите элементы, связанные с Ping:
ICMP ping
— доступность (1 — доступен, 0 — недоступен);ICMP loss
— потеря пакетов (%);ICMP response time
— время отклика (сек).
Отслеживание HTTP/HTTPS
Мониторинг HTTP(S)-сайтов в Zabbix реализуется через Web scenarios. Они позволяют регулярно проверять доступность сайта, корректность ответов и наличие нужного контента.
Перейдите в Data collection → Hosts → [Ваш хост] → Web → Create scenario
Создайте сценарий для http\https:
- Name: Мониторинг example.com
- Application: (можно создать новую) Web checks
- Update interval: 1m
- Retries: 2
- Agent: Mozilla/5.0 (Zabbix Web Monitor)
Откройте вкладку Steps и создайте два шага для http и https:
- Name: Мониторинг example.com
- URL: [https://example.com/]
- Follow redirects: да
- Required status: 200
- Timeout: 15s
После выполнения появятся такие метрики для каждого сценария:
- 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” — скорость загрузки (байт/сек).
Чтобы увидеть метрики, перейдите в Monitoring → Latest data. Введите имя хоста в поле Hosts и нажмите Apply.
Официальная документация: