DOC / 1528 SysAdminHub.ru

Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера NGINX, БД PostgreSQL, и расширением TimescaleDB

Установка Zabbix 7 на Ubuntu 24.04 с NGINX и PostgreSQL и TimescaleDB

Так что давайте разбираться вместе!

Конфигурации установки Zabbix

Zabbix поддерживает широкий выбор операционных систем, СУБД и веб-серверов, поэтому на старте важно определиться с основой: какую ОС выбрать для установки, какой веб-сервер использовать и какую базу данных подключить.

Для операционной системы я остановлюсь на Ubuntu Server 24.04. Почему? Просто потому, что среди Linux-систем мне она нравится больше всего. Простота, стабильность и удобство — всё, что нужно.

Теперь о веб-сервере и СУБД. Тут у меня есть два основных варианта:

  1. Apache + MySQL — классическая и проверенная временем связка. Надёжная и понятная.
  2. NGINX + PostgreSQL с расширением TimescaleDB — современное решение с упором на производительность и масштабируемость.

Встаёт вопрос: А какую конфигурацию выбрать?

Все довольно просто. Если вы новичок в Zabbix или работаете в небольшой компании, я рекомендую остановиться на связке Apache + MySQL. Эта конфигурация проста и интуитивно понятна, а значит, вы быстрее с ней разберётесь.

Но, если вы опытный системный администратор или работаете в крупной компании, где ключевую роль играет производительность, то ваш выбор — это NGINX + PostgreSQL с расширением TimescaleDB. Такая комбинация обеспечит высокую скорость работы и масштабируемость системы.

Чтобы не путать новичков, я решил разделить эти две конфигурации на разные статьи. Если вы только начинаете изучать Zabbix, переходите к статье Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера Apache и базы данных MySQL. А если вы опытный пользователь и нацелены на максимальную производительность, продолжайте читать эту статью.

Подготовка сервера

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

Начнем с подготовки серверной системы. Для этого обновим список доступных пакетов, установим последние версии программного обеспечения и удалим ненужные компоненты. Всё это можно выполнить одной командой:

apt update -y && apt full-upgrade -y && apt autoremove -y

apt update -y — обновляет список доступных пакетов и их версий.

apt full-upgrade -y — устанавливает все доступные обновления и обновляет пакеты до последних версий, даже если это требует удаления устаревших компонентов.

apt autoremove -y — удаляет ненужные зависимости, которые больше не используются.

Эта команда приведёт систему в актуальное состояние и освободит место за счёт удаления лишних файлов.

Следующим шагом нужно убедиться, что на сервере установлен правильный часовой пояс. Проверить это можно с помощью команды timedatectl:

root@zabbix7:~# timedatectl
               Local time: Tue 2024-12-03 20:50:58 UTC
           Universal time: Tue 2024-12-03 20:50:58 UTC
                 RTC time: Tue 2024-12-03 20:50:59
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Как видим, часовой пояс на сервере настроен неверно. Исправим это, установив правильный. В моём случае это часовой пояс +3 (Москва). Для этого используем следующую команду:

timedatectl set-timezone Europe/Moscow

Если ваш часовой пояс отличается от моего и вы не знаете, как его указать, воспользуйтесь командой:

timedatectl list-timezones

Она покажет полный список доступных часовых поясов.

Предварительная настройка сервера завершена — продолжаем дальше!

Установка Zabbix 7

Переходим на официальный сайт Zabbix в раздел загрузок, выбираем операционную систему Ubuntu 24.04 и необходимые компоненты: Server, Frontend, Agent, а также PostgreSQL в качестве базы данных и NGINX как веб-сервер.

Установка Zabbix 7 на Ubuntu 24.04 с NGINX, PostgreSQL и TimescaleDB

На этой же странице представлены инструкции по установке Zabbix. Приступим! Первый шаг — установка репозитория Zabbix.

Сначала вводим команду:

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb

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

Далее устанавливаем этот пакет командой:

dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb

