ZABBIX Server アップグレード作業メモ 6.0 → 7.0

各種ホストの死活監視・環境監視にZabbixを使っております。7のLTS版がリリースされましたのでアップグレードした作業メモとなります。アップグレード手順をよく理解してから作業するのが良いです。私は手順を勝手に読み飛ばしてしまいものすごく遠回りしてしまいました。

環境確認

OS Ubuntu

22.04.4のLTSとなります

cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

PHP

Ubuntuインストールに付属しておりました

php -v
PHP 8.1.2-1ubuntu2.18 (cli) (built: Jun 14 2024 15:52:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.18, Copyright (c), by Zend Technologies

MySQL

Ubuntuインストールに付属しておりました

# mysql --version
mysql  Ver 8.0.37-0ubuntu0.22.04.3 for Linux on x86_64 ((Ubuntu))

アップグレード前Zabbix-Server

zabbix_server (Zabbix) 6.0.10
Revision e35d7dceead 2 November 2022, compilation time: Nov  2 2022 09:39:35

Copyright (C) 2022 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>.
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.1f  31 Mar 2020
Running with OpenSSL 1.1.1f  31 Mar 2020

Zabbix関連のインストール確認

# dpkg -l | grep zabbix
ii  zabbix-agent                           1:6.0.10-1+ubuntu20.04                  amd64        Zabbix network monitoring solution - agent
ii  zabbix-apache-conf                     1:6.0.10-1+ubuntu20.04                  all          Zabbix network monitoring solution - apache configuration for front-end
ii  zabbix-frontend-php                    1:6.0.10-1+ubuntu20.04                  all          Zabbix network monitoring solution - PHP front-end
ii  zabbix-release                         1:6.0-4+ubuntu20.04                     all          Zabbix official repository configuration
ii  zabbix-server-mysql                    1:6.0.10-1+ubuntu20.04                  amd64        Zabbix network monitoring solution - server (MySQL)
ii  zabbix-sql-scripts                     1:6.0.10-1+ubuntu20.04                  all          Zabbix network monitoring solution - sql-scripts

アップグレード手順

アップグレードのURL 6.4x→7.0x用 Zabbixのサイトからリンクが見つけられずGoogle検索からたどり着きました。インストール用パッケージのURLにずっとしがみついていたので余計たどり着けませんでした。

1.Zabbixプロセス停止

service zabbix-server stop
service zabbix-agent stop

2.既存のZabbixデータベースをバックアップする

mysqldump -u root -p -B zabbix > zabbix60.sql
Enter password:

3.設定ファイル、PHPファイル、Zabbixバイナリをバックアップ

設定ファイル

mkdir /opt/zabbix-backup/
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/

PHPファイルとZabbixバイナリ

cp -R /usr/share/zabbix/ /opt/zabbix-backup/
cp -R /usr/share/zabbix-* /opt/zabbix-backup/

4.リポジトリ構成パッケージを更新する

更新を続行するには、現在のリポジトリ パッケージをアンインストール(ファイルの削除)する必要あり

rm -Rf /etc/apt/sources.list.d/zabbix.list

最新のリポジトリ構成パッケージをインストール

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest+ubuntu22.04_all.deb
apt-get update

5.Zabbixコンポーネントのアップグレード

apt-get install --only-upgrade zabbix-agent zabbix-apache-conf zabbix-frontend-php zabbix-release zabbix-server-mysql zabbix-sql-scripts

apt-get install zabbix-apache-conf も マニュアルには必要とあったがすでに最新Ver.になっており当環境では不要であった。

6-1.コンポーネント構成パラメータを確認する ハマりポイント1

後述しておりますが、この設定を確認せず設定を抜かしておりました。

MySQLのバイナリログを有効にする

現在の値=OFF(無効)であることを確認した

mysql> SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF   |
+---------------------------------+-------+
1 row in set (0.00 sec)

現在の値=ON(有効)にする

mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON    |
+---------------------------------+-------+
1 row in set (0.00 sec)

アップグレードが正常に完了したら、このオプションを無効にする。

6-2.zabbix_server.confの編集 ハマりポイント2

後述しておりますが、この設定が当環境では必要でした。

vi zabbix_server.conf
### Option: DBPassword
# DBPassword=
DBPassword=Passw@d設定 ← DBPasswordのパラメータを有効にしてパスワード記載

7.Zabbixプロセス開始

service zabbix-server start
service zabbix-agent start

 

8.アップグレード後の確認

Zabbix関連のバージョン

zabbix_server -V
zabbix_server (Zabbix) 7.0.1
Revision 0543fbe4af6 22 July 2024, compilation time: Jul 22 2024 07:14:13

Copyright (C) 2024 Zabbix SIA
License AGPLv3: GNU Affero General Public License version 3 <https://www.gnu.org/licenses/>.
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 3.0.2 15 Mar 2022
Running with OpenSSL 3.0.2 15 Mar 2022


dpkg -l | grep zabbix
ii  zabbix-agent                           1:7.0.1-1+ubuntu22.04                   amd64        Zabbix network monitoring solution - agent
ii  zabbix-apache-conf                     1:7.0.1-1+ubuntu22.04                   all          Zabbix network monitoring solution - apache configuration for front-end
ii  zabbix-frontend-php                    1:7.0.1-1+ubuntu22.04                   all          Zabbix network monitoring solution - PHP front-end
ii  zabbix-release                         1:7.0-2+ubuntu22.04                     all          Zabbix official repository configuration
ii  zabbix-server-mysql                    1:7.0.1-1+ubuntu22.04                   amd64        Zabbix network monitoring solution - server (MySQL)
ii  zabbix-sql-scripts                     1:7.0.1-1+ubuntu22.04                   all          Zabbix network monitoring solution - sql-scripts

アップグレード完了後MySQLのバイナリログを無効にする

mysql> SET GLOBAL log_bin_trust_function_creators = 0;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF   |
+---------------------------------+-------+
1 row in set (0.01 sec)

 

作業中ハマったこと

1.databaseバージョンが6000000から7000000にならない

アップグレードマニュアルのコンポーネント構成パラメータを確認するを読み飛ばしておりバイナリログを有効にしていなかった

2.それでもdatabaseバージョンが6000000から7000000にならない

/etc/zabbix/zabbix_server.log ZabbixのDBにアクセスできないとログが延々と続いていた

1010:20240724:173208.582 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: NO)

3.やっと解決

これらを対処したところ600000からのカウントアップが開始され10分程経過しDBのバージョンアップが完了しZabbix7.0.1が使えるようになりました。めでたしめでたし

アップグレード後感想

Zabbix6も十分使いこなせていないのでZabbix7でも新機能を使いこなせるわけでもなく、既存ホストの監視方法などは変えずに運用しています。監視ホストが物理的になくなっていたりしているのでメンテナンスを最初にせねばという状況です。(7へのアップグレード以前の問題ですね)環境構築が好きなので7にアップグレードしました。。。というのが一番の理由です。

すばらしい監視システムを提供いただいているZabbix LLC様 Zabbix JAPAN LLC様に感謝しております。

 

コメント