Как установить и настроить Zabbix на Ubuntu и Debian
О чём эта инструкция
Эта статья проведёт вас через полный цикл установки и базовой настройки Zabbix на системах семейства Debian (Ubuntu, Debian). Подходит для серверов и рабочих станций. Приведены команды, примеры конфигураций, чеклисты для администратора и советы по безопасности.
В статье используются термины:
- Zabbix — система мониторинга с сервером, агентами и веб-интерфейсом.
- Агент — клиент Zabbix, установленный на мониторируемом хосте.
- Frontend — веб-интерфейс Zabbix.
Кому будет полезно
- Системным администраторам, развертывающим мониторинг в локальной сети;
- Девопс-инженерам, запускающим мониторинг для инфраструктуры на Ubuntu/Debian;
- Тем, кто хочет безопасно запустить Zabbix с MySQL и Apache.
Основные требования
Перед началом убедитесь, что у вас есть:
- root-доступ или пользователь с sudo-привилегиями;
- сервер с Ubuntu или Debian (поддерживаемые версии для Zabbix 5.x);
- свободное место на диске для базы данных и логов;
- установленный MySQL/MariaDB или готовность его установить;
- Apache и PHP (пакеты будут установлены далее).
Важно: версия Zabbix в примерах — 5.0 (LTS). При желании используйте актуальную версию и соответствующий репозиторий.
Шаг 1 — Установка Apache и PHP
Zabbix использует PHP для фронтенда, поэтому сначала устанавливаем Apache и PHP.
Добавьте PPA (рекомендуется для Ubuntu, для Debian используйте backports/официальный репозиторий PHP):
sudo add-apt-repository ppa:ondrej/phpОбновите индекс пакетов и обновите систему:
sudo apt update
sudo apt upgrade -yУстановите Apache и необходимые модули PHP:
sudo apt install apache2 php php-mysql php-ldap php-bcmath php-gd php-xml libapache2-mod-php -yПроверьте статус Apache:
systemctl status apache2Если сервис не запущен, используйте:
systemctl start apache2
systemctl enable apache2Примечание: при изменении версии PHP убедитесь, что Apache загружает корректный модуль libapache2-mod-php для установленной версии.
Шаг 2 — Установка и базовая настройка MySQL/MariaDB
Установите сервер баз данных:
sudo apt install mysql-server mysql-client -yЗапустите скрипт безопасной настройки:
sudo mysql_secure_installationОтветьте утилите на вопросы (как правило, рекомендуется выбрать yes для удаления анонимных пользователей, блокировки удалённого root и удаления тестовой базы).
Создайте базу данных и пользователя для Zabbix. Войдите в mysql:
mysql -u root -pВнутри консоли выполните (замените password на надёжный пароль):
CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbix'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;Затем выйдите:
quit;Совет: для продакшна рассмотрите использование отдельной инстанции БД или контейнера и резервное копирование mysqldump/innobackupex.
Шаг 3 — Скачивание и установка Zabbix
Скачиваем DEB-пакет репозитория Zabbix (пример для Zabbix 5.0):
wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.debУстановите репозиторий и затем пакеты Zabbix:
sudo apt ./zabbix-release_5.0-1+buster_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent -yЗатем создайте структуру БД и загрузите её в созданную базу (введите пароль root при запросе):
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u root -p zabbixdbПроверьте, что импорт отработал без ошибок.
Шаг 4 — Настройка конфигурации Zabbix Server
Откройте конфигурационный файл сервера Zabbix:
sudo nano /etc/zabbix/zabbix_server.confНайдите параметры подключения к базе и отредактируйте их:
DBHost=localhost
DBName=zabbixdb
DBUser=zabbix
DBPassword=passwordСохраните изменения и закройте редактор. Убедитесь, что пароль совпадает с тем, что вы задали ранее.
Шаг 5 — Настройка Apache для фронтенда Zabbix
Перезагрузите конфигурацию Apache:
sudo systemctl reload apache2Откройте файл конфигурации Zabbix для Apache:
sudo nano /etc/zabbix/apache.confНайдите строку с указанием часового пояса и замените
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
sudo systemctl status zabbix-serverЕсли статус показывает active (running), сервер успешно поднят.
Шаг 7 — Правила файервола (UFW)
Откройте порты 80 и 443 для веб-интерфейса:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reloadЕсли вы используете Zabbix Proxy или внешние агенты, откройте также порт 10051/TCP (порт сервера Zabbix) и 10050/TCP для агентов:
sudo ufw allow 10051/tcp
sudo ufw allow 10050/tcpШаг 8 — Первоначальная настройка фронтенда
Откройте в браузере:
http://localhost/zabbixЕсли вы работаете с удалённым сервером, подставьте IP-адрес или доменное имя. Мастер установки пошагово проверит зависимости, позволит ввести данные БД и задать имя сервера.
После завершения нажмите Finish и войдите под учётной записью:
- Пользователь: Admin
- Пароль: zabbix
Измените пароль администратора сразу после первого входа: Administrator > Users.







