各種ホストの死活監視・環境監視にZabbixを使っております。7のLTS版がリリースされましたのでアップグレードした作業メモとなります。アップグレード手順をよく理解してから作業するのが良いです。私は手順を勝手に読み飛ばしてしまいものすごく遠回りしてしまいました。
環境確認
OS Ubuntu
22.04.4のLTSとなります
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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インストールに付属しておりました
1 2 3 4 5 |
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インストールに付属しておりました
1 2 |
# mysql --version mysql Ver 8.0.37-0ubuntu0.22.04.3 for Linux on x86_64 ((Ubuntu)) |
アップグレード前Zabbix-Server
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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関連のインストール確認
1 2 3 4 5 6 7 |
# 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プロセス停止
1 2 |
service zabbix-server stop service zabbix-agent stop |
2.既存のZabbixデータベースをバックアップする
1 2 |
mysqldump -u root -p -B zabbix > zabbix60.sql Enter password: |
3.設定ファイル、PHPファイル、Zabbixバイナリをバックアップ
設定ファイル
1 2 3 |
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バイナリ
1 2 |
cp -R /usr/share/zabbix/ /opt/zabbix-backup/ cp -R /usr/share/zabbix-* /opt/zabbix-backup/ |
4.リポジトリ構成パッケージを更新する
更新を続行するには、現在のリポジトリ パッケージをアンインストール(ファイルの削除)する必要あり
1 |
rm -Rf /etc/apt/sources.list.d/zabbix.list |
最新のリポジトリ構成パッケージをインストール
1 2 3 |
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コンポーネントのアップグレード
1 |
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(無効)であることを確認した
1 2 3 4 5 6 7 |
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(有効)にする
1 2 3 4 5 6 7 8 |
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
後述しておりますが、この設定が当環境では必要でした。
1 2 3 4 |
vi zabbix_server.conf ### Option: DBPassword # DBPassword= DBPassword=Passw@d設定 ← DBPasswordのパラメータを有効にしてパスワード記載 |
7.Zabbixプロセス開始
1 2 |
service zabbix-server start service zabbix-agent start |
8.アップグレード後の確認
Zabbix関連のバージョン
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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のバイナリログを無効にする
1 2 3 4 5 6 7 8 9 10 |
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にアクセスできないとログが延々と続いていた
1 |
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様に感謝しております。
コメント