Skip to content

Commit

Permalink
Create Transferring DB from Zabbix 7.0.0beta1 to Zabbix 7.0 LTS
Browse files Browse the repository at this point in the history
  • Loading branch information
dimoroz772 authored Jun 21, 2024
1 parent 82aa23c commit abce86c
Showing 1 changed file with 119 additions and 0 deletions.
119 changes: 119 additions & 0 deletions Transferring DB from Zabbix 7.0.0beta1 to Zabbix 7.0 LTS
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
Перенос database из 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.
После установки Zabbix 7.0, рекомендую перенести настройки из старых конфигурационных файлов в новые ВРУЧНУЮ! Конфигурационные файлы могут отличаться!
Лучше перепроверить и подредактировать/раскомментировать нужные значения в конфигурационных файлах на новой ВМ, чем скопировать все конфигурационные файлы со старой.
------------
nano /etc/zabbix/zabbix_server.conf |#|#| Команда для редактирования конфигурационного файла "zabbix_server.conf"
------------
Приведите строки конфигурационного файла к следующему виду и сохраните:

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.sql |#|#| Команда импорта БД, после выполнения введите пароль "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.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Всем спасибо за внимание!

0 comments on commit abce86c

Please sign in to comment.