====== Zabbix 移行手順 ======
===== バージョン3.4から4.0への移行 =====
Oracle Linux 8への移行を考える。
基本的には[[zabbix:install|Zabbix 導入手順]]参考。
==== インストール ====
Oracle Linux 8用のyumは提供されないため、el7リポジトリをインストールする。
dnf install https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
インストール前に、MySQLのモジュールを無効化する。Oracle Linux 8では、パッケージのインストールがモジュール単位となっており、デフォルトだとMySQL8がインストールされてしまう。
dnf module disable mysql
dnf module list mysql
現在の有効化設定を確認するには、''/etc/yum.repos.d/mysql-community.repo''を参照する。
このままインストールしようとするとGPGキーのエラーが出るため、GPG鍵チェックを回避する。
dnf install -y --nogpgcheck mysql-community-server
元のデータベースのダンプ
musqldump -u user -p zabbix --single-transaction --add-drop-table > dump.sql
新サーバー側でインポートする前に、dump.sqlファイルの中のCHARSET=utf8の部分を** CHARSET=utf8 COLLATE=utf8_bin **
に変更しておく。
vim dump.sql
:%s/CHARSET=utf8/CHARSET=utf8 COLLATE=utf8_bin/g
:wq
データベースとユーザーを作成
mysql -u root -p
rootの初期パスワードは''/var/log/mysqld.log''を参照する。
mysql> create database zabbix default character set utf8;
mysql> create user zabbix@localhost idenfitied by 'input_password';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> quit;
データベースのcharacter set を確認する。
SELECT @@character_set_database, @@collation_database;
+--------------------------+----------------------+
| @@character_set_database | @@collation_database |
+--------------------------+----------------------+
| utf8 | utf8_general_ci |
+--------------------------+----------------------+
デフォルトでは、照合順序がutf8_general_ciとなっているが、Zabbix 4.0ではutf8_binとしなくてはならないため以下を実行
alter database zabbix character set utf collate utf8_bin;
データベースをインポート
mysql -u root -p zabbix < dump.sql
===== Zabbix 4.0 のインストール =====
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
dnf clean all
dnf install -y httpd php-fpm zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-web-japanese
''/etc/php-fpm.d/zabbix.conf''を編集し、タイムゾーンの部分を変更する。
[zabbix]
user = apache
group = apache
listen = /run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Tokyo