Эта команда добавляет репозиторий Zabbix в вашу систему, откуда будут загружаться все нужные компоненты.

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

apt update

Теперь система знает о всех доступных пакетах Zabbix.

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

apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

Эта команда установит всё необходимое для работы Zabbix: сервер с поддержкой PostgreSQL, веб-интерфейс для управления системой, PHP-модуль для взаимодействия с базой данных, конфигурацию для NGINX, SQL-скрипты для инициализации базы данных и Zabbix-агент для сбора данных.

Настройка веб-сервера и PHP-FPM

Настроим веб-сервер и PHP-FPM, которые обеспечивают работу веб-интерфейса Zabbix.

Настройка веб-сервера NGINX

Сначала открываем файл конфигурации веб-сервера NGINX:

nano /etc/zabbix/nginx.conf

Находим два необходимых параметра, редактируем их и обязательно убираем символ # комментария:

listen 80;
server_name zabbix7.itadminlab.ru;
  • listen 80 — указывает порт для работы веб-интерфейса, в данном случае порт 80.
  • server_name — задаёт доменное имя, которое будет обслуживать веб-сервер. В моём случае это zabbix7.itadminlab.ru, а вам следует указать имя, соответствующее вашей конфигурации.

Настройка PHP-FPM

Теперь открываем файл:

nano /etc/zabbix/php-fpm.conf

Изменяем следующие параметры:

php_value[post_max_size] = 128M
php_value[upload_max_filesize] = 128M
  • post_max_size — задаёт максимальный объём данных, отправляемых серверу за один запрос.
  • upload_max_filesize — определяет максимальный размер загружаемого файла.

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

Сохранение изменений и перезапуск служб

После внесения изменений сохраняем файлы и перезапускаем службы NGINX и PHP-FPM:

systemctl restart nginx php8.3-fpm

Это базовые настройки, которых достаточно для начала работы. При необходимости вы можете настроить службы более детально под ваши задачи.

Установка СУБД PostgreSQL

Чтобы установить PostgreSQL, выполните следующую команду:

apt install postgresql postgresql-contrib

После этого сервер установится и автоматически запустится.

Теперь необходимо создать нового пользователя, установить для него пароль и создать базу данных для работы Zabbix. Для этого выполните следующую команду:

sudo -u postgres createuser --pwprompt zabbix

Эта команда создаёт нового пользователя PostgreSQL с именем zabbix. Параметр --pwprompt позволяет сразу задать пароль для этого пользователя.

Далее создаём базу данных:

sudo -u postgres createdb -O zabbix zabbix

Эта команда создаёт новую базу данных с именем zabbix и назначает её владельцем пользователя zabbix, которого мы только что создали.

Теперь необходимо импортировать начальную схему и данные в созданную базу данных:

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

После импорта данных база готова к работе, но чтобы Zabbix Server мог взаимодействовать с ней, необходимо выполнить ещё одну настройку.

Настройка подключения Zabbix к PostgreSQL

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

nano /etc/zabbix/zabbix_server.conf

Найдите параметр DBPassword, раскомментируйте его и задайте пароль, который вы установили для пользователя zabbix:

DBPassword=P@ssw0rd

Замените P@ssw0rd на ваш реальный пароль. После сохранения изменений Zabbix Server сможет использовать эти учётные данные для подключения к PostgreSQL.

Установка TimescaleDB

Теперь установим TimescaleDB и подключим его к базе данных Zabbix.

Установка необходимых пакетов

Перед началом работы установите утилиты, которые могут потребоваться для добавления репозитория и работы с ключами:

apt install gnupg apt-transport-https

Если эти пакеты уже установлены, повторная установка не повредит.

Подключение официального репозитория TimescaleDB

Добавьте репозиторий в список источников APT:

echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/timescaledb.list

Импорт GPG-ключа репозитория

Загрузите и установите ключ для проверки пакетов из этого репозитория:

wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg

Этот ключ используется для проверки целостности и подлинности пакетов, загружаемых из репозитория.

