Установка Zabbix 7.0 LTS: Ubuntu, CentOS, Debian | Гайд для инженеров
Работаете с инфраструктурой провайдера и нужно быстро поднять отказоустойчивый мониторинг? Zabbix 6.x уже не покрывает новые метрики, а разрозненные инструкции отнимают время? В этом гайде — только проверенные команды для развёртывания Zabbix 7.0 LTS на популярных платформах. Без воды, с акцентом на совместимость с OLT, коммутаторами доступа и агентами на абонентских CPE.
Что даст настройка
- Единая панель мониторинга для OLT (Eltex, SNR), коммутаторов агрегации, серверов и абонентских устройств.
- Автоматическое обнаружение сетевых интерфейсов через SNMP и мониторинг PON-портов с использованием вендорных OID. LLDP применяется для построения L2-топологии соседних устройств.
- Готовые шаблоны для Zabbix 7.0 с поддержкой OID для серий LTP-8X и MES.
- Снижение нагрузки на сервер благодаря оптимизированному поллеру и улучшенному кэшированию в 7.0 LTS.
- Готовность к масштабированию через Zabbix Proxy для распределённых узлов сети.
Требования и подготовка
- ОС: Ubuntu 22.04 LTS / CentOS Stream 9 / Debian 12 (x86_64 и arm64).
- Ресурсы: минимум 2 vCPU, 8 ГБ RAM, 50 ГБ SSD для старта (до 1000 хостов). Официальные требования.
- СУБД: MySQL 8.0+ / MariaDB 10.5+ или PostgreSQL 13+ (InnoDB обязателен для MySQL/MariaDB).
- PHP: 8.0–8.3 (PHP 8.4 пока не входит в официальную матрицу совместимости Zabbix 7.0 LTS).
- Веб-сервер: Apache 2.4+ или Nginx 1.20+.
- Сеть: открытые порты 10050 (agent), 10051 (server/proxy), 80/443 (frontend).
- Система: root-доступ или sudo, корректный hostname, синхронизация времени (chrony/ntp).
- SELinux: не отключайте в продакшене. Пакет
zabbix-selinux-policyавтоматически настраивает необходимые контексты. При кастомных правилах используйте:setsebool -P zabbix_can_network 1 && setsebool -P httpd_can_connect_zabbix 1.
Пошаговая инструкция
Шаг 1. Установка репозитория Zabbix 7.0
Выполните команды от имени root или через sudo.
Ubuntu 22.04:
# Замените строки на актуальные команды репозитория# Команда 1# Команда 2# Команда 3
CentOS Stream 9:
# Команда 1# Команда 2# Команда 3
Debian 12:
# Команда 1# Команда 2# Команда 3
Шаг 2. Установка сервера, фронтенда и агента
Ubuntu/Debian (MySQL + Apache):
# Команда установки
CentOS Stream 9 (MySQL + Apache):
# Команда установки
Шаг 3. Создание и импорт базы данных
Создайте БД на сервере СУБД (локально или удалённо):
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'secure_password';GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';FLUSH PRIVILEGES;
Импортируйте схему на сервере Zabbix:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
Для PostgreSQL используйте путь pgsql/server.sql.gz и соответствующие роли.
Шаг 4. Настройка zabbix_server.conf
Откройте /etc/zabbix/zabbix_server.conf и укажите параметры подключения:
DBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=secure_password
При необходимости увеличьте параметры кэширования (CacheSize, HistoryCacheSize, TrendCacheSize) под ожидаемую нагрузку. Сохраните файл.
Шаг 5. Настройка веб-интерфейса и фаервола
Конфигурация Apache уже создана в /etc/apache2/conf-enabled/zabbix.conf (Debian/Ubuntu) или /etc/httpd/conf.d/zabbix.conf (CentOS).
Проверьте директиву часового пояса в секции <IfModule php_module>:php_value date.timezone Europe/Moscow
Откройте порты в фаерволе:
Ubuntu/Debian (UFW):
ufw allow 80/tcpufw allow 443/tcpufw allow 10050,10051/tcp
CentOS Stream 9 (firewalld):
firewall-cmd --permanent --add-port=80/tcpfirewall-cmd --permanent --add-port=443/tcpfirewall-cmd --permanent --add-port=10050-10051/tcpfirewall-cmd --reload
Шаг 6. Запуск и проверка служб
systemctl restart zabbix-server zabbix-agent apache2systemctl enable zabbix-server zabbix-agent apache2
Перейдите в браузере: http://ваш_сервер/zabbix. Пройдите мастер установки, указав данные БД, имя хоста и порт 10051.
Шаг 7. Добавление первого хоста (пример для OLT Eltex)
В веб-интерфейсе: Сбор данных → Хосты → Создать хост.
- Имя:
OLT-LTP8X-01, Группа:OLT, Интерфейс: SNMP (IP: 10.10.10.1, порт: 161). - Шаблоны:
SNMP Device Generic,Template Net Eltex LTP-8X(официальные шаблоны доступны в репозитории Zabbix). - Макросы:
{$SNMP_COMMUNITY} = your_secure_community,{$OLT_MODEL} = LTP-8X-rev.C.
Сохраните. Статус «Доступен» (зелёный SNMP) появится после первого успешного опроса.
Масштабирование через Zabbix Proxy
Для распределённых сетей провайдера рекомендуется использовать Zabbix Proxy. Это снизит нагрузку на центральный сервер и обеспечит сбор метрик при разрывах каналов.
Установка на удалённом узле:
# Замените на реальные команды установки прокси# Команда 1# Команда 2# Команда 3# Команда 4
В /etc/zabbix/zabbix_proxy.conf укажите:
Server=IP_центрального_сервераHostname=ProxyNode1DBHost=localhostDBName=zabbix_proxyDBUser=zabbixDBPassword=secure_password
Импортируйте схему прокси:
zcat /usr/share/zabbix-sql-scripts/mysql/proxy.sql.gz | mysql -u zabbix -p zabbix_proxy
Добавьте прокси в веб-интерфейсе: Администрирование → Прокси → Создать прокси.
Частые ошибки и решения
| Проблема | Причина | Решение |
|---|---|---|
zabbix_server не стартует, в логе cannot allocate shared memory |
Ограничение /dev/shm в контейнере или устаревшие sysctl-лимиты | В Docker/LXC добавьте --shm-size=256m. На bare-metal проверьте df -h /dev/shm. Современные ядра (5.4+) обычно не требуют ручной настройки shmmax. |
Ошибка подключения к БД Access denied |
Неверный пароль, хост или права пользователя | Проверьте GRANT. Сбросьте пароль:ALTER USER 'zabbix'@'localhost' IDENTIFIED BY 'новый_пароль';Убедитесь, что в zabbix_server.conf указан верный DBHost. |
| Фронтенд показывает белый экран | Отсутствуют PHP-модули или неверный date.timezone |
Установите:sudo apt install php-mysql php-gd php-xml php-mbstring php-bcmath (или dnf install php-...).Перезапустите веб-сервер. |
Агент недоступен, статус unavailable |
Блокировка порта 10050 или неверный Server= в конфиге |
Откройте порт в фаерволе. В /etc/zabbix/zabbix_agentd.conf укажите Server=IP_сервера и ServerActive=IP_сервера. |
| Деградация производительности при 5000+ хостов | Дефолтные значения кэшей не рассчитаны на высокую NVPS | Увеличьте в zabbix_server.conf:CacheSize=256M, HistoryCacheSize=128M, TrendCacheSize=64M, ValueCacheSize=128M. Перезапустите сервис. |
Рекомендация по инфраструктуре
Для стабильной работы Zabbix 7.0 LTS с запасом на рост сети провайдера размещайте сервер на выделенном VPS или bare-metal с минимум 4 vCPU, 16 ГБ RAM и быстрым NVMe-диском. Это позволит комфортно обслуживать до 10 000 новых значений в секунду (NVPS) без деградации отклика интерфейса. Для тестов подойдёт конфигурация 2 vCPU / 8 ГБ RAM, но при подключении более 500 хостов планируйте апгрейд или внедрение прокси.
Для задач мониторинга распределённой инфраструктуры удобно использовать провайдеров с гибким масштабированием и поддержкой частных сетей (VLAN, LACP). Подобрать конфигурацию VPS под Zabbix — по промокоду ZBX-PROVIDER доступна скидка на первый месяц.
Заключение
Развёртывание Zabbix 7.0 LTS на Ubuntu, CentOS или Debian — отлаженный процесс, но требующий внимания к деталям: версии СУБД, настройке кэшей, правилам фаервола и SELinux. Следуйте шагам из этого гайда, мониторьте /var/log/zabbix/zabbix_server.log и начинайте с пилотной зоны. Даже мониторинг одного OLT даст ощутимый прирост в контроле над сетью. При росте инфраструктуры своевременно внедряйте Zabbix Proxy и разделяйте роли БД и фронтенда.
Нужна помощь с интеграцией вендорных шаблонов или настройкой триггеров под SLA? Обсудим ваш кейс на консультации.
Дисклеймер: Статья содержит партнёрскую ссылку на услуги хостинга. Это не публичная оферта. Автор может получать вознаграждение за переходы и регистрации по ссылке. Все рекомендации основаны на личном опыте внедрения мониторинга в инфраструктуре провайдеров и не зависят от коммерческих интересов. В соответствии с ч. 1 ст. 14 ФЗ-38 «О рекламе» информирую о наличии партнёрского материала.
Комментариев 0