work:zabbix:zabbix-ubuntu2404-postgresql-nginx

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
work:zabbix:zabbix-ubuntu2404-postgresql-nginx [2025/03/20 09:46] rollandwork:zabbix:zabbix-ubuntu2404-postgresql-nginx [2025/03/20 10:38] (текущий) rolland
Строка 56: Строка 56:
 </code> </code>
  
 +==== Настройка веб-сервера и PHP-FPM ====
  
 +Настраиваем веб-сервер. Открываем любимым редактором файл **/etc/zabbix/nginx.conf**. И раскомментируем в нем две строки.
 +
 +<code>
 +listen 80;
 +server_name zabbix.local;
 +</code>
 +
 +<note important>
 +Обратите внимание, что порт сервера по-умолчанию стоит ''8080''. Если не планируете использовать еще как-либо сайты на сервере, то проще поставить ''80'' и закинуть этот конфиг как **//default//** в настройки NGINX.
 +</note>
 +
 +Далее открываем **/etc/zabbix/php-fpm.conf** и ставим такие значения:
 +
 +<code>
 +php_value[post_max_size] = 128M
 +php_value[upload_max_filesize] = 128M
 +</code>
 +
 +Первая отвечает за максимальный размер данных, отправляемых на сервер за один запрос, вторая определяет максимальный размер загружаемого файла.
 +
 +Далее перезапускаем службы
 +
 +<code>
 +sudo systemctl restart nginx php8.3-fpm
 +</code>
 +
 +==== Установка PostgreSQL ====
 +
 +Ставим актуальную версию
 +
 +<code>
 +sudo apt install postgresql postgresql-contrib
 +</code>
 +
 +Теперь создадим новую роль (пользователя) сервера PostgreSQL и зададим ему новый пароль:
 +
 +<code>
 +sudo -u postgres createuser --pwprompt zabbix
 +</code>
 +
 +<note important>
 +Обратите внимание, что ''sudo -u postgres'' обозначает, что команда выполняется от имени пользователя **postgres**, а не **root**.
 +</note>
 +
 +Cоздадим новую базу данных zabbix с владельцем zabbix
 +
 +<code>
 +sudo -u postgres createdb -O zabbix zabbix
 +</code>
 +
 +Загрузим в нее схему и начальные данные
 +
 +<code>
 +zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
 +</code>
 +
 +В ходе выполнения данной команды система может попросить пароль, который вы установили на предыдущем шаге.
 +
 +Затем откроем файл **/etc/zabbix/zabbix_server.conf** и найдем там опцию **DBPassword**, раскомментируем ее и приведем к виду
 +
 +<code>
 +DBPassword=пароль установленный ранее
 +</code>
 +
 +==== Установка TimescaleDB ====
 +
 +Ставим необходимые пакеты
 +
 +<code>
 +sudo apt install gnupg apt-transport-https
 +</code>
 +
 +Добавляем официальный репозиторий
 +
 +<code>
 +echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
 +</code>
 +
 +Качаем и ставим ключ репозитория
 +
 +<code>
 +wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg
 +</code>
 +
 +Обновляем список пакетов
 +
 +<code>
 +sudo apt-get update
 +</code>
 +
 +И установим нужные компоненты. 
 +
 +<note important>
 +Обратите внимание, что версия TimescaleDB должна соответствовать установленной версии PostgreSQL, в Ubuntu 24.04 это версия 16. Еще один момент - Zabbix поддерживает строго определенные версии TimescaleDB 2.13 - 2.15, поэтому выполним установку с явным указанием версии, при этом вы потом можете смело обновляться, на работу это не повлияет
 +</note>
 +
 +<code>
 +sudo apt install timescaledb-2-postgresql-16='2.15.*' timescaledb-2-loader-postgresql-16='2.15.*' postgresql-client-16
 +</code>
 +
 +После установки запустим утилиту конфигурирования TimescaleDB и ответим утвердительно на все вопросы
 +
 +<code>
 +sudo timescaledb-tune
 +</code>
 +
 +Утилита timescaledb-tune анализирует текущую конфигурацию PostgreSQL и предлагает оптимальные настройки для работы с TimescaleDB. Она автоматически изменяет параметры в файле **postgresql.conf**, чтобы улучшить производительность базы данных для работы с временными рядами.
 +
 +На данном этапе мы не будем углубляться в настройку параметров через timescaledb-tune, поэтому просто отвечаем утвердительно на все вопросы утилиты.
 +
 +После завершения работы утилиты все изменения будут внесены в файл конфигурации PostgreSQL.
 +
 +Перезапускаем PostgreSQL
 +
 +<code>
 +sudo systemctl restart postgresql
 +</code>
 +
 +Подключаем расширение к базе
 +
 +<code>
 +echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
 +</code>
 +
 +И выполним специальный скрипт для конвертации данных
 +
 +<code>
 +cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix
 +</code>
 +
 +<note important>
 +Сообщения в ходе выполнения скрипта о том, что вы не следуете лучшим практикам (not follow best practices) можно смело проигнорировать.
 +</note>
 +
 +На этом установка и настройка TimescaleDB завершена.
 +
 +==== Завершение ====
 +
 +Для завершения установки добавим службы Zabbix в автозагрузку и одновременно запустим их
 +
 +<code>
 +sudo systemctl enable --now zabbix-server zabbix-agent
 +</code>
 +
 +Далее переходим по адресу, забитому в конфиге nginx выше или просто по ip и завершаем настройку.
 +<note important>
 +Логин по-умолчанию **Admin** и пароль **zabbix**
 +</note>
 +
 +Благодарю следующие источники за информацию:
 +[[https://interface31.ru/tech_it/2024/07/ustanovka-zabbix-7-c-nginx-postgresql-timescaledb-na-ubuntu-server.html]]
 +[[https://sysadminhub.ru/other/zabbix/how-to-install-zabbix-7-ubuntu-nginx-postgresql-timescaledb]]
 +[[https://www.timescale.com/blog/how-to-install-timescaledb-on-aws]]
  • work/zabbix/zabbix-ubuntu2404-postgresql-nginx.1742453169.txt.gz
  • Последнее изменение: 2025/03/20 09:46
  • rolland