Обновление списка пакетов

После добавления репозитория обновите локальный список доступных пакетов:

apt update

Установка TimescaleDB нужной версии

apt install timescaledb-2-postgresql-16='2.15.*' timescaledb-2-loader-postgresql-16='2.15.*' postgresql-client-16

После установки необходимо запустить утилиту конфигурации TimescaleDB:

timescaledb-tune

Утилита timescaledb-tune анализирует текущую конфигурацию PostgreSQL и предлагает параметры для работы с TimescaleDB. Она вносит изменения в конфигурацию PostgreSQL с учётом ресурсов сервера.

На данном этапе мы не будем углубляться в ручную настройку параметров через timescaledb-tune, поэтому подтверждаем предлагаемые изменения.

После завершения работы утилиты перезапускаем PostgreSQL:

systemctl restart postgresql

Подключение расширения TimescaleDB

Теперь подключим расширение TimescaleDB к базе данных Zabbix:

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

Эта команда создаёт расширение TimescaleDB в базе данных zabbix, если оно ещё не было подключено. Опция CASCADE автоматически подключает необходимые зависимости.

Конвертация структуры данных Zabbix

Далее запускаем специальный скрипт Zabbix для настройки базы данных под TimescaleDB:

cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix

Скрипт подготавливает таблицы Zabbix для использования возможностей TimescaleDB и хранения исторических данных.

На этом установка и настройка TimescaleDB для работы с Zabbix завершена.

Настройка локальных DNS

Чтобы получить доступ к Zabbix по имени, а не по IP-адресу, нужно настроить локальный DNS. Рассмотрим два возможных варианта.

Вариант 1: У вас есть домен и контроллер домена

Если у вас уже настроен внутренний домен и контроллер домена, добавьте A-запись о сервере Zabbix в настройки вашего DNS-сервера. Это позволит всем устройствам в домене обращаться к Zabbix по имени.

Настройка DNS для Zabbix 7

Вариант 2: У вас нет контроллера домена

Если вы не используете контроллер домена, но всё равно хотите обращаться к Zabbix по имени, можно вручную изменить файл hosts на вашем устройстве.

Для этого откройте файл /etc/hosts в Linux или C:\Windows\System32\drivers\etc\hosts в Windows и добавьте строку:

192.168.0.50 zabbix7.itadminlab.ru

Замените 192.168.0.50 на IP-адрес вашего сервера, а zabbix7.itadminlab.ru — на желаемое имя.

После этого вы сможете обращаться к веб-интерфейсу Zabbix по указанному имени без необходимости каждый раз вводить IP-адрес сервера.

Завершение установки Zabbix 7

Чтобы завершить установку, добавим службы Zabbix в автозагрузку и сразу же запустим их:

systemctl enable --now zabbix-server zabbix-agent

Эта команда одновременно включает автоматический запуск сервисов zabbix-server и zabbix-agent при загрузке системы и сразу запускает их в текущей сессии.

Также убедимся, что NGINX и PHP-FPM запущены:

systemctl status nginx php8.3-fpm zabbix-server

Если Zabbix Server не запускается, в первую очередь смотрим его журнал:

journalctl -u zabbix-server -n 100 --no-pager

Также можно посмотреть основной лог Zabbix Server:

tail -f /var/log/zabbix/zabbix_server.log

Первоначальная настройка веб-интерфейса Zabbix

Теперь откройте веб-интерфейс по адресу http://zabbix7.itadminlab.ru/ — здесь необходимо указать собственный FQDN сервера Zabbix. Если мастер установки автоматически не открылся, перейдите по адресу http://zabbix7.itadminlab.ru/setup.php.

Открылся мастер первоначальной настройки Zabbix, который приветствует нас сообщением «Добро пожаловать в Zabbix 7». Здесь можно выбрать язык установки.

Как видно, у меня на сервере доступен только один язык — английский. Однако если вам понадобятся другие языки, вы сможете добавить их позже. На этом этапе оставляем язык по умолчанию — английский и переходим к следующему шагу.

