将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 版本

image.png

将旧服务器的IP地址或FQDN迁移到新服务器上。

    • IPアドレスの移行は、念のため旧サーバのIPアドレス変更とNICインターフェースを停止しておく

 

    FQDNを移行する場合は、DNSサーバの該当AレコードのIPアドレスを変更する

我查阅了一个网站作为参考。

    • 技術メモメモ:Zabbix 5.0を6.0にバージョンアップする手順 (MariaDB利用)

 

    CentOS 8 : Zabbix 5.0 : インストール : Server World
广告
将在 10 秒后关闭
bannerAds