1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS7のZabbix5をRocky Linux8のZabbix6へバージョンアップ

Posted at

CentOS7で構築済みのZabbix5を、Zabbix6がリリースされたのを機に、サポート期間の長いRocky Linux8のZabbix6へバージョンアップしてみた。


環境

  • 旧:CentOS7, Apache, PHP7.2, MariaDB, Zabbix5
  • 新:Rocky Linux8, Apache, PHP7.4, MariaDB10.5, Zabbix6
    OS自体のバージョンアップを行うため、別途新サーバを用意する

作業の流れ

1.新サーバの構築(Zabbix5.0)
2.旧サーバからDBエクスポートと新サーバに転送
3.新サーバでDB dumpファイルインポート
4.Zabbix6.0へバージョンアップ
5.旧サーバのIPアドレスまたは、FQDNを新サーバに移行

1. 新サーバ(Rocky Linux 8サーバ)の構築

Rocky Linux 8よりMinimalでRocky Linux8をインストール
※インストール後、システム時間を確認すること。(時間が狂っていて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.旧サーバからDBエクスポートと新サーバに転送

  • 旧サーバで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.新サーバでDB 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.Zabbix6.0へバージョンアップ

  • ZabbixとApache停止

    # systemctl stop zabbix-server zabbix-agent2 httpd php-fpm
    
  • Maria DB停止

    # systemctl stop mariadb
    
  • Zabbix6 リポジトリ更新

    # rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
    
  • Zabbix6 インストール
    ※dnf installで問題なくバージョンアップされるので、Zabbix5.0をアンインストールする必要はない

    # dnf crean all
    # dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent2 zabbix-web-japanese
    
  • Zabbix-getバージョンアップ

    # dnf install -y zabbix-get
    
  • パッケージ確認

    # rpm -qa | grep zabbix | sort
    zabbix-agent2-6.0.3-1.el8.x86_64
    zabbix-apache-conf-6.0.3-1.el8.noarch
    zabbix-get-6.0.3-1.el8.x86_64
    zabbix-release-6.0-1.el8.noarch
    zabbix-server-mysql-6.0.3-1.el8.x86_64
    zabbix-web-6.0.3-1.el8.noarch
    zabbix-web-deps-6.0.3-1.el8.noarch
    zabbix-web-japanese-6.0.3-1.el8.noarch
    zabbix-web-mysql-6.0.3-1.el8.noarch
    #
    
  • Maria DB起動

    # systemctl start mariadb
    
  • Zabbix起動

    # systemctl start zabbix-server zabbix-agent2 httpd php-fpm
    
  • Zabbix動作確認
    ブラウザで新サーバに接続し、初回設定画面が出るので設定を実行
    http://[FQDN or IPアドレス]/zabbix/zabbix.php
    image.png
    ダッシュボードの最下部でバージョン情報が確認できる

5.旧サーバのIPアドレスまたは、FQDNを新サーバに移行

  • IPアドレスの移行は、念のため旧サーバのIPアドレス変更とNICインターフェースを停止しておく
  • FQDNを移行する場合は、DNSサーバの該当AレコードのIPアドレスを変更する

参考にさせてもらったサイト

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?