将CentOS7上的Zabbix5升级到Rocky Linux8上的Zabbix6
为了适应Zabbix6的发布,我将已经在CentOS7上构建好的Zabbix5版本升级到Rocky Linux8上支持周期更长的Zabbix6。
环境
-
- 旧:CentOS7, Apache, PHP7.2, MariaDB, Zabbix5
-
- 新:Rocky Linux8, Apache, PHP7.4, MariaDB10.5, Zabbix6
- OS自体のバージョンアップを行うため、別途新サーバを用意する
作业的步骤
1.建立新服务器(Zabbix5.0)
2.从旧服务器导出数据库并传输到新服务器
3.在新服务器上导入数据库转储文件
4.升级到Zabbix6.0版本
5.将旧服务器的IP地址或FQDN迁移到新服务器
1. 建立新的服务器(Rocky Linux 8服务器)
从Rocky Linux 8的Minimal版本中安装Rocky Linux 8。
※安装完成后,请确保检查系统时间。(因时间错误导致dnf失败的情况已经发生过)
同时,也要确认启动Chrony(NTP)。
Cronyd 起動確認
# systemctl status chronyd
パッケージを最新に更新
# dnf -y update`
rsyslogのインストール
Minimalインストールでrsyslogがインストールされなかった為
※/var/log/message ファイルが見当たらなかったため判明
詳細
# dnf -y install rsyslog
# systemctl start rsyslog
# systemctl enable rsyslog
Apacheインストールと設定変更
詳細
インストール
# dnf -y groupinstall web-server
設定ファイル変更(要点のみ)
# vi /etc/httpd/conf/http.conf
ServerName www.itsumomiteru.com:80
ServerTokens ProductOnly
ServerSignature off
Header append X-FRAME-OPTIONS “SAMEORIGIN”
Header set X-XSS-Protection “1; mode=block”
Header set X-Content-Type-Options nosniff
TraceEnable off
# vi /etc/httpd/conf.d/ssl.conf
SSLCompression off
SSLProtocol -all +TLSv1.2 +TLSv1.3
phpインストールと設定変更
インストール可能なphpモジュール確認
# dnf module list php
Last metadata expiration check: 3:08:40 ago on Wed 27 Apr 2022 11:55:52 AM JST.
Rocky Linux 8 – AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 [e] common [d] [i], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
php7.4以上で最新モジュールインストール
# dnf module -y install php:7.4
php.ini編集
# vi /etc/php.ini
expose_php = Off
Apache起動
# httpd -t
# systemctl start httpd
# systemctl status httpd
# systemctl enable httpd
MadiaDBインストール
詳細
インストール可能なモジュール確認
# dnf module list mariadb
Last metadata expiration check: 3:50:41 ago on Wed 27 Apr 2022 11:55:52 AM JST.
Rocky Linux 8 – AppStream
Name Stream Profiles Summary
mariadb 10.3 [d] client, galera, server [d] MariaDB Module
mariadb 10.5 [e] client, galera, server [d] [i] MariaDB Module
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
MariaDB 10.5以上で最新モジュールインストール
# dnf module -y install mariadb:10.5
関連パッケージインストール
# dnf -y install php-mysqlnd php-gd php-xml php-bcmath php-ldap
Zabbix5.0インストール
詳細
リポジトリインストール
# dnf -y install https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
Zabbixパッケージインストール
# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent2 zabbix-get
PHP-fpm環境設定
# vi /etc/php-fpm.d/zabbix.conf
pm = static
php_value[date.timezone] = Asia/Tokyo
PHP-fpm起動
# systemctl start php-fpm
# systemctl enable php-fpm
Zabbixサーバ&エージェント設定
※旧サーバの設定を引き継ぐ
MariaDB Zabbix環境設定
詳細
MariaDB起動
# systemctl start mariadb
# systemctl enable mariadb
初期設定(抜粋)
# mysql_secure_installation
~
Enter current password for root (enter for none): <- 空エンター
~
Switch to unix_socket authentication [Y/n] <- [Y]
~
Change the root password? [Y/n] <- [Y]
New password: <- MariaDBのrootパスワード入力
Re-enter new password: <- パスワード再入力
~
Remove anonymous users? [Y/n] <- [Y]
~
Disallow root login remotely? [Y/n] <- [Y]
~
Remove test database and access to it? [Y/n] <- [Y]
~
Reload privilege tables now? [Y/n] <- [Y]
Zabbix用ユーザ作成(抜粋)
# mysql -u root -p
Enter password: <- 上記で設定したMariaDBのパスワード MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
<- 文字コードは、旧システムに合わせる MariaDB [(none)]> CREATE USER zabbix@localhost IDENTIFIED BY ‘zabbixユーザパスワード’;
MariaDB [(none)]> GRANT ALL ON zabbix.* TO zabbix@localhost;
mysql> quit;
SELinuxの無効化とファイヤーウォール設定
詳細
SELinuxの無効化
# setenforce 0
# vi /etc/sysconfig/selinux
SELINUX=disabled
Firewalld稼働確認
# systemctl status firewalld
# dnf -y install firewalld
# systemctl start firewalld
# systemctl enable firewalld
Firewalld ポート開放
# firewall-cmd –add-service={http,https} –permanent
# firewall-cmd –add-port={10051/tcp,10050/tcp} –permanent
# firewall-cmd –reload
- サーバ再起動
2. 从旧服务器上导出数据库并传输到新服务器。
旧サーバでZabbixを停止
# systemctl stop zabbix-agent2 zabbix-server
DBエクスポート
# mysqldump -u root -p zabbix > /tmp/zabbix.sql
# cd /tmp
# gzip zabbix.sql
新サーバに転送
# scp /tmp/zabbix.sql.gz [新サーバユーザid]@[新サーバIP]:/tmp/
3. 在新服务器上导入数据库dump文件。
転送済みdumpファイル解凍
# gunzip /tmp/zabbix.sql.gz
解凍したdumpファイルをインポート
# mysql -u root -p zabbix < /tmp/zabbix.sql
新サーバでZabbix起動確認
ブラウザで新サーバに接続し、初回設定画面が出るので設定を実行
http://[FQDN or IPアドレス]/zabbix/zabbix.php
4. 升级至Zabbix 6.0 版本
将旧服务器的IP地址或FQDN迁移到新服务器上。
-
- IPアドレスの移行は、念のため旧サーバのIPアドレス変更とNICインターフェースを停止しておく
- FQDNを移行する場合は、DNSサーバの該当AレコードのIPアドレスを変更する
我查阅了一个网站作为参考。
-
- 技術メモメモ:Zabbix 5.0を6.0にバージョンアップする手順 (MariaDB利用)
- CentOS 8 : Zabbix 5.0 : インストール : Server World