仕事で使っているZabbix(あとphpも)を、いい加減アップグレードせんといかん、ということでZabbixのアップグレード方法をググって、検証してみた結果、以下の手順で成功したのでメモ。
現環境
- CenOS7
- apache2.4
- php5.6(remi)
- Zabbix3.0
※事前に下記に記載されているファイル、ディレクトリのバックアップを取っておきます。
https://www.zabbix.com/documentation/current/en/manual/installation/upgrade/packages/rhel_centos
1. Zabbix(サーバー側)のアップグレード
1-1. Zabbixサーバー(とエージェント)の停止
systemctl stop zabbix-server
systemctl stop zabbix-agent
1-2. php5.6をアンインストール
yum remove php-* \
oniguruma5php \
gd3php
1-3. remiのリポジトリを7.4に変更
yum-config-manager --disable remi-php56
yum-config-manager --enable remi-php74
1-4. Zabbixのリポジトリを5.0にアップデート
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum-config-manager --enable zabbix-frontend
yum clean all
1-5. php7.4をインストール
yum install \
php-common \
php-xml \
php-process \
php-pecl-jsonc \
php-pdo \
php-snmp \
php-bcmath \
php-devel \
php-gd \
php-opcache \
php-cli \
php-mbstring \
php-pecl-zip \
php \
php-mysqlnd \
php-mcrypt \
php-fedora-autoloader \
php-pear \
php-ldap \
php-imap
1-6. apacheのconfigを変更
vi /etc/httpd/conf.d/zabbix.conf
-<IfModule mod_php5.c>
+<IfModule mod_php7.c>
1-7. Zabbix5.0へアップグレード
yum upgrade zabbix-server-mysql zabbix-agent
yum install zabbix-web zabbix-web-japanese
1-8. DBをダンプしてCHARSET(COLLATEを追加)を修正
mysqldump -u zabbix -p zabbix > zabbix_db.sql
sed "s/CHARSET=utf8/CHARSET=utf8 COLLATE=utf8_bin/" zabbix_db.sql > zabbix_db_conv.sql
1-9. DBを再作成してインポート(DROP>CREATEはお好みで)
mysql -u root -p
> drop database zabbix;
> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by '**********';
mysql -u zabbix -p zabbix < zabbix_db_conv.sql
1-10. カラムの型を変更
wget https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/database/mysql/double.sql
mysql -u zabbix -p zabbix < double.sql
1-11. zabbix_server.confを5.0用に変更
cp /etc/zabbix/zabbix_server.conf.rpmnew /etc/zabbix/zabbix_server.conf
vi /etc/zabbix/zabbix_server.conf
-----
DBPassword=**********
-----
1-12. Zabbixサーバー(とエージェント)の起動
systemctl start zabbix-server
systemctl start zabbix-agent
2. Zabbix(クライアント側)のアップグレード
2-1. Zabbixエージェントの停止
systemctl stop zabbix-agent
2-2. Zabbixのリポジトリを5.0にアップデート
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum upgrade zabbix-agent
2-3. zabbix_agentd.confの設定
cp /etc/zabbix/zabbix_agentd.conf.rpmnew /etc/zabbix/zabbix_agentd.conf
vi /etc/zabbix/zabbix_agentd.conf
-----
Server=ZabbixサーバーのIP(ホスト名)
ServerActive=ZabbixサーバーのIP(ホスト名)
Hostname=クライアントのホスト名
HostnameItem=system.hostname
HostMetadata=Linux ********
AllowRoot=1
-----
2-4. エージェントのログを削除(若しくはオーナーをzabbixに変更)
rm -f /var/log/zabbix/zabbix_agentd.log
2-5. Zabbixエージェントの起動
systemctl start zabbix-agent