work:zabbix:zabbix-ubuntu2404-postgresql-nginx

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
work:zabbix:zabbix-ubuntu2404-postgresql-nginx [2025/03/20 09:51] – rollandwork:zabbix:zabbix-ubuntu2404-postgresql-nginx [2026/09/17 17:39] (текущий) – rolland
Строка 5: Строка 5:
 ==== Подготовка ==== ==== Подготовка ====
  
-Для начала обновим систему. +Для начала обновим систему. Обновим список пакетов
-Обновим список пакетов+
  
 <code> <code>
 sudo apt-get update sudo apt-get update
 +
 </code> </code>
  
Строка 16: Строка 16:
 <code> <code>
 sudo apt-get dist-upgrade sudo apt-get dist-upgrade
 +
 </code> </code>
  
Строка 22: Строка 23:
 <code> <code>
 timedatectl timedatectl
 +
 </code> </code>
  
Строка 28: Строка 30:
 <code> <code>
 timedatectl set-timezone Europe/Kaliningrad timedatectl set-timezone Europe/Kaliningrad
 +
 </code> </code>
  
Строка 36: Строка 39:
 <code> <code>
 wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu24.04_all.deb wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu24.04_all.deb
 +
 </code> </code>
  
Строка 42: Строка 46:
 <code> <code>
 sudo dpkg -i zabbix-release_7.0-2+ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-2+ubuntu24.04_all.deb
 +
 </code> </code>
  
Строка 48: Строка 53:
 <code> <code>
 sudo apt-get update sudo apt-get update
 +
 </code> </code>
  
Строка 54: Строка 60:
 <code> <code>
 sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
 +
 </code> </code>
  
Строка 59: Строка 66:
  
 Настраиваем веб-сервер. Открываем любимым редактором файл **/etc/zabbix/nginx.conf**. И раскомментируем в нем две строки. Настраиваем веб-сервер. Открываем любимым редактором файл **/etc/zabbix/nginx.conf**. И раскомментируем в нем две строки.
- 
 <code> <code>
 listen 80; listen 80;
 server_name zabbix.local; server_name zabbix.local;
 +
 </code> </code>
 +
 +<note important> Обратите внимание, что порт сервера по-умолчанию стоит ''8080''. Если не планируете использовать еще как-либо сайты на сервере, то проще поставить ''80'' и закинуть этот конфиг как **//default//**  в настройки NGINX. </note>
 +Копируем конфиг zabbix
 +<code>
 +sudo cp /etc/nginx/conf.d/zabbix.conf /etc/nginx/sites-available/zabbix
 +</code>
 +Удаляем ссылку на дефолтный конфиг
 +<code>
 +cd /etc/nginx/sites-enabled/
 +sudo unlink default
 +</code>
 +Добавляем наш
 +<code>
 +sudo ln -s /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/
 +</code> 
 +Далее открываем **/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://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://sysadminhub.ru/other/zabbix/how-to-install-zabbix-7-ubuntu-nginx-postgresql-timescaledb]] [[https://www.timescale.com/blog/how-to-install-timescaledb-on-aws|https://www.timescale.com/blog/how-to-install-timescaledb-on-aws]]
 +
  
  • work/zabbix/zabbix-ubuntu2404-postgresql-nginx.1742453467.txt.gz
  • Последнее изменение: 2025/03/20 09:51
  • — rolland