Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Мониторинг инфраструктуры

Рабочая инструкция по установке Zabbix 7, Nginx, PostgreSQL, TimescaleDB на операционную систему Ubuntu 24.

Подготовительные работы

Обновляем сервер до последней версии:

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

Перегружаем сервер:

reboot

После перезагрузки сервера выполняем:

sudo su

Устанавливаем нужную локаль:

localectl
Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Если она отличается от ru_RU.UTF-8, то установим командой:

localectl set-locale LANG=ru_RU.UTF-8

Настраиваем часовой пояс:

timedatectl 
Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Установим нужный часовой пояс:

timedatectl set-timezone Europe/Moscow

Проверим:

timedatectl 

Получили ответ:

Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Видим, часовой пояс изменился на нужный.

Настраиваем имя сервера:

hostnamectl hostname zabbix7test

Редактируем файл /etc/hosts

nano /etc/hosts
Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

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

reboot

Установка Zabbix 7

Для выбора последних пакетов перейдем на сайт https://zabbix.com в раздел скачивания. Выбираем Zabbix Packages, далее выбираем:

Zabbix versions: 7.0 LTS

OS Distribution: Ubuntu

OS Version: 24.04 (Noble)

Zabbix component: Server, Frontend, Agent

Database: PostgreSQL

Web Server: Nginx

Добавляем репозиторий и ключ Zabbix

Нам потребуется скачать и установить специальный пакет:

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

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

Обновляем:

apt update

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

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

Настраиваем Web сервер

Открываем и меняем:

nano /etc/zabbix/nginx.conf

Указываем порт на котором будет работать web-интерфейс и доменное имя:

listen 80;
server_name zabbix7test.inter-connect.ru;

Поменяем опции в конфиге /etc/zabbix/php-fpm.conf

nano /etc/zabbix/php-fpm.conf

Изменим опции на:

php_value[post_max_size] = 32M
php_value[upload_max_filesize] = 16M

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

systemctl restart nginx php8.3-fpm

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

apt install postgresql postgresql-contrib

Теперь создадим новую роль (пользователя) сервера PostgreSQL и зададим ему новый пароль:

sudo -u postgres createuser --pwprompt zabbix
Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Создаем новую базу zabbix с владельцем zabbix:

sudo -u postgres createdb -O zabbix zabbix

Загрузим в нее схему и начальные данные:

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

Затем откроем файл /etc/zabbix/zabbix_server.conf и найдем там опцию DBPassword, которую приведем к виду:

DBPassword=MyPa$$word

Где MyPa$$word — пароль, который вы установили ранее.

Установка TimescaleDB

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

apt install gnupg apt-transport-https

Чтобы установить TimescaleDB подключим официальный репозиторий.

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

Cкачаем и импортируем ключ репозитория:

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

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

apt update

установим нужные компоненты, обратите внимание, что версия TimescaleDB должна соответствовать установленной версии PostgreSQL, в Ubuntu 24.04 это версия 16. Еще один момент — Zabbix поддерживает строго определенные версии TimescaleDB 2.13 — 2.15, поэтому выполним установку с явным указанием версии, при этом вы потом можете смело обновляться, на работу это не повлияет:

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

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

timescaledb-tune

После чего перезапустите службу СУБД:

systemctl restart postgresql

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

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

И выполним специальный скрипт для конвертации данных:

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

На этом установка и настройка TimescaleDB завершена.

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

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

systemctl enable --now zabbix-server zabbix-agent

Теперь перейдем в веб-интерфейс http://zabbix7.interface31.lab (здесь укажите собственный FQDN сервера Zabbix) и завершим его установку. Прежде всего выберите язык интерфейса и нажмите Далее.

Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

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

Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Указываем имя сервера, часовой пояс и выбираем тему оформления, все это можно сделать и потом, но лучше задать все необходимые параметры сразу:

Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

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

Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24

Сервер установлен.

Установка Zabbix 7, Nginx, PostgreSQL, TimescaleDB на Ubuntu 24
Оцените статью