2024/06/04にZabbix 7.0 LTSが公開された。
6.4を入れたばかりだが、アップグレード対応に挑戦。
ちなみにサポートはLTS版の方が長い。
公式の情報を覗くと、LTS版のフルサポートは3年、LTS無しだとサポートは1年くらい。私は慣れていないので、今後もLTS版を選ぶ予定。
LTSのリミテッドサポートは5年、延長サポートは2年となる。
2024/6にリリースされたZabbix 7.0 LTSを導入したらフルサポートは2027/6まで、リミテッドサポートは2029/6まで、延長サポートは2031/6まで。
Zabbixのアップグレード手順
アップグレードはZabbixのドキュメント(英文)を読みながら対応する。
今回の環境の場合だと、Zabbixを6.4→7.0に上げるための手順書と、CentOS Stream9のパッケージのアップグレードの手順書(Red Hat系、Linux系)を用意する。RHELはRed Hat Enterprise Linux。
最初の準備
最初にバイナリロギングを有効にする。最後に無効にするのを忘れない。
SET GLOBAL log_bin_trust_function_creators=1;
次にZabbixのサービスを停止する。
systemctl stop zabbix-server
zabbix-proxyサービスは導入していないのでコマンド不要。
※今回やらなかったけど、もしかするとzabbix-agentもstopさせてた方がいいかもしれない。
Zabbixの設定ファイル等をバックアップ
バックアップは/optに入れる。
今のところ/optディレクトリにはremiが入っている。/optディレクトリにはremiのようにシステムに最初から組まれていないものや、干渉を避けてバックアップデータを保存できるので、Zabbix以外のことでも上手いこと活用しよう。
/optの中にZabbixのバックアップディレクトリを用意する。
mkdir /opt/zabbix-7.0_upgrade-backup/
事が終わったら削除してもいいのだろうけど、慣れないうちは様子見で。
設定ファイルをZabbixのバックアップディレクトリにコピーする。注意点として、私は「zabbix-apache-conf」ではなく「zabbix-nginx-conf」を使っているので、コピー対象の設定ファイルを間違えないこと。
あとは念のためzabbix_agentd.confもバックアップを取っといた。
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-7.0_upgrade-backup/
cp /etc/zabbix/zabbix_agentd.conf /opt/zabbix-7.0_upgrade-backup/
cp /etc/nginx/conf.d/zabbix.conf /opt/zabbix-7.0_upgrade-backup/
バイナリファイルのバックアップも行う。
cp -r /usr/share/zabbix/ /opt/zabbix-7.0_upgrade-backup/
cp -r /usr/share/zabbix-* /opt/zabbix-7.0_upgrade-backup/
「/usr/share/zabbix-*」とすることで/usr/share/zabbix-sql-scriptsディレクトリもバックアップを取れた。
リポジトリの更新
インストールの案内ページにもあるように、rpmコマンドで更新する。
rpmコマンドの-Uオプションを使うと、インストール済みのパッケージならアップグレードしてくれる。
rpmコマンド使用前と使用後に「dnf info zabbix-agent」をしたので比較。
関連・依存パッケージをupgradeすると、インストール済みパッケージが7.0.0になるかも。
7.0.0からライセンスが「GPLv2+」から「AGPL3」になる模様。ソフトウェアだけでなくネットワーク越しにもライセンスの効力があるとのこと。
アップグレードはパッケージ1つ1つ調べてやっていくのもありだと思うけど、取りこぼしが怖いので一括でのアップグレードを行なう。
まずはinfoで何のパッケージがあるかだけ確認。
dnf info 'zabbix-*'
パッケージzabbix-web-depsがあるのを知らなかったし、zabbix-web-depsのバージョンが6.4.15になっていたので、取りこぼさないよう一括でアップグレードする。
dnf upgrade 'zabbix-*'
インストール済みパッケージが無事に7.0.0になっていた。
アップグレード後には念のためdnf clean allを行なっておく。
アップグレードの最後の仕上げ
zabbix-serverとzabbix-agentを起動する。
systemctl start zabbix-server
systemctl start zabbix-agent
mysqlからバイナリロギングを無効にする。
SET GLOBAL log_bin_trust_function_creators=0;
ダッシュボードにログインし、一番下のバージョンを確認して終了。
いちばんめのサーバー構築の流れ
-
1-1 初期設定
-
1-2 新規ユーザー(一般ユーザー)の作成と設定
-
1-3 Nginx導入とhttpの準備
-
1-4 Nginxの初期設定
-
1-5 php導入
-
1-6 Apache導入と初期設定
-
1-7 リバースプロキシを準備する前の事前知識
-
1-8 サーバーIPアドレスとドメイン(ワイルドカード指定)の設定
-
1-9 ドメイン個別設定とリバースプロキシ構築
-
1-10 Let’s Encrypt(Certbot)を使ったSSL/TLS証明書の発行と自動更新設定
-
1-11 MySQL導入
-
1-12 MySQLのパフォーマンスチューニング
-
1-13 MySQLへのログインと初期設定
-
1-14 MySQLからDB・ユーザーの準備/ユーザーの権限設定
-
1-15 Zabbix導入
-
1-16 (寄り道)Zabbixのアップグレード
-
1-17 PHPの詳細設定
-
1-18 WP-CLIとWordPressの導入