Гид по технологиям

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

6 min read Системное администрирование Обновлено 31 Dec 2025
Установка Zabbix на Ubuntu/Debian — пошагово
Установка Zabbix на Ubuntu/Debian — пошагово

Установка и настройка Zabbix на Ubuntu: экран иконки установки

Системные администраторы часто пользуются системами мониторинга, такими как Zabbix, чтобы отслеживать серверы, виртуальные машины, сетевые устройства и многое другое. Zabbix предоставляет удобный веб-интерфейс для централизованного контроля и управления метриками и событиями.

Это руководство упрощает процесс установки Zabbix на Ubuntu и Debian, показывает необходимые предварительные шаги и даёт дополнительные рекомендации по безопасности, настройке и проверке работоспособности.

Что необходимо перед установкой

Коротко — что должно быть готово:

  • root-доступ или аккаунт с sudo
  • MySQL / MariaDB
  • PHP (версия совместимая с Zabbix 5.x)
  • Веб-сервер Apache (или Nginx, но дальше — Apache)
  • Доступ к порту 80/443 и портам агентов (10050/10051)

Короткое определение: Zabbix — сервер мониторинга и система визуализации метрик и оповещений.

Шаг 1. Установка Apache и PHP

Zabbix использует PHP, поэтому сначала устанавливаем Apache и необходимые модули PHP.

Добавьте PPA (при необходимости для более свежих версий PHP):

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt upgrade -y

Установите Apache и модули PHP:

sudo apt install -y apache2 php php-mysql php-ldap php-bcmath php-gd php-xml libapache2-mod-php

Проверьте статус Apache:

systemctl status apache2

Если сервис не запущен, используйте:

systemctl start apache2
systemctl stop apache2
systemctl restart apache2

Важно: для продакшн-среды предпочтительнее применять PHP-FPM + Nginx, но Apache + mod_php подходит для быстрых развёртываний и тестовых стендов.

Шаг 2. Установка и настройка MySQL / MariaDB

Установите MySQL сервер и клиент:

sudo apt install -y mysql-server mysql-client

Запустите скрипт безопасной настройки:

mysql_secure_installation

Отвечайте утилите утвердительно на вопросы (y) для установки root-пароля, удаления анонимных пользователей, отключения удалённого входа root и удаления тестовой базы.

Создайте базу данных и пользователя для Zabbix:

mysql -u root -p
CREATE DATABASE zabbixdb character set utf8 collate utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ваш_надёжный_пароль';
GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbix'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;

Совет по безопасности: в продакшне ограничьте привилегии пользователя zabbix только необходимыми командами и используйте отдельный аккаунт для резервного копирования.

Шаг 3. Скачивание и установка Zabbix

Скачайте пакет репозитория Zabbix (пример для Zabbix 5.0 на Debian Buster):

wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
sudo apt ./zabbix-release_5.0-1+buster_all.deb
sudo apt update
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-agent

Загрузите схему базы данных в созданную базу:

zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u root -p zabbixdb

Заметка: если вы используете MariaDB, команды те же. Для других версий Zabbix меняется ссылка на пакет репозитория.

Шаг 4. Настройка конфигурации Zabbix Server

Отредактируйте файл конфигурации сервера Zabbix:

sudo nano /etc/zabbix/zabbix_server.conf

Найдите и измените значения подключения к БД:

DBHost=localhost
DBName=zabbixdb
DBUser=zabbix
DBPassword=ваш_надёжный_пароль

Сохраните и закройте файл.

Шаг 5. Настройка Apache для Zabbix

Перезагрузите или перечитайте настройки Apache:

sudo systemctl reload apache2

Откройте конфигурацию Zabbix для Apache:

sudo nano /etc/zabbix/apache.conf

Найдите строку php_value date.timezone и установите ваш часовой пояс, например:

php_value date.timezone Europe/Moscow

Затем перезапустите Apache:

sudo systemctl restart apache2

