構成
- zabbix : 5.0
- os : CentOS 8
- db : PostgreSQL 12.15
- websv : nginx
手順
半ば自分用のメモです。
DBのバックアップは記載していないので適宜実施してください。
わりと各所にガバがあります。
Zabbixの停止
sudo systemctl stop zabbix-server zabbix-agent nginx php-fpm
PostgreSQL12の停止
sudo systemctl stop postgresql-12
PostgreSQL14のインストール
Zabbix6.0はpostgresql-12をサポートしていないので13以上に更新する必要があります。
14でインストールしようとしていますが最終的に13をインストールします。
下記サイト参照
PostgreSQL14を5手順でインストールする方法
リポジトリ追加
[admin@hostname ~]$ wget http://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
--2023-05-17 23:31:13-- http://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
download.postgresql.org (download.postgresql.org) をDNSに問いあわせています... 72.32.157.246, 217.196.149.55, 147.75.85.69, ...
download.postgresql.org (download.postgresql.org)|72.32.157.246|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 8780 (8.6K) [application/x-redhat-package-manager]
`pgdg-redhat-repo-latest.noarch.rpm' に保存中
pgdg-redhat-repo-latest.noarch.rpm 100%[=====================================================================================>] 8.57K --.-KB/s 時間 0s
2023-05-17 23:31:13 (79.9 MB/s) - `pgdg-redhat-repo-latest.noarch.rpm' へ保存完了 [8780/8780]
[admin@hostname ~]$ sudo rpm -Uvh --nodeps pgdg-redhat-repo-latest.noarch.rpm
[sudo] admin のパスワード:
Verifying... ################################# [100%]
準備しています... ################################# [100%]
パッケージ pgdg-redhat-repo-42.0-32.noarch は既にインストールされています。
ファイル /etc/yum.repos.d/pgdg-redhat-all.repo (パッケージ pgdg-redhat-repo-42.0-32.noarch から) は、パッケージ pgdg-redhat-repo-42.0-32.noarch からのファイルと競合しています。
[admin@hostname ~]$ ls /etc/yum.repos.d/pgdg-redhat-all.repo
/etc/yum.repos.d/pgdg-redhat-all.repo
リポジトリ情報修正
[admin@hostname ~]$ sudo vi /etc/yum.repos.d/pgdg-redhat-all.repo
↓を追加
[pgdg14]
name=PostgreSQL 14 for RHEL/CentOS $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
repo_gpgcheck = 1
PostgreSQL14のインストール
[admin@hostname ~]$ sudo yum install postgresql14-server
PostgreSQL common RPMs for RHEL/CentOS 8 - x86_64 84 B/s | 195 B 00:02
PostgreSQL common RPMs for RHEL/CentOS 8 - x86_64 130 kB/s | 620 kB 00:04
PostgreSQL 14 for RHEL/CentOS 8 - x86_64 70 B/s | 198 B 00:02
PostgreSQL 14 for RHEL/CentOS 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
GPG 鍵 0x442DF0F8 をインポート中:
Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
これでよろしいですか? [y/N]: y
PostgreSQL 14 for RHEL/CentOS 8 - x86_64 93 kB/s | 411 kB 00:04
PostgreSQL 13 for RHEL/CentOS 8 - x86_64 84 B/s | 195 B 00:02
PostgreSQL 13 for RHEL/CentOS 8 - x86_64 150 kB/s | 863 kB 00:05
PostgreSQL 12 for RHEL/CentOS 8 - x86_64 81 B/s | 195 B 00:02
PostgreSQL 12 for RHEL/CentOS 8 - x86_64 150 kB/s | 995 kB 00:06
メタデータの期限切れの最終確認: 0:00:01 時間前の 2023年05月17日 23時43分33秒 に実施しました。
エラー:
問題: ジョブの最良アップデート候補をインストールできません
- libicui18n.so.50()(64bit) が提供されません postgresql14-server-14.8-1PGDG.rhel7.x86_64 に必要です
- libicuuc.so.50()(64bit) が提供されません postgresql14-server-14.8-1PGDG.rhel7.x86_64 に必要です
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
[admin@hostname ~]$ sudo yum install postgresql13-server
メタデータの期限切れの最終確認: 0:00:30 時間前の 2023年05月17日 23時43分33秒 に実施しました。
依存関係が解決しました。
=========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=========================================================================================================================================================================
インストール:
postgresql13-server x86_64 13.11-2PGDG.rhel8 pgdg13 5.4 M
依存関係のインストール:
postgresql13 x86_64 13.11-2PGDG.rhel8 pgdg13 1.5 M
postgresql13-libs x86_64 13.11-2PGDG.rhel8 pgdg13 418 k
トランザクションの概要
=========================================================================================================================================================================
インストール 3 パッケージ
ダウンロードサイズの合計: 7.3 M
インストール後のサイズ: 31 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/3): postgresql13-libs-13.11-2PGDG.rhel8.x86_64.rpm 180 kB/s | 418 kB 00:02
(2/3): postgresql13-13.11-2PGDG.rhel8.x86_64.rpm 491 kB/s | 1.5 MB 00:03
(3/3): postgresql13-server-13.11-2PGDG.rhel8.x86_64.rpm 564 kB/s | 5.4 MB 00:09
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 756 kB/s | 7.3 MB 00:09
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : postgresql13-libs-13.11-2PGDG.rhel8.x86_64 1/3
scriptletの実行中: postgresql13-libs-13.11-2PGDG.rhel8.x86_64 1/3
インストール中 : postgresql13-13.11-2PGDG.rhel8.x86_64 2/3
scriptletの実行中: postgresql13-13.11-2PGDG.rhel8.x86_64 2/3
scriptletの実行中: postgresql13-server-13.11-2PGDG.rhel8.x86_64 3/3
インストール中 : postgresql13-server-13.11-2PGDG.rhel8.x86_64 3/3
scriptletの実行中: postgresql13-server-13.11-2PGDG.rhel8.x86_64 3/3
検証 : postgresql13-13.11-2PGDG.rhel8.x86_64 1/3
検証 : postgresql13-libs-13.11-2PGDG.rhel8.x86_64 2/3
検証 : postgresql13-server-13.11-2PGDG.rhel8.x86_64 3/3
インストール済み:
postgresql13-13.11-2PGDG.rhel8.x86_64 postgresql13-libs-13.11-2PGDG.rhel8.x86_64 postgresql13-server-13.11-2PGDG.rhel8.x86_64
完了しました!
[admin@hostname ~]$
怒られたので13でいいやとなった(おい
ここからはココを参照。
PostgreSQL13の初期設定
[admin@hostname ~]$ su - postgres -c '/usr/pgsql-13/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
パスワード:
su: 認証失敗
[admin@hostname ~]$ su - postgres -c '/usr/pgsql-13/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
パスワード:
su: 認証失敗
[admin@hostname ~]$ su - postgres -c '/usr/pgsql-13/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
パスワード:
su: 認証失敗
postgresユーザのパスワード忘れた
[admin@hostname ~]$ sudo su - postgres -c '/usr/pgsql-13/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
[sudo] admin のパスワード:
データベースシステム内のファイルの所有者はユーザ"postgres"となります。
このユーザをサーバプロセスの所有者とする必要があります。
データベースクラスタはロケール"C"で初期化されます。
デフォルトのテキスト検索構成は english に設定されます。
データベージのチェックサムは無効です。
新しいスーパユーザのパスワードを入力してください:
再入力してください:
ディレクトリ/var/lib/pgsql/13/dataの権限を設定しています ... ok
サブディレクトリを作成しています ... ok
動的共有メモリの実装を選択しています ... posix
デフォルトのmax_connectionsを選択しています ... 100
デフォルトのshared_buffersを選択しています ... 128MB
デフォルトの時間帯を選択しています ... Asia/Tokyo
設定ファイルを作成しています ... ok
ブートストラップスクリプトを実行しています ... ok
ブートストラップ後の初期化を実行しています ... ok
データをディスクに同期しています ... ok
成功しました。以下のようにしてデータベースサーバを起動することができます:
/usr/pgsql-13/bin/pg_ctl -D /var/lib/pgsql/13/data -l ログファイル start
PostgreSQL13の設定変更
[admin@hostname ~]$ sudo vi /var/lib/pgsql/13/data/pg_hba.conf
[admin@hostname ~]$ su - postgres
パスワード:
最終ログイン: 2023/05/18 (木) 00:00:09 JST日時 pts/0
最後の失敗ログイン: 2023/05/18 (木) 00:12:01 JST日時 pts/0
最後の正しいログインの後に 2 回の失敗ログインの試行があります
[postgres@hostname ~]$ /usr/pgsql-13/bin/pg_upgrade -d /var/lib/pgsql/12/data -D /var/lib/pgsql/13/data -b /usr/pgsql-12/bin -B /usr/pgsql-13/bin
整合性チェックを実行しています。
-----------------------------
Checking cluster versions ok
Checking database user is the install user ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for system-defined composite types in user tables ok
Checking for reg* data types in user tables ok
Checking for contrib/isn with bigint-passing mismatch ok
Creating dump of global objects ok
Creating dump of database schemas
ok
Checking for presence of required libraries ok
Checking database user is the install user ok
Checking for prepared transactions ok
Checking for new cluster tablespace directories ok
この後pg_upgradeが失敗した場合は、続ける前に新しいクラスタを
initdbで再作成する必要があります。
アップグレードを実行しています。
------------------
Analyzing all rows in the new cluster ok
Freezing all rows in the new cluster ok
Deleting files from new pg_xact ok
Copying old pg_xact to new server ok
Setting oldest XID for new cluster ok
Setting next transaction ID and epoch for new cluster ok
Deleting files from new pg_multixact/offsets ok
Copying old pg_multixact/offsets to new server ok
Deleting files from new pg_multixact/members ok
Copying old pg_multixact/members to new server ok
Setting next multixact ID and offset for new cluster ok
Resetting WAL archives ok
Setting frozenxid and minmxid counters in new cluster ok
Restoring global objects in the new cluster ok
Restoring database schemas in the new cluster
ok
ユーザリレーションのファイルをコピーしています
ok
Setting next OID for new cluster ok
Sync data directory to disk ok
Creating script to analyze new cluster ok
Creating script to delete old cluster ok
Checking for extension updates ok
アップグレードが完了しました
----------------
オプティマイザーの統計は、pg_upgrade では転送されません。そのため
新サーバーを起動した後、./analyze_new_cluster.sh を動かすことを検討してください。
このスクリプトを実行すると、旧クラスタのデータファイル ./delete_old_cluster.shが削除されます:
[postgres@hostname ~]$ echo $?
0
[postgres@hostname ~]$
DBアップグレード完了
PostgreSQL13の起動
[postgres@hostname ~]$ exit
ログアウト
[admin@hostname ~]$ sudo systemctl start postgresql-13
[admin@hostname ~]$ su - postgres
パスワード:
最終ログイン: 2023/05/18 (木) 00:13:26 JST日時 pts/0
[postgres@hostname ~]$ ls
12 13 analyze_new_cluster.sh delete_old_cluster.sh
[postgres@hostname ~]$ pwd
/var/lib/pgsql
[postgres@hostname ~]$ ./analyze_new_cluster.sh
This script will generate minimal optimizer statistics rapidly
so your system is usable, and then gather statistics twice more
with increasing accuracy. When it is done, your system will
have the default level of optimizer statistics.
If you have used ALTER TABLE to modify the statistics target for
any tables, you might want to remove them and restore them after
running this script because they will delay fast statistics generation.
If you would like default statistics as quickly as possible, cancel
this script and run:
"/usr/pgsql-13/bin/vacuumdb" --all --analyze-only
vacuumdb: データベース"postgres"の処理中です: 最適化のための情報を最小限生成します(1対象)
vacuumdb: データベース"template1"の処理中です: 最適化のための情報を最小限生成します(1対象)
vacuumdb: データベース"zabbix"の処理中です: 最適化のための情報を最小限生成します(1対象)
vacuumdb: データベース"postgres"の処理中です: 最適化のための情報を複数生成します(10対象)
vacuumdb: データベース"template1"の処理中です: 最適化のための情報を複数生成します(10対象)
vacuumdb: データベース"zabbix"の処理中です: 最適化のための情報を複数生成します(10対象)
vacuumdb: データベース"postgres"の処理中です: 最適化のための情報をデフォルト数(全て)生成します
vacuumdb: データベース"template1"の処理中です: 最適化のための情報をデフォルト数(全て)生成します
vacuumdb: データベース"zabbix"の処理中です: 最適化のための情報をデフォルト数(全て)生成します
Done
[postgres@hostname ~]$ echo $?
0
データの移行確認
[postgres@hostname ~]$ psql
psql (13.11)
"help"でヘルプを表示します。
postgres=# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | postgres=CTc/postgres+
| | | | | =c/postgres
zabbix | zabbix | UTF8 | C | C |
(4 行)
postgres=#
postgres=# \q
[postgres@hostname ~]$ exit
ログアウト
Zabbix6.0のインストール
[admin@hostname ~]$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/$(rpm -E %{rhel})/x86_64/zabbix-release-6.0-4.el$(rpm -E %{rhel}).noarch.rpm
[sudo] admin のパスワード:
https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm を取得中
Verifying... ################################# [100%]
準備しています... ################################# [100%]
更新中 / インストール中...
1:zabbix-release-6.0-4.el8 ################################# [ 50%]
整理中 / 削除中...
2:zabbix-release-5.0-1.el8 ################################# [100%]
[admin@hostname ~]$ dnf clean all
60 ファイルが削除されました
インストールするパッケージ
いらないの入ってそう
- zabbix-server-pgsql
- zabbix-web-pgsql
- zabbix-web-japanese
- zabbix-apache-conf
- zabbix-sql-scripts
- zabbix-selinux-policy
- zabbix-agent
[admin@hostname ~]$ sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-web-japanese zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
Zabbix Official Repository - x86_64 171 kB/s | 239 kB 00:01
Zabbix Official Repository (non-supported) - x86_64 1.1 kB/s | 1.2 kB 00:01
Zabbix Official Repository (Agent2 Plugins) - x86_64 1.6 kB/s | 1.7 kB 00:01
パッケージ zabbix-server-pgsql-5.0.34-1.el8.x86_64 は既にインストールされています。
パッケージ zabbix-web-pgsql-5.0.34-1.el8.noarch は既にインストールされています。
パッケージ zabbix-web-japanese-5.0.34-1.el8.noarch は既にインストールされています。
パッケージ zabbix-agent-5.0.34-1.el8.x86_64 は既にインストールされています。
依存関係が解決しました。
=========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=========================================================================================================================================================================
インストール:
zabbix-apache-conf noarch 6.0.17-release1.el8 zabbix 25 k
zabbix-selinux-policy x86_64 6.0.17-release1.el8 zabbix 297 k
zabbix-sql-scripts noarch 6.0.17-release1.el8 zabbix 7.3 M
アップグレード:
zabbix-agent x86_64 6.0.17-release1.el8 zabbix 556 k
zabbix-nginx-conf noarch 6.0.17-release1.el8 zabbix 26 k
zabbix-server-pgsql x86_64 6.0.17-release1.el8 zabbix 1.7 M
zabbix-web noarch 6.0.17-release1.el8 zabbix 8.2 M
zabbix-web-deps noarch 6.0.17-release1.el8 zabbix 25 k
zabbix-web-japanese noarch 6.0.17-release1.el8 zabbix 25 k
zabbix-web-pgsql noarch 6.0.17-release1.el8 zabbix 24 k
依存関係のインストール:
apr x86_64 1.6.3-12.el8 appstream 129 k
apr-util x86_64 1.6.1-6.el8 appstream 105 k
centos-logos-httpd noarch 85.8-2.el8 baseos 75 k
httpd x86_64 2.4.37-43.module_el8.5.0+1022+b541f3b1 appstream 1.4 M
httpd-tools x86_64 2.4.37-43.module_el8.5.0+1022+b541f3b1 appstream 107 k
mailcap noarch 2.1.48-3.el8 baseos 39 k
mod_http2 x86_64 1.15.7-3.module_el8.4.0+778+c970deab appstream 154 k
弱い依存関係のインストール:
apr-util-bdb x86_64 1.6.1-6.el8 appstream 25 k
apr-util-openssl x86_64 1.6.1-6.el8 appstream 27 k
トランザクションの概要
=========================================================================================================================================================================
インストール 12 パッケージ
アップグレード 7 パッケージ
ダウンロードサイズの合計: 20 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/19): apr-util-bdb-1.6.1-6.el8.x86_64.rpm 156 kB/s | 25 kB 00:00
(2/19): apr-util-1.6.1-6.el8.x86_64.rpm 652 kB/s | 105 kB 00:00
(3/19): apr-1.6.3-12.el8.x86_64.rpm 500 kB/s | 129 kB 00:00
(4/19): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 173 kB/s | 27 kB 00:00
(5/19): mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64.rpm 3.4 MB/s | 154 kB 00:00
(6/19): centos-logos-httpd-85.8-2.el8.noarch.rpm 2.3 MB/s | 75 kB 00:00
(7/19): httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64.rpm 3.7 MB/s | 1.4 MB 00:00
(8/19): mailcap-2.1.48-3.el8.noarch.rpm 173 kB/s | 39 kB 00:00
(9/19): httpd-tools-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64.rpm 255 kB/s | 107 kB 00:00
(10/19): zabbix-apache-conf-6.0.17-release1.el8.noarch.rpm 39 kB/s | 25 kB 00:00
(11/19): zabbix-selinux-policy-6.0.17-release1.el8.x86_64.rpm 305 kB/s | 297 kB 00:00
(12/19): zabbix-nginx-conf-6.0.17-release1.el8.noarch.rpm 211 kB/s | 26 kB 00:00
(13/19): zabbix-agent-6.0.17-release1.el8.x86_64.rpm 931 kB/s | 556 kB 00:00
(14/19): zabbix-server-pgsql-6.0.17-release1.el8.x86_64.rpm 2.8 MB/s | 1.7 MB 00:00
(15/19): zabbix-web-deps-6.0.17-release1.el8.noarch.rpm 208 kB/s | 25 kB 00:00
(16/19): zabbix-web-japanese-6.0.17-release1.el8.noarch.rpm 205 kB/s | 25 kB 00:00
(17/19): zabbix-web-6.0.17-release1.el8.noarch.rpm 8.4 MB/s | 8.2 MB 00:00
(18/19): zabbix-web-pgsql-6.0.17-release1.el8.noarch.rpm 133 kB/s | 24 kB 00:00
(19/19): zabbix-sql-scripts-6.0.17-release1.el8.noarch.rpm 3.4 MB/s | 7.3 MB 00:02
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 5.4 MB/s | 20 MB 00:03
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
scriptletの実行中: zabbix-web-6.0.17-release1.el8.noarch 1/1
アップグレード中 : zabbix-web-6.0.17-release1.el8.noarch 1/26
scriptletの実行中: zabbix-web-6.0.17-release1.el8.noarch 1/26
アップグレード中 : zabbix-web-deps-6.0.17-release1.el8.noarch 2/26
警告: /etc/php-fpm.d/zabbix.conf は /etc/php-fpm.d/zabbix.conf.rpmnew として作成されました。
アップグレード中 : zabbix-web-pgsql-6.0.17-release1.el8.noarch 3/26
インストール中 : apr-1.6.3-12.el8.x86_64 4/26
scriptletの実行中: apr-1.6.3-12.el8.x86_64 4/26
インストール中 : apr-util-bdb-1.6.1-6.el8.x86_64 5/26
インストール中 : apr-util-openssl-1.6.1-6.el8.x86_64 6/26
インストール中 : apr-util-1.6.1-6.el8.x86_64 7/26
scriptletの実行中: apr-util-1.6.1-6.el8.x86_64 7/26
インストール中 : httpd-tools-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 8/26
インストール中 : mailcap-2.1.48-3.el8.noarch 9/26
インストール中 : centos-logos-httpd-85.8-2.el8.noarch 10/26
インストール中 : mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64 11/26
インストール中 : httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 12/26
scriptletの実行中: httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 12/26
インストール中 : zabbix-apache-conf-6.0.17-release1.el8.noarch 13/26
scriptletの実行中: zabbix-apache-conf-6.0.17-release1.el8.noarch 13/26
アップグレード中 : zabbix-nginx-conf-6.0.17-release1.el8.noarch 14/26
警告: /etc/nginx/conf.d/zabbix.conf は /etc/nginx/conf.d/zabbix.conf.rpmnew として作成されました。
scriptletの実行中: zabbix-nginx-conf-6.0.17-release1.el8.noarch 14/26
アップグレード中 : zabbix-web-japanese-6.0.17-release1.el8.noarch 15/26
scriptletの実行中: zabbix-web-japanese-6.0.17-release1.el8.noarch 15/26
scriptletの実行中: zabbix-server-pgsql-6.0.17-release1.el8.x86_64 16/26
アップグレード中 : zabbix-server-pgsql-6.0.17-release1.el8.x86_64 16/26
警告: /etc/zabbix/zabbix_server.conf は /etc/zabbix/zabbix_server.conf.rpmnew として作成されました。
scriptletの実行中: zabbix-server-pgsql-6.0.17-release1.el8.x86_64 16/26
scriptletの実行中: zabbix-agent-6.0.17-release1.el8.x86_64 17/26
アップグレード中 : zabbix-agent-6.0.17-release1.el8.x86_64 17/26
警告: /etc/zabbix/zabbix_agentd.conf は /etc/zabbix/zabbix_agentd.conf.rpmnew として作成されました。
scriptletの実行中: zabbix-agent-6.0.17-release1.el8.x86_64 17/26
インストール中 : zabbix-sql-scripts-6.0.17-release1.el8.noarch 18/26
インストール中 : zabbix-selinux-policy-6.0.17-release1.el8.x86_64 19/26
scriptletの実行中: zabbix-selinux-policy-6.0.17-release1.el8.x86_64 19/26
scriptletの実行中: zabbix-web-japanese-5.0.34-1.el8.noarch 20/26
整理 : zabbix-web-japanese-5.0.34-1.el8.noarch 20/26
整理 : zabbix-nginx-conf-5.0.34-1.el8.noarch 21/26
整理 : zabbix-web-deps-5.0.34-1.el8.x86_64 22/26
整理 : zabbix-web-pgsql-5.0.34-1.el8.noarch 23/26
scriptletの実行中: zabbix-web-5.0.34-1.el8.noarch 24/26
整理 : zabbix-web-5.0.34-1.el8.noarch 24/26
scriptletの実行中: zabbix-server-pgsql-5.0.34-1.el8.x86_64 25/26
整理 : zabbix-server-pgsql-5.0.34-1.el8.x86_64 25/26
scriptletの実行中: zabbix-server-pgsql-5.0.34-1.el8.x86_64 25/26
scriptletの実行中: zabbix-agent-5.0.34-1.el8.x86_64 26/26
整理 : zabbix-agent-5.0.34-1.el8.x86_64 26/26
scriptletの実行中: zabbix-agent-5.0.34-1.el8.x86_64 26/26
scriptletの実行中: httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 26/26
scriptletの実行中: zabbix-agent-6.0.17-release1.el8.x86_64 26/26
scriptletの実行中: zabbix-agent-5.0.34-1.el8.x86_64 26/26
検証 : apr-1.6.3-12.el8.x86_64 1/26
検証 : apr-util-1.6.1-6.el8.x86_64 2/26
検証 : apr-util-bdb-1.6.1-6.el8.x86_64 3/26
検証 : apr-util-openssl-1.6.1-6.el8.x86_64 4/26
検証 : httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 5/26
検証 : httpd-tools-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 6/26
検証 : mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64 7/26
検証 : centos-logos-httpd-85.8-2.el8.noarch 8/26
検証 : mailcap-2.1.48-3.el8.noarch 9/26
検証 : zabbix-apache-conf-6.0.17-release1.el8.noarch 10/26
検証 : zabbix-selinux-policy-6.0.17-release1.el8.x86_64 11/26
検証 : zabbix-sql-scripts-6.0.17-release1.el8.noarch 12/26
検証 : zabbix-agent-6.0.17-release1.el8.x86_64 13/26
検証 : zabbix-agent-5.0.34-1.el8.x86_64 14/26
検証 : zabbix-nginx-conf-6.0.17-release1.el8.noarch 15/26
検証 : zabbix-nginx-conf-5.0.34-1.el8.noarch 16/26
検証 : zabbix-server-pgsql-6.0.17-release1.el8.x86_64 17/26
検証 : zabbix-server-pgsql-5.0.34-1.el8.x86_64 18/26
検証 : zabbix-web-6.0.17-release1.el8.noarch 19/26
検証 : zabbix-web-5.0.34-1.el8.noarch 20/26
検証 : zabbix-web-deps-6.0.17-release1.el8.noarch 21/26
検証 : zabbix-web-deps-5.0.34-1.el8.x86_64 22/26
検証 : zabbix-web-japanese-6.0.17-release1.el8.noarch 23/26
検証 : zabbix-web-japanese-5.0.34-1.el8.noarch 24/26
検証 : zabbix-web-pgsql-6.0.17-release1.el8.noarch 25/26
検証 : zabbix-web-pgsql-5.0.34-1.el8.noarch 26/26
アップグレード済み:
zabbix-agent-6.0.17-release1.el8.x86_64 zabbix-nginx-conf-6.0.17-release1.el8.noarch zabbix-server-pgsql-6.0.17-release1.el8.x86_64
zabbix-web-6.0.17-release1.el8.noarch zabbix-web-deps-6.0.17-release1.el8.noarch zabbix-web-japanese-6.0.17-release1.el8.noarch
zabbix-web-pgsql-6.0.17-release1.el8.noarch
インストール済み:
apr-1.6.3-12.el8.x86_64 apr-util-1.6.1-6.el8.x86_64 apr-util-bdb-1.6.1-6.el8.x86_64
apr-util-openssl-1.6.1-6.el8.x86_64 centos-logos-httpd-85.8-2.el8.noarch httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64
httpd-tools-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64 mailcap-2.1.48-3.el8.noarch mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64
zabbix-apache-conf-6.0.17-release1.el8.noarch zabbix-selinux-policy-6.0.17-release1.el8.x86_64 zabbix-sql-scripts-6.0.17-release1.el8.noarch
完了しました!
[admin@hostname ~]$ dnf list --installed | grep zabbix
zabbix-agent.x86_64 6.0.17-release1.el8 @zabbix
zabbix-apache-conf.noarch 6.0.17-release1.el8 @zabbix
zabbix-get.x86_64 5.0.34-1.el8 @zabbix
zabbix-nginx-conf.noarch 6.0.17-release1.el8 @zabbix
zabbix-release.noarch 6.0-4.el8 @System
zabbix-selinux-policy.x86_64 6.0.17-release1.el8 @zabbix
zabbix-server-pgsql.x86_64 6.0.17-release1.el8 @zabbix
zabbix-sql-scripts.noarch 6.0.17-release1.el8 @zabbix
zabbix-web.noarch 6.0.17-release1.el8 @zabbix
zabbix-web-deps.noarch 6.0.17-release1.el8 @zabbix
zabbix-web-japanese.noarch 6.0.17-release1.el8 @zabbix
zabbix-web-pgsql.noarch 6.0.17-release1.el8 @zabbix
各サービスの起動
[admin@hostname ~]$ sudo systemctl start zabbix-server zabbix-agent nginx php-fpm
[admin@hostname ~]$ zabbix_server -V
zabbix_server (Zabbix) 6.0.17
Revision c81d82859a8 24 April 2023, compilation time: Apr 24 2023 11:31:21
Copyright (C) 2023 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).
Compiled with OpenSSL 1.1.1k FIPS 25 Mar 2021
Running with OpenSSL 1.1.1k FIPS 25 Mar 2021
やったぜ
DBの修正
主キーは自動で追加してくれないので手動で修正
修正前にDBのバックアップ
Zabbixサーバの停止
[admin@hostname ~]$ sudo systemctl stop zabbix-server zabbix-agent nginx php-fpm
テーブルのアップブレード
[admin@hostname ~]$ sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql
[sudo] admin のパスワード:
could not change directory to "/home/admin": 許可がありません
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
[admin@hostname ~]$ su - postgres
パスワード:
[postgres@hostname ~]$ psql
psql (13.11)
"help"でヘルプを表示します。
postgres=# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | postgres=CTc/postgres+
| | | | | =c/postgres
zabbix | zabbix | UTF8 | C | C |
(4 行)
postgres=# \c zabbix
データベース"zabbix"にユーザ"postgres"として接続しました。
zabbix=# \dt;
リレーション一覧
スキーマ | 名前 | タイプ | 所有者
----------+----------------------------+----------+--------
(略
public | history | テーブル | zabbix
public | history_log | テーブル | zabbix
public | history_log_old | テーブル | zabbix
public | history_old | テーブル | zabbix
public | history_str | テーブル | zabbix
public | history_str_old | テーブル | zabbix
public | history_text | テーブル | zabbix
public | history_text_old | テーブル | zabbix
public | history_uint | テーブル | zabbix
public | history_uint_old | テーブル | zabbix
(略
(178 行)
history関連のテーブルが複製されている
zabbix=# \d history;
テーブル"public.history"
列 | タイプ | 照合順序 | Null 値を許容 | デフォルト
--------+------------------+----------+---------------+-----------------------
itemid | bigint | | not null |
clock | integer | | not null | 0
value | double precision | | not null | '0'::double precision
ns | integer | | not null | 0
インデックス:
"history_pkey" PRIMARY KEY, btree (itemid, clock, ns)
zabbix=# \d history_old;
テーブル"public.history_old"
列 | タイプ | 照合順序 | Null 値を許容 | デフォルト
--------+------------------+----------+---------------+-----------------------
itemid | bigint | | not null |
clock | integer | | not null | 0
value | double precision | | not null | '0'::double precision
ns | integer | | not null | 0
インデックス:
"history_1" btree (itemid, clock)
主キーありの新しいテーブルが作成されている。
新しいテーブルへデータを移行
zabbix=# INSERT INTO history SELECT * FROM history_old ON CONFLICT (itemid,clock,ns) DO NOTHING;
INSERT 0 2122643
zabbix=# INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT (itemid,clock,ns) DO NOTHING;
INSERT 0 4722293
zabbix=# INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT (itemid,clock,ns) DO NOTHING;
INSERT 0 13668
zabbix=# INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT (itemid,clock,ns) DO NOTHING;
INSERT 0 40771
zabbix=# INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT (itemid,clock,ns) DO NOTHING;
INSERT 0 256362
zabbix=# \q
[postgres@hostname ~]$ exit
ログアウト
[admin@hostname ~]$
1年分くらいしかないのでそこまで時間はかからなかった。
_oldの付いた古いテーブルはねんのため消さずに残しておく。
サービスの起動
[admin@hostname ~]$ sudo systemctl start zabbix-server zabbix-agent nginx php-fpm
本来やりたかったのはここから
- アラートをDiscordに飛ばす
は別記事にします。