DUICUO

Zabbix Musings: 6.0 LTS アップグレードガイド パート 1

この記事では主に、Zabbix 5.0 LTS を 6.0 LTS にアップグレードする方法について説明します。

文章

この記事の環境

この記事で説明されている状況はあなたの状況と異なる場合があり、質問も異なる可能性があることに注意してください。

  • CentOS 7.9.2009
  • MariaDB 10.3
  • ザビックス LTS 5.0.20
  • 仮想マシン環境はVMwareです。

ザビックス 5.0.20

アップグレード戦略

システムアップグレード -> データベースアップグレード -> Zabbix Server アップグレード

関連サービスの中止

 systemctl stop zabbix - サーバーzabbix - エージェントrh - nginx116 - nginx rh - php72 - php - fpm mariadb

準備

EPEL リポジトリと yum-utils ツールをインストールします。

 yum - y インストールepel - リリース
yum - y インストールyum - utils rpmconf

重複した/未使用のインストール パッケージを削除する (オプション)

 rpmconf -a
パッケージ- クリーンアップ--
パッケージ- クリーンアップ-- 孤立パッケージ

DNF をインストールします (デフォルトの C8 インストーラー (yum のアップグレード バージョン) を使用)。

 yum -y インストールdnf

CentOS 8へのアップグレード

 dnf -y アップグレード

CentOS 7.6 にインストールする場合、Python のバージョンが一致しないためにエラーが発生する可能性があります。Python のバージョンをアップグレードし、必要な DNF コンポーネントをインストールする必要があります。

 yum アップデート-y python *
yum インストール- y dnf - データdnf - プラグイン- コアlibdnf - devel libdnf python2 - dnf - プラグイン- 移行dnf - 自動

CentOS 8 イメージソースをインストールします(この記事では Alibaba のソースを使用しています)。CentOS 8 はサポートが終了したため、centos-valut yum ソースを使用する必要があります。

 mv /etc/yum.repos.d/CentOS -Base.repo /etc/yum.repos.d/CentOS -Base.repo.bak                   
curl -o / etc / yum.repos.d / CentOS - Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

CentOS 8 はサポートされなくなり、リポジトリが centos-valut に切り替えられたため、この記事では元のリポジトリを別の名前でバックアップする方法について説明します。

EPEL 8 のアップグレードソース

 dnf - y アップグレードepel - リリース

古いカーネルと競合するソフトウェアを削除する

 rpm -e ` rpm -q カーネル`
rpm -e --nodeps sysvinit - ツール

バージョンアップグレード

 dnf - y -- releasever = 8 -- allowerasing -- setopt = deltarpm = false distro - sync

最初に発生した問題は、更新プロセス中に CentOS 8 リポジトリが無効になったことです。

更新を続行するには、次のコマンドを実行します。

 ディレクトリを/etc/yum.repos.d/ ​​​​ に変更します
mkdir を戻す
mv CentOS - Linux -* バックアップ/
mv CentOS - ベース. リポジトリ.rpmsave CentOS - ベース. リポジトリ

Zabbixはオールインワン方式でインストールされているため、下図のような問題が発生します。この場合、CentOS 8用のMariaDBリポジトリを追加する必要があります。Zabbix 6.0 LTSではデータベースバージョン10.6が推奨されているため、バージョン10.6用のyumリポジトリを追加することをお勧めします。

 cat < <EOF> /etc/yum.repos.d/mariadb.repo
# MariaDB 10.6 CentOS リポジトリリスト- 作成日2022-01-16 15:10 UTC
# https://mariadb.org/download/
[ マリアdb ]
名前= MariaDB
Baseurl = https://mirrors.cloud.tencent.com/mariadb/yum/10.6/centos8-amd64
モジュール_ホットフィックス= 1
gpgkey = https://mirrors.cloud.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
終了

更新コマンドの実行を続行します

この時点で、下図のようなエラーが発生します。主な原因は、バージョン7とバージョン8でソフトウェア名が変更されたことです。例えば、CentOS 7のpython3-rpmconfは、バージョン8ではpython36-rpmconfになります。

