Установка Zabbix на Ubuntu 24.04/22.04 и Debian 12/13 с PostgreSQL | AdminWiki

Полное руководство по установке и настройке Zabbix на Ubuntu/Debian с PostgreSQL

17 декабря 2025 9 мин. чтения #apache #debian #devops #postgresql #ssl #ubuntu #zabbix #мониторинг

Если ты хочешь получить полноценную систему мониторинга серверов, сетевого оборудования и приложений, то Zabbix — один из лучших выборов. В этом руководстве мы подробно разберем, как выполнить установку Zabbix на Ubuntu (включая версии 24.04 и 22.04) и Debian (12 и 13), настроим его работу с надежной СУБД PostgreSQL, веб-интерфейс на Apache и даже затронем настройку SSL для безопасности. Представь, что это твой личный чек-лист от Senior DevOps инженера.

Важно: Команды и шаги, описанные ниже, идентичны для Ubuntu и Debian, так как они основаны на одном дистрибутиве. Мы будем использовать официальный репозиторий Zabbix для гарантии актуальности и стабильности.

Подготовка системы и установка Zabbix Server

Перед тем как начать установку Zabbix server на Ubuntu, убедись, что у тебя есть доступ к серверу с правами суперпользователя и что система обновлена.

1. Обновление системы и установка необходимых пакетов

Первым делом обновим индекс пакетов и установим базовые утилиты.

bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl gnupg2 software-properties-common

2. Добавление официального репозитория Zabbix

Zabbix предоставляет собственные репозитории для всех основных версий. Это самый надежный способ установки Zabbix 7 на Ubuntu.

bash
# Скачиваем и устанавливаем ключ репозитория
wget https://repo.zabbix.com/zabbix/7.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.4-1+ubuntu24.04_all.deb
# Для Ubuntu 22.04 используй: zabbix-release_7.4-1+ubuntu22.04_all.deb
# Для Debian 12: zabbix-release_7.4-1+debian12_all.deb

sudo dpkg -i zabbix-release_7.4-1+ubuntu24.04_all.deb
sudo apt update

3. Установка Zabbix Server, Frontend и Агента

Теперь установим основные компоненты: сервер, веб-интерфейс и агент для мониторинга самого сервера.

bash
sudo apt install -y zabbix-server-pgsql zabbix-frontend-php \
zabbix-apache-conf zabbix-sql-scripts zabbix-agent

Обрати внимание на пакет zabbix-server-pgsql — он предназначен для работы с PostgreSQL. Если бы мы использовали MySQL, был бы пакет zabbix-server-mysql.

Установка и настройка PostgreSQL для Zabbix

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

1. Установка PostgreSQL

bash
sudo apt install -y postgresql postgresql-contrib

2. Создание базы данных и пользователя Zabbix

Давай разберем этот важный шаг. Мы зайдем в консоль PostgreSQL и создадим отдельную базу и пользователя для безопасности.

bash
sudo -u postgres psql

-- В консоли PostgreSQL выполняем:
CREATE USER zabbix WITH PASSWORD 'YourStrongPassword123!' PASSWORD 'YourStrongPassword123!';
CREATE DATABASE zabbix OWNER zabbix;
\q
Внимание: Обязательно замени YourStrongPassword123! на свой сложный пароль. Запиши его — он понадобится позже.

3. Импорт начальной схемы базы данных

Zabbix предоставляет SQL-скрипты для создания всех необходимых таблиц. Импортируем их в свежесозданную базу.

bash
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Этот процесс может занять несколько минут. Дождись его завершения.

Настройка Zabbix Server и Apache

Теперь свяжем установленные компоненты вместе, отредактировав конфигурационные файлы.

1. Конфигурация подключения к PostgreSQL

Отредактируем главный конфигурационный файл Zabbix Server, чтобы указать параметры подключения к базе данных.

bash
sudo nano /etc/zabbix/zabbix_server.conf

Найди и измени следующие параметры (они могут быть уже раскомментированы):

config
DBPassword=YourStrongPassword123!
# Убедись, что остальные параметры выглядят так:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPort=5432

2. Настройка PHP для веб-интерфейса

Веб-интерфейсу Zabbix требуются определенные настройки PHP. Отредактируем конфиг PHP, который используется Apache.

bash
sudo nano /etc/zabbix/apache.conf

Убедись, что в файле правильно указан часовой пояс (timezone). Например, для Москвы:

config
php_value date.timezone Europe/Moscow

3. Запуск и включение служб

Теперь запустим все службы и добавим их в автозагрузку.

bash
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

Проверим, что службы работают без ошибок:

bash
sudo systemctl status zabbix-server

Завершение установки через веб-интерфейс

Основная часть установки Zabbix на Ubuntu завершена. Теперь откроем браузер и пройдем мастер начальной настройки.

  1. Открой в браузере: http://IP_ТВОЕГО_СЕРВЕРА/zabbix
  2. Ты увидишь приветственную страницу. Нажми "Next step".
  3. Убедись, что все предварительные проверки (Pre-requisites) отмечены зеленым "OK".
  4. На этапе настройки базы данных (Configure DB connection) введи пароль, который задавал ранее для пользователя PostgreSQL.
  5. Далее задай имя для своего Zabbix сервера (например, "Company Monitoring").
  6. Проверь сводку настроек и нажми "Finish".
  7. Используй стандартные учетные данные для первого входа: Admin / zabbix. Сразу же смени пароль!