Критерии приёмки
Перед считанием установки завершённой, проверьте:
- Фронтенд доступен по HTTP/HTTPS и загружается без ошибок;
- Zabbix Server в статусе active (running);
- Агент установлен и отвечает (проверка через интерфейс или netstat);
- Импортирована схема БД без ошибок;
- Настроен часовой пояс и корректны настройки PHP (memory_limit, max_execution_time при больших инсталляциях).
Рекомендации по безопасности и жёсткая конфигурация
- Смените пароль пользователя Admin и используйте сложные пароли для БД;
- Разрешите доступ по HTTPS (настройте сертификат Let’s Encrypt);
- Ограничьте доступ к фронтенду через IP-белый список или VPN для административных интерфейсов;
- Отключите удалённый доступ root в MySQL;
- Настройте регулярное резервное копирование базы данных и конфигураций (cron + mysqldump или barman/Percona tools);
- Обновляйте систему и Zabbix до поддерживаемых версий.
Резервное копирование и восстановление — минимальный план
- Ежедневный дамп структуры и данных:
mysqldump -u zabbix -p zabbixdb > /var/backups/zabbixdb-$(date +%F).sql- Ротация и хранение резервных копий за 7–30 дней (в зависимости от политики);
- Тестовое восстановление на отдельном хосте ежеквартально.
Чеклист для разных ролей
Для администратора сети:
- Убедиться, что порты 10050/10051 открыты для нужных подсетей;
- Прикрепить агенты к хостам;
- Создать базовые шаблоны мониторинга;
Для директора по безопасности:
- Обеспечить шифрование трафика фронтенда и агентов;
- Проверить привилегии пользователей в Zabbix;
Для DevOps:
- Интегрировать оповещения (email, Slack, webhook);
- Настроить автоматическое масштабирование при росте нагрузки на БД.
Типичные проблемы и их решения
Apache не запускается после установки PHP-модуля:
- Проверьте журналы: sudo journalctl -u apache2 или /var/log/apache2/error.log;
- Убедитесь, что не установлены конфликты версий PHP (удалите старые модули).
Ошибка подключения к базе при запуске Zabbix Server:
- Проверьте правильность DBUser/DBPassword в /etc/zabbix/zabbix_server.conf;
- Убедитесь, что MySQL слушает на localhost и нет проблем с правами пользователя;
Фронтенд сообщает о нехватке расширений PHP:
- Установите недостающие модули через apt (например, php-xml, php-gd);
Агент не связывается с сервером:
- Проверьте конфигурацию агента /etc/zabbix/zabbix_agentd.conf (Server= и ServerActive=);
- Убедитесь, что firewall не блокирует 10050/10051.
Минимальная методология развёртывания (SOP)
- Подготовка ОС: обновление и базовые утилиты;
- Установка/конфигурация БД (отдельный узел для крупной инфраструктуры);
- Установка Apache/PHP;
- Установка Zabbix-пакетов и импорт схемы БД;
- Настройка конфигураций (zabbix_server.conf, apache.conf);
- Запуск сервисов и проверка health checks;
- Настройка шаблонов, групп, действий и оповещений;
- Резервное копирование и документация процесса.
Тест-кейсы и приёмочные проверки
- Вход в фронтенд под учётной записью Admin после установки;
- Создание тестового хоста и получение первых данных от агента;
- Проверка отправки оповещения на email при искусственном триггере;
- Восстановление дампа БД на тестовой машине и проверка целостности данных.
Советы по миграции с другой СУБД и версии Zabbix
- Перед миграцией сделайте полный бэкап старой БД и конфигов;
- Прочитайте официальные инструкции по миграции версии Zabbix (major upgrade требует пошагового обновления базы);
- Тестируйте процедуру на копии продакшн-сервера;
- Рассмотрите использование Zabbix Proxy при распределённой архитектуре.
Быстрый шаблон плана развёртывания (таблица задач)
- Подготовка ОС — ответственный: sysadmin — статус: done
- Установка MySQL — ответственный: dba — статус: done
- Создание БД zabbixdb — ответственный: dba — статус: done
- Установка Apache/PHP — ответственный: sysadmin — статус: done
- Установка Zabbix — ответственный: devops — статус: done
- Первичный вход и проверка — ответственный: devops — статус: pending
1‑строчный глоссарий
- Agent — клиент для сбора метрик;
- Server — процесс, обрабатывающий полученные данные и триггеры;
- Frontend — веб-интерфейс управления и визуализации;
- Template — набор элементов мониторинга для повторного использования.
Когда этот подход не подойдёт
- Если вам нужен облачный SaaS-решение для мониторинга, проще использовать облачные сервисы (Datadog, New Relic). Zabbix требует поддержки серверной инфраструктуры;
- Для максимально лёгких наборов метрик на десятке хостов возможны менее тяжеловесные решения (Prometheus + Grafana) в зависимости от задач.
Короткие рекомендации по производительности
- Для больших установок (сотни/тысячи хостов) используется отдельная СУБД с настройкой innodb_buffer_pool_size;
- Разнесение ролей: отдельный сервер БД, сервер Zabbix, сервер веб-фронтенда;
- Горизонтальное масштабирование через Zabbix Proxy.
FAQ
Q: Как сменить пароль администратора после установки? A: Войдите как Admin/zabbix, перейдите Administration > Users, выберите Admin и смените пароль.
Q: Можно ли использовать PostgreSQL вместо MySQL? A: Да, Zabbix поддерживает PostgreSQL. Процесс установки и SQL-скрипты будут другими — используйте официальный репозиторий и документацию.
Q: На какие порты обращать внимание при настройке брандмауэра? A: Порты 80/443 для фронтенда, 10051 для сервера Zabbix, 10050 для агентов.
Теперь вы готовы запускать мониторинг: добавляйте агенты на хосты, прикрепляйте стандартные шаблоны и настраивайте оповещения под ваши процессы.
Сводка
Zabbix — зрелое FOSS-решение для мониторинга. Простая установка возможна на Ubuntu/Debian по шагам: Apache/PHP → MySQL → пакет Zabbix → импорт схемы → настройка конфигураций → запуск сервисов → фронтенд. Дополнительно рассмотрены безопасность, резервное копирование, тест-кейсы и роли.