Мастер установки Zabbix 7

На следующем шаге мастер выполняет проверку предварительных требований. Если все требования выполнены, нажимаем Далее.

Проверка требований при установке Zabbix 7

На следующем экране введите пароль пользователя базы данных, который вы установили при настройке PostgreSQL. Остальные параметры оставляем по умолчанию и нажимаем Далее.

Настройка подключения Zabbix 7 к PostgreSQL

На следующем шаге указываем имя сервера — я использую Zabbix7, вы можете выбрать любое другое. Затем выбираем часовой пояс — я выбираю +3 Москва, вы указываете свой. В последнем пункте выбираем тему — оставляю голубую по умолчанию. Нажимаем Далее.

Настройка параметров веб-интерфейса Zabbix 7

На следующем шаге отображается сводка всех выбранных настроек. Проверяем их и нажимаем Далее.

Проверка настроек перед установкой Zabbix 7

Установка веб-интерфейса Zabbix завершена успешно, о чём свидетельствует сообщение на экране. Нажимаем Завершить.

Завершение установки Zabbix 7

Первый вход в Zabbix 7

Перед нами форма входа в панель управления Zabbix. Для входа используйте имя пользователя Admin с большой буквы и пароль zabbix.

Вход в Zabbix 7

Мы успешно вошли в Zabbix. Поскольку имя пользователя и пароль установлены по умолчанию, пароль администратора нужно сразу изменить.

Веб-интерфейс Zabbix 7

Переходим в меню Administration → Users, находим нашего пользователя и выбираем его для редактирования.

Пользователи Zabbix 7

Теперь нажимаем кнопку Change Password для смены пароля.

Смена пароля пользователя Zabbix 7

Придумываем более сложный пароль и нажимаем кнопку Update для его сохранения.

Сохранение нового пароля Zabbix 7

Вот и всё! Zabbix 7 установлен и работает с NGINX, PostgreSQL и TimescaleDB.

Часто задаваемые вопросы

Зачем использовать TimescaleDB вместе с Zabbix?

TimescaleDB расширяет PostgreSQL возможностями, ориентированными на работу с временными рядами. Для Zabbix это особенно актуально при хранении большого объёма исторических метрик.

Обязательно ли устанавливать TimescaleDB?

Нет. Zabbix может работать с обычной PostgreSQL без TimescaleDB. В этой статье рассматривается именно вариант PostgreSQL + TimescaleDB.

Можно ли использовать Apache вместо NGINX?

Да. Для более простой конфигурации с Apache и MySQL у меня есть отдельная инструкция, ссылка на которую приведена в начале и в конце этой статьи.

Как проверить, запустился ли Zabbix Server?

Используйте команду systemctl status zabbix-server. Если сервис не запускается, изучите журнал через journalctl -u zabbix-server и файл /var/log/zabbix/zabbix_server.log.

Почему веб-интерфейс Zabbix не открывается по имени?

Проверьте DNS-запись сервера, параметр server_name в конфигурации NGINX и доступность самого сервера по сети. В небольшой тестовой среде имя можно временно прописать в локальном файле hosts.

Какой логин используется для первого входа в Zabbix?

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

Можно ли просто обновлять TimescaleDB до любой новой версии?

Нет. Перед обновлением необходимо проверить совместимость новой версии TimescaleDB с установленными версиями PostgreSQL и Zabbix.

Заключение

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

Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера Apache и базы данных MySQL.

ORIGINAL / ATTRIBUTION

Источник материала

Материал взят с https://sysadminhub.ru/. Оригинальная статья и авторство указаны по ссылке ниже.

Оригинал статьи на SysAdminHub.ru ↗

https://sysadminhub.ru/other/zabbix/how-to-install-zabbix-7-ubuntu-nginx-postgresql-timescaledb

Материал проверен 10.10.2026. При изменении программного обеспечения сверяйтесь с актуальной документацией.
← Вернуться в базу знаний