Добавить в корзинуПозвонить
Найти в Дзене

Zabbix 7.4 — установка на Debian, TimescaleDB и PostgreSQL

Zabbix 7.4 в связке с PostgreSQL поддерживает TimescaleDB. Сегодня установим с нуля Zabbix 7.4 на сервер Debian. Используем базу данный PostgreSQL и TimescaleDB. Должно получиться: Debian 12 + Zabbix 7.4 + Nginx + PostgreSQL 17 + TimescaleDB. TimescaleDB — расширение, которое оптимизирует работу с временными рядами в базе данных PostgreSQL. Я ожидаю получить значительный прирост производительности, в особенности для процесса housekeeping. Я подготовил виртуальную машину с 2 CPU, 3 Гб ОЗУ и диском на 10 Гб. Установил Debian 12. Установим PostgreSQL 17на сервер с операционной системой Debian 12. БД перенесём в /opt. В репозитории Debian и так имеется Postgresql, так что установить его можно одной командой. Однако, если мы хотим получать самые последние обновления, то лучше использовать репозиторий postgresql. Вынес этот этап в отдельную статью. Установка PostgreSQL 17 на Debian 12 TimescaleDB — расширение, которое оптимизирует работу с временными рядами в базе данных PostgreSQL. Timescal
Оглавление

Zabbix 7.4 в связке с PostgreSQL поддерживает TimescaleDB. Сегодня установим с нуля Zabbix 7.4 на сервер Debian. Используем базу данный PostgreSQL и TimescaleDB.

Должно получиться: Debian 12 + Zabbix 7.4 + Nginx + PostgreSQL 17 + TimescaleDB.

TimescaleDB — расширение, которое оптимизирует работу с временными рядами в базе данных PostgreSQL.

Я ожидаю получить значительный прирост производительности, в особенности для процесса housekeeping.

Подготовка виртуальной машины

Я подготовил виртуальную машину с 2 CPU, 3 Гб ОЗУ и диском на 10 Гб. Установил Debian 12.

-2

Установка PostgreSQL 17

Установим PostgreSQL 17на сервер с операционной системой Debian 12. БД перенесём в /opt. В репозитории Debian и так имеется Postgresql, так что установить его можно одной командой. Однако, если мы хотим получать самые последние обновления, то лучше использовать репозиторий postgresql.

Вынес этот этап в отдельную статью.

Установка PostgreSQL 17 на Debian 12

Установка TimescaleDB

TimescaleDB — расширение, которое оптимизирует работу с временными рядами в базе данных PostgreSQL.

TimescaleDB реализована как расширение над PostgreSQL и перенимает преимущества PostgreSQL: надежность, безопасность, возможность использовать другие сервисы. При этом TimescaleDB значительно изменила архитектуру базы.

Установим репозиторий TimescaleDB. Вынес этот этап в отдельную статью.

Установка TimescaleDB на PostgreSQL 17 в Debian 12

Примечание: чтобы не наступить на те же грабли что и я, следует устанавливать определённую версию TimescaleDB, потому как Zabbix не со всеми умеет работать. В этом случае действуем по той же инструкции выше, но указываем версию:

apt install timescaledb-2-postgresql-17='2.19.*' timescaledb-2-loader-postgresql-17='2.19.*'

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

Перед началом установки можно облегчить себе жизни и сгенерировать инструкцию на сайте:

https://www.zabbix.com/download?zabbix=7.4&os_distribution=debian&os_version=12&components=server_frontend_agent_2&db=pgsql&ws=nginx

-3

Установка репозитория Zabbix

Установим репозиторий:

cd /tmp
wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian12_all.deb
apt update
-4

После выполнение кода в /etc/apt/source.list.d появляется файл zabbix.list.

-5

Репозиторий установлен.

Установка Zabbix сервера, веб-интерфейса и агента

apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

При необходимости можно установить дополнительные плагины для Zabbix agent 2:

# apt install zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql

Поскольку у меня PostgreSQL, который я планирую мониторить, поставлю плагин к нему:

apt install zabbix-agent2-plugin-postgresqlwСоздание базы данных Zabbix

Выполняем:

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
-6

При этом нас попросят указать пароль от пользователя zabbix, придумываем и запоминаем. Укажем пароль в конфигурационном файле /etc/zabbix/zabbix_server.conf:

DBPassword=password

Вместо "password" пишем пароль.

Импортируем схему БД.

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

Подключаем расширение TimescaleDB к базе.

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

Импортируем данные для TimescaleDB.

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

Настройка Nginx

В качестве веб-сервера у меня будет Nginx. Проверим что он запущен:

service nginx status
-10

Редактируем файл /etc/zabbix/nginx.conf, раскомментируем и настроим директивы 'listen' и 'server_name'.

listen 80;
server_name example.com;

Редактируем файл /etc/zabbix/php-fpm.conf, раскомментируем строку и укажем свой часовой пояс:

; php_value[date.timezone] = Europe/Riga

меняю на:

php_value[date.timezone] = Europe/Moscow
-11

Первый запуск

Запустим процессы Zabbix сервера и агента, настроим их запуск при загрузке ОС.

systemctl restart zabbix-server zabbix-agent2 nginx php8.2-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php8.2-fpm

Дальнейшие настройки делаем через веб интерфейс http://server_ip_or_name.

-12

Добро пожаловать в Zabbix 7.4. Next step.

-13

Убеждаемся, что всё OK. Next step.

-14

Указываем настройки для базы данных и пароль. Next step.

-15

Указываем имя хоста, временную зону, тему. Next step.

-16

Убеждаемся, что всё указали верно. Next step.

-17

Фронтенд настроили. Finish.

-18

Просят логин. При первом входе используем логин "Admin", пароль "zabbix".

-19

Zabbix Server 7.4 установлен и работает.

Источник:

Zabbix 7.4 — установка на Debian, TimescaleDB и PostgreSQL | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.