Шаг 6. Запуск сервисов и проверка

Запустите и включите сервисы Zabbix:

sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
systemctl status zabbix-server

Проверьте, что состояние «active (running)».

Шаг 7. Настройка брандмауэра (UFW)

Если используется UFW, откройте веб-порты и порты Zabbix агента/сервера при необходимости:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Порты Zabbix по умолчанию
sudo ufw allow 10050/tcp
sudo ufw allow 10051/tcp
sudo ufw reload

Важно: разрешайте порты только между доверенными сетями; для агентов в DMZ используйте VPN/TLS.

Шаг 8. Настройка веб-интерфейса Zabbix

Откройте в браузере:

http://localhost/zabbix

Если Zabbix установлен на удалённом сервере — используйте IP-адрес или DNS-имя.

Следуйте мастеру установки: проверка зависимостей, ввод пароля базы данных, имя сервера, финальная проверка. После окончания откроется экран логина.

Стандартные учётные данные по умолчанию:

  • Login: Admin
  • Password: zabbix

Сразу смените пароль администратора после входа.

Экран приветствия Zabbix в браузере Проверка зависимостей и настройки PHP Ввод данных базы данных для Zabbix Информация о сервере Zabbix Сводка настроек Zabbix перед установкой Установка завершена: экран завершения Страница входа в Zabbix

Рекомендуемые дополнительные шаги безопасности

  • Смените пароль Admin и создайте учётные записи по ролям с минимальными правами.
  • Настройте шифрование TLS для агентов и сервера (server-to-agent и frontend).
  • Ограничьте доступ к веб-интерфейсу через firewall и/или HTTP Basic + SSL.
  • Используйте отдельный аккаунт БД с минимальными привилегиями (только INSERT/SELECT/UPDATE/DELETE/CREATE/ALTER, если нужно).
  • Регулярно обновляйте пакеты Zabbix и систему безопасности.

Отладка и типичные ошибки

  • Ошибка подключения к базе: проверьте DBPassword и права пользователя, а также что MySQL принимает подключения от localhost.
  • Неправильная временная зона PHP: проверьте php_value date.timezone в /etc/zabbix/apache.conf.
  • Сервис zabbix-server не стартует: смотрите логи в /var/log/zabbix/zabbix_server.log.
  • Проблемы с правами файлов: веб-сервер должен иметь доступ к папкам Zabbix frontend.

Чек-лист при развёртывании (роль‑ориентированный)

Системный администратор:

  • Установлен Apache/PHP и проверен статус
  • MySQL готов и база создана
  • Zabbix server и agent установлены и запущены
  • Брандмауэр настроен

Младший администратор:

  • Проверил веб-интерфейс и вход под Admin
  • Сменил пароль администратора
  • Добавил первый хост и проверил получение метрик

Офицер безопасности:

  • TLS для агентов включён
  • Доступ к веб-интерфейсу ограничен по IP
  • Проверены и ограничены привилегии БД

SOP: Быстрая пошаговая инструкция для развёртывания

  1. Обновить систему: apt update && apt upgrade -y
  2. Установить Apache и PHP
  3. Установить MySQL и выполнить mysql_secure_installation
  4. Создать БД zabbixdb и пользователя zabbix
  5. Установить репозиторий Zabbix и пакеты zabbix-server-mysql, frontend, agent
  6. Загрузить схему и настроить /etc/zabbix/zabbix_server.conf
  7. Настроить time.zone в /etc/zabbix/apache.conf
  8. Перезапустить службы и открыть порты в UFW
  9. Завершить настройку через веб-интерфейс и сменить пароль Admin

Критерии приёмки

  • Веб-интерфейс доступен по адресу http:///zabbix
  • Статус zabbix-server — active (running)
  • Агент успешно подключается к серверу (проверка по last values)
  • Пользователь Admin сменил пароль и созданы роли
  • Открыты только необходимые порты и настроен TLS при необходимости

