このページに書かれていること
CentOS 7標準のRPMパッケージのミドルウェアApache + PHP 5.4で、Zabbix社公式リポジトリからインストールしたZabbix Server 4.0系 + Webフロントエンドを構築している環境にて、Zabbix Server 5.0系にアップデートする手順について簡単にまとめました。
(CentOS 7へZabbix 5.0系の新規インストール手順は見つかったのですが、4.0系→5.0系の手順があまり見当たりませんでしたので)
注意点
作業途中でZabbix Serverを停止させます。その間のZabbix Serverに送られてくる監視データは破棄されるという前提を頭に置いてから実施してください。
Zabbixはメジャーアップデートを行うと、DBのスキーマが更新されます。そのため5.0へのアップデートした後に不具合があり、4.0に戻そうとしたときにパッケージだけを戻しても正常に機能しないことが起こり得ます。
そのため、DBのバックアップ・リストアを含め十分に試験を行ってから本番環境で実施することをお勧めします。
Zabbix Proxyも併用している環境の場合、Zabbix ServerとProxyはメジャーバージョンを揃えないといけません。
本ページでは記載しておりませんがZabbix Proxyのアップデートについても一連の作業手順として予定してください。
このページの情報を鵜呑みにせず、公式ドキュメントを参考の上、ご自身が作業内容を理解した上で実施してください。
Zabbix社アップデート手順公式ドキュメント
作業前の環境
- CentOS 7.0系
- Apache 2.4系 (CentOS 7系標準RPMパッケージ)
- PHP 5.4系 (CentOS 7系標準RPMパッケージでmod_phpとして稼働)
- MariaDB 5.5系 (CentOS 7系標準RPMパッケージ)
- Zabbix Server 4.0系 + Webフロントエンド (Zabbix社公式リポジトリよりyumでインストール)
作業後の環境
Zabbix (/usr/share/zabbix/以下) のPHPは、sclリポジトリ管理のphp-fpmのPHP 7.2で稼働することになります。
そのためApacheが稼働していても、php-fpmが稼働していないとZabbixのWebフロントエンドが表示されません(mod_phpの環境になれている方は注意が必要です)。
他のディレクトリについては作業前の環境(mod_phpのPHP 5.4)のままになります。
移行手順
バックアップ
/usr/share/以下のバックアップについては、当該ディレクトリ以下のファイルを手で書き換えていない限りは必要ない気もしますが、Zabbix社のドキュメントにありますので念のため実施します。
# mkdir /opt/zabbix-backup/
# systemctl stop zabbix-server
# cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
# cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/
# cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
# mysqldump -u ${USERNAME} -p -h ${HOSTNAME} ${DBNAME} > /opt/zabbix-backup/zabbix-db-backup.sql
アップデート
# yum update https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum install centos-release-scl epel-release
# yum-config-manager --enable zabbix-frontend epel
# yum clean all
# yum upgrade zabbix-server-mysql
# systemctl start zabbix-server
# yum remove zabbix-web-*
# yum install zabbix-web-mysql-scl zabbix-web-japanese zabbix-apache-conf-scl
# systemctl start rh-php72-php-fpm
# systemctl enable rh-php72-php-fpm
# systemctl restart httpd
# yum -y upgrade zabbix\*
# vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
以下を追加
php_value[date.timezone] = Asia/Tokyo
備考
初めてのQiitaへの投稿になります。お見苦しい点等ございましたら、コメントにてご指摘いただければ幸いです。
また私の手元の環境ではうまくいっておりますが、うまくいかない点などございましたら、こちらもコメントにてお教えいただければ幸いです。
(私が分かる範囲であればコメント、記事の修正等させていただきます)