work:zabbix:zabbix-migration-mysql-postgresql

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
work:zabbix:zabbix-migration-mysql-postgresql [2025/01/15 13:50] rollandwork:zabbix:zabbix-migration-mysql-postgresql [2025/01/15 14:26] (текущий) rolland
Строка 266: Строка 266:
 </code> </code>
  
 +Ну и рекомендуется сделать VACUUM
 +
 +<code>
 +sudo -u postgres vacuumdb --dbname=zabbixrddb --analyze --username=postgres --jobs=$(grep -c processor /proc/cpuinfo)
 +</code>
 +
 +==== Тестирование ====
 +
 +Удаляем поддержку mysql
 +
 +<code>
 +sudo apt remove zabbix-server-mysql
 +</code>
 +
 +На всякий случай сохраняем конфиг **zabbix_server.conf** .
 +
 +Ставим необходимые пакеты
 +
 +<code>
 +sudo apt install zabbix-server-pgsql php8.3-pgsql zabbix-apache-conf
 +</code>
 +
 +Удаляем конфиг mysql для Zabbix
 +
 +<code>
 +sudo rm /etc/zabbix/web/zabbix.conf.php
 +</code>
 +
 +Стартуем Zabbix и Apache
 +
 +<code>
 +sudo systemctl start zabbix-server apache2
 +</code>
 +
 +Подключаемся к нашему Zabbix через браузер и выполняем его настройку на СУБД PostgreSQL. После этого все должно заработать.
 +
 +Удаляем MysQL и все, что с ним связано.
 +
 +<code>
 +service mysql stop
 +
 +sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
 +
 +sudo rm -Rf /var/lib/mysql/
 +
 +sudo rm -Rf /etc/mysql/
 +
 +sudo rm -Rf /var/log/mysql/
 +
 +sudo deluser --remove-home mysql
 +</code>
 +
 +==== Установка TimescaleDB ====
 +
 +А теперь еще одна плюшка. Ставим TimescaleDB для улучшения работы с Zabbix.
 +
 +Подключаем репозиторий
 +
 +<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 update
 +</code>
 +
 +Ставим необходимое
 +
 +<code>
 +sudo apt install timescaledb-2-postgresql-17 timescaledb-2-loader-postgresql-17
 +</code>
 +
 +Выполняем настройку. Проще всего на все ответить "да".
 +
 +<code>
 +sudo timescaledb-tune
 +</code>
 +
 +Останавливаем сервер Zabbix
 +
 +<code>
 +sudo systemctl stop zabbix-server
 +</code>
 +
 +Перезапустим postgresql
 +
 +<code>
 +sudo systemctl restart postgresql
 +</code>
 +
 +Подключаем расширение к Zabbix
 +
 +<code>
 +echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql --dbname=zabbixrddb
 +</code>
 +
 +И выполняем скрипт для конвертации данных. Занимает некоторое время.
 +
 +<code>
 +sudo -u postgres psql --host=127.0.0.1 --dbname=zabbixrddb --username=zabbixrd -f /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql
 +</code>
 +
 +Запускаем Zabbix
 +
 +<code>
 +sudo systemctl start zabbix-server
 +</code>
 +
 +Помогли в написании источники: https://www.initmax.com/wiki/zabbix-migration-from-mysql-to-postgresql/ https://interface31.ru/tech_it/2024/07/ustanovka-zabbix-7-c-nginx-postgresql-timescaledb-na-ubuntu-server.html https://rutube.ru/video/f393860f271726b94d9a1467a871c1da/
  • work/zabbix/zabbix-migration-mysql-postgresql.1736938250.txt.gz
  • Последнее изменение: 2025/01/15 13:50
  • rolland