Тестовые кейсы и примеры приёмки

  • TC1: Вход в веб-интерфейс под Admin/zabbix — ожидается успешная аутентификация и требование сменить пароль.
  • TC2: Добавление хоста с агентом — ожидается приём данных (поля CPU, Memory).
  • TC3: Оповещение по триггеру — при создании фиктивного триггера отправка уведомления на e-mail/Telegram (настройте медиум заранее).
  • TC4: Проверка отказа БД — остановите MySQL и убедитесь, что Zabbix показывает ошибку, а при восстановлении данные продолжают поступать.

Snippets: часто используемые команды (cheat sheet)

# Apache
sudo systemctl restart apache2
# MySQL
sudo mysql -u root -p
# Zabbix services
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
# Firewalld/UFW
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10050/tcp
sudo ufw reload
# Импорт схемы
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u root -p zabbixdb

Когда этот подход может не подойти (контрпримеры)

  • Если нужно масштабируемое кластерное решение с высокой доступностью, рассмотрите Zabbix Proxy, кластер БД и балансировщик для frontend.
  • Для сред с ограниченным ресурсом CPU/RAM на клиентской стороне может понадобиться лёгкий агент или SNMP-наборы вместо полноценного Zabbix-агента.
  • В средах с жёсткими требованиями к безопасности веб-интерфейса лучше развернуть frontend за обратным прокси с WAF.

Модель зрелости развёртывания (кратко)

  • Уровень 1 — простая установка на одной машине (этот гайд).
  • Уровень 2 — разделение компонентов (отдельные серверы для БД, сервера, frontend).
  • Уровень 3 — высокодоступная архитектура с репликацией БД, load balancer и TLS.

Мермайд: простая логика развёртывания

flowchart TD
  A[Подготовка сервера] --> B[Установка Apache/PHP]
  B --> C[Установка MySQL]
  C --> D[Создание БД zabbixdb]
  D --> E[Установка Zabbix пакетов]
  E --> F[Импорт схемы и настройка конфигурации]
  F --> G[Запуск сервисов и открытие портов]
  G --> H[Завершение через веб-интерфейс]

Примечания по конфиденциальности и соответствию (GDPR)

  • Внимательно оценивайте, какие персональные данные будут храниться и логироваться (usernames, IP-адреса) и ограничьте хранение логов при необходимости.
  • Настройте ротацию логов и retention, чтобы не хранить лишние персональные данные дольше, чем требуется по политике.

Короткая сводка: что важно помнить

  • Сразу смените дефолтный пароль Admin.
  • Ограничьте права БД и доступ к веб-интерфейсу.
  • Включите TLS для агентов и веб-интерфейса в продакшн.
  • Тестируйте оповещения и проверяйте, что триггеры срабатывают корректно.

Полезные ссылки и миграционные заметки

  • Если вы мигрируете с другой версии Zabbix — проверьте совместимость схемы и резервное копирование БД перед апгрейдом.
  • Для больших инсталляций используйте Zabbix Proxy для распределения нагрузки и снижения нагрузки на основной сервер.

Теперь вы можете мониторить сеть и устройства — от серверов до виртуальных машин. Для портативного мониторинга можно рассмотреть решения на Raspberry Pi с NEMS, если нужна лёгкая и недорогая платформа для локального контроля.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как объединить PDF на iPhone и iPad
iOS

Как объединить PDF на iPhone и iPad

Как тренировать силу воли
Саморазвитие

Как тренировать силу воли

Студийное качество звука и видео в Zoom
Техподдержка

Студийное качество звука и видео в Zoom

Убрать туман в Lightroom: Dehaze — руководство
Фотография

Убрать туман в Lightroom: Dehaze — руководство

Вредоносная реклама на Facebook: как не заразиться
Кибербезопасность

Вредоносная реклама на Facebook: как не заразиться

Чтение и вывод HTML через VBA
VBA Автоматизация

Чтение и вывод HTML через VBA