Перенос DB из Zabbix 7.0.0beta1 на свежеподнятую ВМ с Zabbix 7.0 LTS на ОС Linux CentOS Stream 9 -------------------------------------------------------------------------------------------------------------------------------------------------------------- Все описанные ниже действия выполнялись под пользователем root -------------------------------------------------------------------------------------------------------------------------------------------------------------- Всем привет! Для реализации данного проекта мне потребовалось: 1) Сделать Snapshot/Backup ВМ с Zabbix 7.0.0beta1; 2) Создать новую ВМ из сделанного ранее Snapshot-а/Backup-а с Zabbix 7.0.0beta1 не включая сетевых интерфейсов; 3) Настроить статическую IP-адресацию на новой развернутой ВМ с Zabbix 7.0.0beta1 и включить сетевые интерфейсы; 4) Остановить сервисы Zabbix-а и выполнить РК БД Zabbix 7.0.0beta1; 5) Создать новую ВМ, установить ОС Linux CentOS Stream 9, прописать статическую IP-адресацию, обновить пакеты ОС, установить Zabbix 7.0 LTS и настроить конфигурационные файлы Zabbix-а; 6) Перенести РК БД из ВМ с Zabbix 7.0.0beta1 на ВМ с Zabbix 7.0 LTS, выполнить распаковку и импортацию БД; 7) Выдать полные привилегии БД, выполнить первоначальную настройку/установку Zabbix через Zabbix Web-интерфейс. -------------------------------------------------------------------------------------------------------------------------------------------------------------- Предисловие: ------------ Nano — это консольный текстовый редактор для UNIX и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GPL. ------------ SELinux — реализация системы принудительного контроля доступа, которая может работать параллельно с классической избирательной системой контроля доступа. ------------ NMTUI — это инструмент командной строки, который используется для настройки сети в системах Gnu / Linux. При запуске он вызывает графический текстовый интерфейс, который помогает пользователям легко и эффективно настраивать сетевые интерфейсы. ------------ Zabbix — это свободная система мониторинга статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования. ------------ Apache HTTP-сервер — это свободный веб-сервер. ------------ MariaDB — это ответвление от системы управления базами данных MySQL, разрабатываемое сообществом под лицензией GNU GPL. ------------ Database — это упорядоченный набор структурированной информации или данных, которые обычно хранятся в электронном виде, в компьютерной системе. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 1) Своевременное выполнение snapshot-ов или же backup-ов — это отличный способ сохранить данные при какой-либо непредвиденной ситуации и не только. Для дальнейшей работы с БД, нам понадобится сделать snapshot или же backup ВМ с Zabbix 7.0.0beta1. Я работал с системой виртуализации Xen Orchestra, поэтому я сделал snapshot актуальной ВМ. --------------------------------------------------------------------- 2) Создаем ВМ из сделанного ранее в шаге №1 snapshot-а. Основным моментом в данном шаге является то, что нельзя включать сетевые интерфейсы в созданной ВМ из snapshot-а, т.к. у вас в сети сразу же возникнет конфликт IP-адресов. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 3) После запуска ВМ с выключенными сетевыми интерфейсами, подключаемся к ней через console и меняем статическую IP-адресацию. После чего можете(по желанию) "выключить ВМ", включить на ней сетевые интерфейсы и включить снова. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 4) Вот мы и дошли до работы в консоли. Подключаемся любым удобным для вас образом к развернутой из snapshot-а ВМ и останавливаем сервисы Zabbix-а. ------------ systemctl stop zabbix-server zabbix-agent |#|#| Команда для остановки сервисов zabbix-server и zabbix-agent ------------ После чего нужно выполнить backup БД. ------------ /usr/bin/mysqldump --opt -v --databases zabbix -uzabbix -p'zabbixpassword' | /usr/bin/gzip -c > ~/ |#|#| Команда для выполнения РК БД Zabbix в MySQL ------------ sudo -u postgres pg_dump -U postgres zabbix | /usr/bin/gzip > ~/zabbix.sql.gz |#|#| Команда для выполнения РК БД Zabbix в PostgreSQL ------------ По желанию можете сделать копию важных для вас конфигурационных файлов/скриптов Zabbix. ------------ mkdir /opt/zabbix-backup/ |#|#| Команда для создания каталога "zabbix-backup" ------------ cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ |#|#| Команда для копирования конфигурационного файла "zabbix_server.conf" в каталог "/opt/zabbix-backup/" ------------ cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/ |#|#| Команда для копирования конфигурационного файла "zabbix.conf" в каталог "/opt/zabbix-backup/" ------------ cp -R /usr/share/zabbix/ /opt/zabbix-backup/ |#|#| Команда для полного копирования каталога с файлами "zabbix" в каталог "/opt/zabbix-backup/" ------------ cp -R /usr/share/zabbix-* /opt/zabbix-backup/ |#|#| Команда для полного копирования каталога с файлами "zabbix-*" в каталог "/opt/zabbix-backup/" -------------------------------------------------------------------------------------------------------------------------------------------------------------- 5) После создания РК БД на ВМ с Zabbix 7.0.0beta1, плавно переходим к созданию и настройке ВМ с Zabbix 7.0. LTS. Первым делом создаем ВМ нужными для вашего Zabbix-сервера ресурсами и устанавливаем на неё ОС Linux CentOS Stream 9. После чего обновляем пакеты системы, назначаем на ВМ статическую IP-адресацию, меняем hostname и после чего делаем reboot. Как устанавливать Zabbix 7.0 на ОС Linux CentOS Stream 9 вы можете найти у меня в репозитории Linux CentOS > Web Install Zabbix Server 7.0. После установки Zabbix 7.0, рекомендую перенести настройки из старых конфигурационных файлов в новые ВРУЧНУЮ! Конфигурационные файлы могут отличаться! Лучше перепроверить и подредактировать/раскомментировать нужные значения в конфигурационных файлах на новой ВМ, чем скопировать все конфигурационные файлы со старой. ------------ nano /etc/zabbix/zabbix_server.conf |#|#| Команда для редактирования конфигурационного файла "zabbix_server" ------------ Приведите строки конфигурационного файла к следующему виду и сохраните: LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/run/zabbix/zabbix_server.pid SocketDir=/run/zabbix DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpassword(пропишите свой пароль) StartPollers=20 StartPingers=10 StartDiscoverers=10 StartHTTPPollers=20 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log CacheSize=128M Timeout=4 LogSlowQueries=3000 StatsAllowedIP=127.0.0.1 EnableGlobalScripts=0 -------------------------------------------------------------------------------------------------------------------------------------------------------------- 6) Для переноса БД с ВМ на ВМ используйте любой удобный для вас способ! После выполнения переноса разархивируйте БД. ------------ gunzip zabbix.sql.gz |#|#| Команда для распаковки .gz-архива ------------ Далее подключаемся к MariaDB и создаём новую БД и выдаем новой БД полные привилегии для пользователя zabbix. ------------ mysql |#|#| Команда для подключения к MariaDB с помощью пользователя root ------------ create database zabbix character set utf8mb4 collate utf8mb4_bin; |#|#| Команда для создания базы данных с названием "zabbix" ------------ exit |#|#| Команда для выхода из MariaDB ------------ После чего выполняем импорт БД в MariaDB. ------------ mysql -u root -p < zabbix.sq |#|#| Команда импорта БД, после выполнения введите пароль "zabbixpassword" ------------ Процесс экспорта/импорта довольно таки длительный, наберитесь терпения! -------------------------------------------------------------------------------------------------------------------------------------------------------------- 7) После импорта снова подключитесь к MariaDB и выдайте пользователю zabbix к импортированной БД полные привилегии. ------------ mysql |#|#| Команда для подключения к MariaDB с помощью пользователя root ------------ grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbixpassword'; |#|#| Команда для выдачи полных привилегий пользователю zabbix к базам данных "zabbix.*" ------------ exit |#|#| Команда для выхода из MariaDB ------------ На этом перенос БД из старой ВМ в новую закончен! Далее запускаете все нужные службы и добавляете их в автозагрузку. Выполняете настройку/установку Zabbix через Zabbix Web-интерфейс и работаете дальше! Пример настройки/установки Zabbix через Zabbix Web-интерфейс вы можете также найти у меня в репозитории Linux CentOS > Web Install Zabbix Server 7.0. -------------------------------------------------------------------------------------------------------------------------------------------------------------- На этом инструкция закончена! Спасибо за внимание!