Готово! Ты только что завершил установку и настройку Zabbix на Ubuntu/Debian. Теперь в веб-интерфейсе ты можешь добавлять хосты, настраивать шаблоны и создавать дашборды.

Расширенная настройка: SSL для PostgreSQL и Безопасность

Для production-окружения крайне рекомендуется обезопасить канал связи между Zabbix Server и PostgreSQL, особенно если они находятся на разных хостах. Давай рассмотрим базовую настройка Zabbix PostgreSQL SSL.

Генерация SSL сертификатов (упрощенный вариант)

bash
# Создадим директорию для сертификатов PostgreSQL
sudo mkdir -p /var/lib/postgresql/certs
sudo chown postgres:postgres /var/lib/postgresql/certs
sudo chmod 700 /var/lib/postgresql/certs

# Генерируем самоподписанные сертификаты (для теста)
cd /var/lib/postgresql/certs
sudo -u postgres openssl req -new -x509 -days 365 -nodes \
  -out server.crt -keyout server.key -subj "/CN=localhost"
sudo chmod 600 server.key

Настройка PostgreSQL для использования SSL

Отредактируем конфиг PostgreSQL postgresql.conf:

config
ssl = on
ssl_cert_file = '/var/lib/postgresql/certs/server.crt'
ssl_key_file = '/var/lib/postgresql/certs/server.key'

И добавим правило в pg_hba.conf для хоста Zabbix:

config
hostssl zabbix zabbix 127.0.0.1/32 md5

После этого не забудь перезапустить PostgreSQL и обновить DBHost в конфиге Zabbix, если используется SSL-соединение.

Сравнение Backend: PostgreSQL vs MySQL

При установке Zabbix часто встает вопрос выбора базы данных. Вот краткое сравнение для принятия решения:

Критерий PostgreSQL MySQL/MariaDB
Рекомендация Zabbix Основная, с версии 6.0 Поддерживается
Производительность на больших объемах Выше, лучше оптимизация сложных запросов Достаточно для средних нагрузок
Надежность и стабильность Очень высокая Высокая
Сложность настройки репликации Средняя Низкая

Для новых проектов и серьезных инсталляций Zabbix установка PostgreSQL является предпочтительным вариантом.

Частые проблемы и их решение

  • Zabbix сервер не запускается: Проверь логи sudo journalctl -u zabbix-server. Чаще всего проблема в ошибке пароля БД или недоступности PostgreSQL.
  • Веб-интерфейс выдает ошибки PHP: Убедись, что в /etc/zabbix/apache.conf корректно указан date.timezone и перезапусти Apache.
  • Агент не отправляет данные: Проверь, разрешен ли доступ к агенту в его конфиге (/etc/zabbix/zabbix_agentd.conf) и открыт ли порт 10050 на фаерволе.
  • Ошибка при импорте схемы БД: Убедись, что команда импорта выполняется от пользователя zabbix и что база данных создана.

Следующие шаги после установки

Теперь, когда установка Zabbix на Ubuntu 24.04 (или Debian 12) завершена, рекомендую:

  1. Добавить в мониторинг сам сервер Zabbix через шаблон "Template OS Linux by Zabbix agent".
  2. Настроить уведомления (например, на email или Telegram) для критических событий.
  3. Установить Zabbix Agent на другие серверы и добавить их в систему.
  4. Изучить возможности автоматического обнаружения (Network Discovery) для упрощения масштабирования.

Вопросы и ответы (FAQ)

Можно ли использовать MySQL вместо PostgreSQL при установке Zabbix на Debian?

Да, можно. Вместо пакета zabbix-server-pgsql установи zabbix-server-mysql. Затем создай базу и пользователя в MySQL и импортируй соответствующую схему (server.sql.gz для MySQL). Однако для версий Zabbix 6.0 и выше официально рекомендуется PostgreSQL.

Чем отличается установка Zabbix на Ubuntu 22.04 от установки на Ubuntu 24.04?

Основное отличие — в имени пакета репозитория, который нужно скачать (как показано в шаге 2). Внутренние шаги по установке и настройке Zabbix postgresql, apache и агента идентичны. Ubuntu 24.04 может иметь более свежие версии системных библиотек.

Обязательно ли настраивать SSL для PostgreSQL?

Если Zabbix Server и PostgreSQL работают на одном и том же сервере (localhost), то настройка SSL не является обязательной, но все равно считается хорошей практикой для повышения безопасности. Если база данных вынесена на отдельный хост, то SSL/TLS шифрование канала связи строго рекомендуется.

Что делать, если после установки веб-интерфейс недоступен?

1) Проверь, запущен ли Apache: sudo systemctl status apache2. 2) Убедись, что нет конфликта портов (по умолчанию Apache слушает 80). 3) Проверь настройки виртуального хоста в /etc/zabbix/apache.conf. 4) Изучи логи Apache: sudo tail -f /var/log/apache2/error.log.

Установка и настройка Zabbix на Ubuntu или Debian — это фундаментальный навык для любого инженера, отвечающего за инфраструктуру. Следуя этому руководству, ты не только развернул мощную систему мониторинга, но и заложил основу для ее безопасной и масштабируемой работы. Теперь можно переходить к тонкой настройке шаблонов, триггеров и дашбордов, превращая сырые метрики в осмысленную информацию о здоровье твоих систем.

Поделиться:
Сохранить гайд? В закладки браузера