どうもこんにちは、[sampei1]
タイトル通りです。
実際は 5.4.11 → 5.4.12 → 6.0.3 なんですが、5系間のUPは特に意識せずできますが、6系へのUPはひと手間かかったので書いておきます。
そもそもZABBIX6って何よ
5から6のメジャーバージョンアップだけあって、いろんな機能が追加になっているのですが、一番気になったのがこれ。
はい。マップがダッシュボードに追加されるようになったんです。かっこいいですよね!
これがやりたいがために、いくつか面倒な作業をする必要がありました。
そのままでは5から6へUPDATEできない
もはやZABBIXあるあるともいうべき、「メジャーバージョンアップは簡単には終わらない」問題。6でもサクッとはいきませんでした。
①バージョンが変わらない
新規インストールに倣って以下をやっても、うまく適用されません。
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 zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
ポイント
・めんどくさがってzabbix-*ですませようとすると、いらないものまでインストールしてエラー発生の要因になる ←体験済み
・selinux用のモジュールは使ってないので省いた
で、バージョンを確認すると
zabbix_server –version
zabbix_server (Zabbix) 5.4.12 ←変わってない
Revision 9bd5a418b8 4 April 2022, compilation time: Apr 4 2022 15:14:42
Copyright (C) 2022 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).
Compiled with OpenSSL 1.1.1g FIPS 21 Apr 2020
Running with OpenSSL 1.1.1k FIPS 25 Mar 2021
そしてシステムをリスタートさせようとすると、今度は立ち上がってこなくなった。。
面倒なことに足を突っ込んだことを改めて認識した瞬間である。
②エラーを確認する
起動しなくなってWEBを見たところ、下のようなメッセージが出ていた。
システム管理者に聞けって、この環境では僕なんだけど。。。
データベース系のエラーなのでdatabaseでgrepしてみる
cat /var/log/zabbix/zabbix_server.log | grep database
※ログのパスは環境によるので適宜変更ください。わからないときは
find /etc -name zabbix_server.log とかで検索。
Unable to start Zabbix server due to unsupported MariaDB database server version (10.03.28)
Use of supported database version is highly recommended.
database could be upgraded to use primary keys in history tables
同じメッセージが10秒間隔で出続けている。。。どうやら
①mariaDBのバージョンが低くてサポート外だから上げて
②history-tablesにプライマリキーを追加して
というのを訴えている模様。
①についてはあげるだけ。
②についてはなんのこっちゃとさじを投げそうになったが、よく見ると公式に載ってた。
要は、これまでなかったプライマリキーが6で追加されたために正しく動かないらしい
主キーを設定していないというのも微妙だが、まぁいい。
ちなみに変更前の一部のテーブル
こっちが変更後のテーブル
※画像なのは、テキストで張り付けると表の罫線が崩れて汚くなるので。
で、どうしたら変更できるのかは
mysql -uzabbixユーザ名 -pパスワード zabbix < /usr/share/doc/zabbix-sql-scripts/mysql/history_pk_prepare.sql
※ここでのユーザーはWEBではなく、DB用のもの。
を実行するだけ。これでプライマリキーが設定される(と思う)
僕の環境ではこれでエラーがなくなり、気づいたらZABBIX-SERVERも
自動的に起動していた。
お試しください。