これらのソフトウェアプログラムは依存関係があるため、アンインストールするとRPMが誤動作する可能性があります。そのため、直接アンインストールすることはできません。代わりに、パッケージ情報を削除し、ソフトウェア自体はアンインストールしないでください(ただし、エラーメッセージに応じて調整する必要があります。バージョンが適切でない可能性があります)。

 rpm - e -- justdb python36 - rpmconf - 1.0 .22 - 1. el7 . noarch rpmconf - 1.0 .22 - 1. el7 . noarch
rpm -e -- justdb yum - 3.4 .3 - 168.el7 セントスnoarch yum - utils - 1.1 .31 - 54. el7_8noarch python2 - dnf - plugin - 移行- 4.0 .2 .2 - 3. el7_6noarch yum - プラグイン- 最速ミラー- 1.1 .31 - 54. el7_8ノアーク

上記の手順を完了したら、アップグレード コマンドを続行します。

アップグレード完了

アップグレードが完了したらバージョンを確認してください。

サーバーを再起動します

 リブート

カーネルを表示

CentOS 8の最小コンポーネントをインストールする

 dnf groupupdate "コア" "最小限のインストール" - y

Zabbixセクション

この記事では、清華大学のミラーを使用して Zabbix リポジトリをアップグレードします。

 cat < <EOF> /etc/yum.repos.d/zabbix.repo
[ ザビックス]
name = Zabbix 公式リポジトリ- \$basearch
Baseurl = https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/8/\$basearch/
有効= 1
gpgcheck = 1
gpgkey = ファイル: ///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[ zabbix - サポート]
name = Zabbix 公式リポジトリサポート\ $ basearch
Baseurl = https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/8/\$basearch/
有効= 1
gpgkey = ファイル: ///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck = 1
終了

GPGキーをインポート

 curl https : //mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591\
- o / etc / pki / rpm - gpg / RPM - GPG - キー- ZABBIX - A14FE591
curl https : //mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX\
- o / etc / pki / rpm - gpg / RPM - GPG - キー- ZABBIX
curl https : //mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591\
- o / etc / pki / rpm - gpg / RPM - GPG - キー- ZABBIX - A14FE591
curl https : //mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX\
- o / etc / pki / rpm - gpg / RPM - GPG - キー- ZABBIX

アップグレード関連コンポーネント

 dnf - y インストールzabbix - サーバー- mysql zabbix - web - mysql zabbix - nginx - conf zabbix - sql - スクリプトzabbix - selinux - ポリシーzabbix - エージェント

関連コンポーネントを起動する

 systemctl start zabbix - サーバーzabbix - エージェントnginx php - fpm

データベースのアップグレード

 mysql_upgrade - uroot - pxiaoyu123
systemctl でmariadb を再起動します

エラー解決

現時点でデータベースに接続できない場合は、firewalld サービスと SELinux が有効になっているかどうかを確認してください (オプション)。

 systemctl 停止firewalld
systemctl でfirewalld を無効にする
強制0を設定する

次のような問題が発生した場合、Zabbix データベースに次のコマンドを入力することで解決できます。

 mysql -uroot -p
ザビックスを使用する
グローバルinnodb_strict_modeOFF 設定します
出口

データベースのアップグレードに失敗しました

アップグレード成功

Zabbix Serverの設定を変更する

 vim / etc / zabbix / zabbix_server.conf
DBパスワード= xiaoyu123

Nginxの設定を変更する

図 1 に示すように、ngnix.conf のサーバー ブロックでポート 80 をコメント アウトする必要があります。次に、図 2 に示すように、conf.d 内の zabbix.conf でポート 80 のコメントを解除します。

 vim /etc/nginx/nginx.conf
vim /etc/nginx/conf.d/zabbix.conf

コメントを追加する

コメントを解除

フロントエンド効果

結論

CentOS 8はサポート終了(EOL)となったため、他のディストリビューションのご利用をお勧めします。多くのディストリビューションではすでに変換ツールが提供されています。また、UbuntuやDebianなどのディストリビューションを使用して、Zabbixの新しいバージョンをインストールすることもできます。