amegonの雑なブログ

日常的なものから技術的なものまでメモの雑記

Zabbix 5.0 から 6.0 へのバージョンアップ

結果

以下ページの通りに実施したらできた。

https://tech-mmmm.blogspot.com/2022/03/zabbix-5060-mariadb.html

わかりやすいご説明で感謝です!

実行手順

以下は先述の手順にしたがって実施した内容と自身の環境で発生したメモを記載。
ただ、特筆するようなものはなし。

バックアップ作成

自身の環境は Hyper-V で動作している環境なので、チェックポイント(スナップショット)を作成しておいた。

Zabbix の停止

systemctl stop zabbix-server zabbix-agent httpd php-fpm

MariaDB の停止

systemctl stop mariadb

MariaDB のアンインストール

Zabbix 6.0 では MariaDB 10.5~10.6 を利用する必要があるが、標準のリポジトリではインストールすることができないため、一度 dnf remove を使ってMariaDBをアンインストールする。 とのこと。

dnf remove mariadb mariadb-server

mysql-libsmysql-common が残っていると次版の MariaDB インストール時に競合することがあるらしいので、個別にアンインストールしておくとのこと。 私の環境では残っていなかったのでスキップした。

rpm -qa | grep mysql
rpm -e <上記コマンドで表示された mysql-libs のフルネーム>
rpm -e <上記コマンドで表示された mysql-common のフルネーム>

MariaDB の最新版をインストール

以下のコマンドで MariaDB のインストールを実施。

curl -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
bash mariadb_repo_setup --mariadb-server-version mariadb-10.6
dnf clean all
dnf install -y MariaDB-server MariaDB-client

インストール後 MariaDB のバージョンを確認

mariadb --version

Zabbix のバージョンアップ

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
dnf clean all
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent zabbix-web-japanese

Zabbix のパッケージでバージョンがあがっていないものがないか確認する。 あれば dnf install を実施してバージョンアップする。

rpm -qa | grep zabbix
dnf install -y <バージョンが上がっていなかったパッケージの名前>

MariDB 起動

systemctl start mariadb
systemctl enable mariadb

MariaDB を起動するとエラーがでることがあるらしい。 (私の環境では発生しなかった。)

# tail -30 /var/log/messages | grep "ERROR"
Feb 27 20:35:52 t1024cent mariadbd[20784]: 2022-02-27 20:35:52 0 [ERROR] Incorrect definition of table mysql.event: expected column 'definer' at position 3 to have type varchar(, found type char(141).
Feb 27 20:35:52 t1024cent mariadbd[20784]: 2022-02-27 20:35:52 0 [ERROR] mariadbd: Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.

その場合には以下のコマンドを実行する。

mariadb-upgrade

Zabbix 起動

起動すると zabbix_server.log にアップグレードプロセスの実施記録が残るので事前にログを表示しておいてから Zabbix を起動してみる。 (Zabbix 起動時に確認できなかった場合は後で確認でも当然OK。)

tail -f /var/log/zabbix/zabbix_server.log

Zabbix を起動する。

systemctl start zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm

Zabbix へのログイン確認

ブラウザにログインして確認する。

バージョンアップ中データの欠けが存在しているが、バージョンアップ前のデータも残っており、監視データの取得も再開されていることが確認できた。 このことから正常にバージョンアップができたと判断できる。

(バージョンアップ前に 1時間弱発生しているデータ欠けは別の検証で他の Zabbix から監視データ移行を行った際に発生したデータ欠けです。今回のバージョンアップとは関係ありません(汗) )