2018/10/1 Zabbix 4.0 がリリースされた。 Zabbix4.0 は、長期サポート(LTS)版となるため、サポート期間が5年となっている。
前バージョン3.4のリリースから約1年ぶりの新バージョンのリリースとなるため、早速現在遊びで使っているZabbix3.4からのアップデートを行った。
Zabbix3.4->4.0へのアップデート
基本的には下記オフィシャルドキュメントに記載の手順通りに実施した。 Ubuntu/DebianのZabbix4.0のパッケージのアップグレードに関しては3.4からしかサポートされてないようなことが書かれているような気がするが、よくわからないし今やろうとしているのはZabbix3.4から4.0へのアップグレードなので気にしないことにする。
以下のURLから環境にあったパッケージを取得する。
ここではUbuntu16.04 LTS環境なのでそのZabbix4.0用リポジトリパッケージを取得する。
$ wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+xenial_all.deb
該当パッケージをインストールする。
$ sudo dpkg -i zabbix-release_4.0-2+xenial_all.deb
現行Zabbix Serverを停止する。
$ sudo systemctl stop zabbix-server
現行Zabbix Serverのファイルをバックアップする。 まずはバックアップファイル保存用のディレクトリを作成する。
$ sudo mkdir /opt/zabbix-backup/
現行Zabbix Serverのコンフィグファイルをバックアップする。
$ sudo cp -pr /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
現行Zabbixフロントエンド用Apacheコンフィグファイルをバックアップする。
$ sudo cp -pr /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
現行Zabbixフロントエンド用PHPソースをバックアップする。
$ sudo cp -prR /usr/share/zabbix/ /opt/zabbix-backup/
現行ZabbixのChangeLog等のファイルもバックアップする。
$ sudo cp -prR /usr/share/doc/zabbix-* /opt/zabbix-backup/
オフィシャル手順には書かれていないがMySQLをバックアップする。
--single-transaction
とかmater-data
とかのオプションは環境に合わせてお好みで。
$ mysqldump -u zabbix -p -h localhost zabbix > zabbix.dump
Zabbix Server(MySQL用)、Zabbixフロントエンド、Zabbixエージェントのパッケージをインストール(アップグレード)する。
$ sudo apt install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent
Zabbix Serverを起動する。
$ sudo systemctl start zabbix-server
...と思ったら起動できなかった。
Zabbix Server起動時にMySQLのDB定義等をアップグレードしてくれているが、MySQLが止まってしまったようでそれが失敗していた。 しょぼいスペックで動かしていたからかな...
10449:20181007:175245.487 Starting Zabbix Server. Zabbix 4.0.0 (revision 85308). 10449:20181007:175245.487 ****** Enabled features ****** 10449:20181007:175245.487 SNMP monitoring: YES 10449:20181007:175245.487 IPMI monitoring: YES 10449:20181007:175245.487 Web monitoring: YES 10449:20181007:175245.487 VMware monitoring: YES 10449:20181007:175245.487 SMTP authentication: YES 10449:20181007:175245.487 Jabber notifications: YES 10449:20181007:175245.487 Ez Texting notifications: YES 10449:20181007:175245.487 ODBC: YES 10449:20181007:175245.488 SSH2 support: YES 10449:20181007:175245.488 IPv6 support: YES 10449:20181007:175245.488 TLS support: YES 10449:20181007:175245.488 ****************************** 10449:20181007:175245.488 using configuration file: /etc/zabbix/zabbix_server.conf 10449:20181007:175245.522 current database version (mandatory/optional): 03040000/03040000 10449:20181007:175245.523 required mandatory version: 04000000 10449:20181007:175245.523 starting automatic database upgrade 10449:20181007:175245.680 completed 0% of database upgrade 10449:20181007:175245.826 completed 1% of database upgrade 10449:20181007:175245.902 completed 2% of database upgrade 10449:20181007:175246.115 completed 3% of database upgrade 10449:20181007:175246.136 completed 4% of database upgrade 10449:20181007:175246.291 completed 5% of database upgrade 10449:20181007:175503.224 [Z3005] query failed: [1317] Query execution was interrupted [alter table `events` add `name` varchar(2048) default '' not null] 10449:20181007:175503.225 slow query: 136.934211 sec, "alter table `events` add `name` varchar(2048) default '' not null"
ということでMySQLを起動する。
$ sudo systemctl start mysql
再度Zabbix Serverを起動する。
$ sudo systemctl restart zabbix-server
起動できた。
画面は、新しいテーマのハイコントラスト(ダーク)というテーマの画面。
まとめ
Zabbix3.4->Zabbix4.0へのアップグレードを行った。 パッケージを使っていればアップグレードもラクチンだった。