こんにちは、SCSK株式会社の小寺崇仁です。
先日、安藤さんからバージョンアップ方法の紹介がありました。
補足情報として、バージョンアップの注意点をご紹介したいと思います。
関連モジュールの依存関係について
OSについて
ZabbixOSは公式HPのダウンロードメニューより対応しているか確認します。
Zabbix7.0で対応していますが、OSのサポート終了(EOL)にご注意ください
■Zabbix Download
https://www.zabbix.com/download
OS | バージョン | EOL(AI調べ) |
Red Hat Enterprise Linux | 9 | 2032年5月(メンテナンスサポート終了) |
8 | 2029年5月(メンテナンスサポート終了) | |
7 | 2024年6月(メンテナンスサポート終了) | |
6 | 2017年5月(メンテナンスサポート終了) | |
Alma Linux | 9 | 2032年5月 |
8 | 2029年5月 | |
Rocky Linux | 9 | 2032年5月 |
8 | 2029年5月 | |
Ubuntu | 24.04 (Noble) | 情報未定 |
22.04 (Jammy) | 2027年4月(標準サポート終了)、2032年4月(ESM終了) | |
20.04 (Focal) | 2025年4月(標準サポート終了)、2030年4月(ESM終了) | |
18.04 (Bionic) | 2023年4月(標準サポート終了)、2028年4月(ESM終了) | |
16.04 (Xenial) | 2021年4月(標準サポート終了)、2026年4月(ESM終了) |
ミドルウェアについて
Zabbix7.0のミドルウェア要件として公式マニュアルに以下の記載があります
■Zabbix7.0 Requirements
https://www.zabbix.com/documentation/current/en/manual/installation/requirements
Apache | 2.4 or later |
Nginx | 1.20 or later |
PHP | 8.0.0 – 8.3.X |
MySQL | 8.0.30-8.4.X |
MariaDB | 10.5.00-11.4.X |
PostgreSQL | 13.0-16.X |
OSのリポジトリに対応のミドルウェアがあるか?
各MWの導入にdnf,aptコマンドを使用してインストールすると思います。
OSの種類ごとに2024年7月7日時点の最新のバージョンをまとめました。
Zabbix7.0 (要件) |
RHEL 9.4 |
RHEL 8.10 |
Ubuntu 24.04 |
Ubuntu 22.04 |
Ubuntu 20.04 |
|
Apache | 2.4 or later | httpd-2.4.57 | 2.4.37-65 | 2.4.58 | 2.4.52 | 2.4.41 |
Nginx | 1.20 or later | 1.20 | 1.14 | 1.24.0 | 1.18.0 | 1.17.10 |
PHP | 8.0.0 – 8.3.X | 8.0.30 | 7.2.24 | 8.3 | 8.1 | 7.4 |
MySQL | 8.0.30-8.4.X | 8.0.36 | 8.0.36 | 8.0.36 | 8.0.28 | 8.0.19 |
MariaDB | 10.5.00-11.4.X | 10.5.22 | 10.3.39 | 10.11.7 | 10.6.7 | 10.3.22 |
PostgreSQL | 13.0-16.X | 13.14 | 10.23 | 16+257 | 14+238 | 12+214 |
まとめ
RHEL系もUbuntu(Debian)系もOSも合わせてアップグレードが必要になりそうです
バージョンアップの時間について
Zabbixのバージョンアップはdnfやaptコマンドを使用して、プログラム(パッケージ)の更新を行います。
Zabbix-serverのサービスを起動する際に、データベースの更新処理が行われます。
データ量の多い、ヒストリー、イベントテーブルに更新があると、更新に時間がかかり、監視の停止時間が長くなります。
バージョン5からバージョンアップした際に、テーブル構造の変更があるか調査しました。
history系テーブルのIndexからPRIMARY KEY への変更
Zabbix5.0
CREATE TABLE `history` (
`itemid` bigint(20) unsigned NOT NULL,
`clock` int(11) NOT NULL DEFAULT 0,
`value` double NOT NULL DEFAULT 0,
`ns` int(11) NOT NULL DEFAULT 0,
KEY `history_1` (`itemid`,`clock`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Zabbix7.0
CREATE TABLE `history` (
`itemid` bigint(20) unsigned NOT NULL,
`clock` int(11) NOT NULL DEFAULT 0,
`value` double NOT NULL DEFAULT 0,
`ns` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`itemid`,`clock`,`ns`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
まとめ
history、history_uint、history_str、history_log、history_textでプライマリキーに変更されていました。
ヒストリデータを破棄してから更新するのもアリかもしれないです。
データ容量やディスクの速度など、環境によってバージョンアップの時間が変わるので、事前検証が必要です。
ZabbixProxyを利用している場合について
ZabbixProxyを使用している場合、Zabbix7.0では下位互換があります。バージョンアップの際に活用できるか、別途検証してブログ記事にしたいと思います。
仕様の変更について
Zabbixの5.0からバージョンアップをすると機能が大きく変わっています。
大きな変更点をご紹介します。
ダッシュボードの変更 | メニューが左側になりました。 バージョンが上がる度に改良されていきます。 |
トリガー条件式 | 条件式の記述方法が大きく変わっています。 バージョンアップの際に自動で更新されます。 |
監視プロセスの最適化 | Pollerプロセスが分割されます。 別途チューニングが必要となります。 |
ユーザ役割 | ユーザの役割にて、権限が詳細設定可能になります。 監視対象のサーバ管理者にユーザを払い出している場合、注意が必要です。 |
監査ログ | バージョンアップ時に既存の監査ログのレコードは削除されます。 |
サポートされるDBバージョンの確認 | 起動前にデータベースのバージョンを確認し、サポート範囲外のバージョンの場合は起動しないようになりました。 |
参考
https://www.zabbix.com/documentation/6.0/jp/manual/introduction/whatsnew600
https://www.zabbix.com/documentation/current/en/manual/introduction/whatsnew700
最後に
弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。
SCSK Plus サポート for Zabbix
★YouTubeに、SCSK Zabbixチャンネルを開設しました!★
★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★