バージョンアップ(3.0→5.0)の問題
Zabbixを取り扱った経験が無いのですが、バージョンアップを実施する事になり
躓いている箇所がありますのでご教授いただければと思います。
PHPが該当OSの標準5系ではなく7系となるためcentos-release-sclからインストールしております。
PHPは競合させず7系のみとしておりagentも同サーバにございます。
[実施内容の一部]
1.php5系remove後、rh-php7.3系インストール
2.zabbix3→5にアップデート
3.zabbixのfrontend関連のインストール
4.zabbix.conf等の設定ファイルをバックアップから一部移管
[問題]
監視データ>ホストでバージョンアップ前の情報を参照できますが、ホスト名を選択しても遷移しません。
その他、インベントリやレポートへの遷移もできずダッシュボードの「新しいウィジェットを追加」を押下しても反応がありません。
管理画面でブラウザ開発者モードにするとjavascriptエラーが複数起きております。
どのような場合にこれらの事象が起きるのでしょうか?
>>javascriptエラーの抜粋
①ReferenceError: customElements is not defined
http://localhost/zabbix/jsLoader.php:19722:1
②TypeError: jqBlink is undefined
http://localhost/zabbix/zabbix.php:366:14
http://localhost/zabbix/zabbix.php:366:2
③ReferenceError: ZABBIX is not defined
init/< http://localhost/zabbix/jsLoader.php:4777:6
each http://localhost/zabbix/jsLoader.php:369:10
each http://localhost/zabbix/jsLoader.php:204:10
init http://localhost/zabbix/jsLoader.php:4728:11
$.fn.dashboardGrid http://localhost/zabbix/jsLoader.php:5674:11
http://localhost/zabbix/zabbix.php:366:14
http://localhost/zabbix/zabbix.php:366:2
[現状]
#yum list installed | grep zabbix
fping.x86_64 3.10-1.el7 @zabbix-non-supported
iksemel.x86_64 1.4-2.el7.centos @zabbix-non-supported
zabbix-agent.x86_64 5.0.12-1.el7 @zabbix
zabbix-apache-conf-scl.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-get.x86_64 5.0.12-1.el7 @zabbix
zabbix-release.noarch 5.0-1.el7 installed
zabbix-server-pgsql.x86_64 5.0.12-1.el7 @zabbix
zabbix-web.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-deps-scl-php73.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-japanese.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-pgsql-scl-php73.noarch 5.0.13-1.el7 @zabbix-frontend
# yum list installed | grep php
rh-php73.x86_64 1-1.el7 @centos-sclo-rh
rh-php73-php.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-cli.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-common.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-fpm.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-pgsql.x86_64 7.3.20-1.el7 @centos-sclo-rh
以下略
[環境]
Firefox 60.2.2esr
CentOS Linux release 7.6.1810
Apache/2.4.6
PostgreSQL 9.6
PHP 7.3.20
zabbix_agentd (daemon) (Zabbix) 5.0.12
zabbix_server (Zabbix) 5.0.12
TNK - 投稿数: 4754
バージョンアップとのことですので、まずはブラウザのキャッシュ
をクリアしてみてください。
tora_ - 投稿数: 8
早速の回答ありがとうございます。
ブラウザのキャッシュもクリアしてみましたが、動作変わらずでございました。
TNK - 投稿数: 4754
3.0.32から5.0.13にアップグレードしてみましたが、特に問題なく
アップグレードできました。
細かいところは抜けているかもしれませんが、ご参考までに実行し
た手順は以下の通りです。
# systemctl stop httpd zabbix-server zabbix-agent
# yum remove zabbix-web
# yum update https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el...
# yum clean all
# yum update
# yum install yum-utils
# yum-config-manager --enable zabbix-frontend
# yum install centos-release-scl
# yum install zabbix-apache-conf-scl zabbix-web-deps-scl-php73 zabbix-web-deps-scl-php73 zabbix-web-japanese zabbix-web-mysql-scl-php73
# vi /etc/opt/rh/rh-php73/php-fpm.d/zabbix.conf
-----
; php_value[date.timezone] = Europe/Riga
-----
↓
-----
php_value[date.timezone] = Asia/Tokyo
-----
# vi /etc/httpd/conf.d/zabbix.conf
-----
SetHandler "proxy:unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock|fcgi://localhost"
# SetHandler "proxy:unix:/var/opt/rh/rh-php73/run/php-fpm/zabbix.sock|fcgi://localhost"
-----
↓
-----
# SetHandler "proxy:unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock|fcgi://localhost"
SetHandler "proxy:unix:/var/opt/rh/rh-php73/run/php-fpm/zabbix.sock|fcgi://localhost"
-----
# systemctl start zabbix-agent zabbix-server rh-php73-php-fpm httpd
# systemctl enable zabbix-agent zabbix-server rh-php73-php-fpm httpd
ダッシュボードのシステム情報で以下のように表示される。
「データベースのヒストリテーブルをアップグレードしました いいえ」
※英語の場合: Database history tables upgraded No
# systemctl stop zabbix-server
# mysql -uzabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-5.0.13/double.sql
# vi /etc/zabbix/web/zabbix.conf.php
-----
$DB['DOUBLE_IEEE754'] = true;
-----
# systemctl start zabbix-server
tora_ - 投稿数: 8
検証までしていただきありがとうございます。
installしているパッケージは同じに見受けられますが、1点異なる点がありました。
>vi /etc/httpd/conf.d/zabbix.conf
このファイルがrenewで作成されており反映されておりませんでした。
記載の通りrh-php73に変更、ファイルrename⇒rh-php73-php-fpmで起動しましたが状況変わらずでございます。
php-fpmについて知識を持ち合わせてないのですが、zabixx5系(※php7系)では必須となり以下のようなアクセスを辿るという理解であってますか?
新 リクエスト⇔apach⇔fpm⇔DB
旧 リクエスト⇔apach(php)⇔DB
ちなみにダッシュボードには記載の文言[データベース~]はなかったのですが、システム情報とは画面上のどれを指すのでしょうか?
tora_ - 投稿数: 8
3.0.32インストール後templates、hosts定義のファイルインポート。その後記載いただいた手順を元に5.0.13にアップグレードしました。
結果は冒頭にある通りjavascriptエラーが発生し、振りだしに戻っている状態でございます。
その他に実施した手順はphpのバージョンアップです。
他確認すべき箇所、不足な手順はございますでしょうか?
>phpアップグレード手順
yum install rh-php73 rh-php73-php-bcmath.x86_64 rh-php73-php-gd.x86_64 rh-php73-php-ldap.x86_64 rh-php73-php-mbstring.x86_64 rh-php73-php-pdo.x86_64 rh-php73-php-pgsql.x86_64
>設定変更ファイル一覧
/etc/httpd/conf.d/zabbix.conf
/etc/zabbix/zabbix_server.conf
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/web/zabbix.conf.php
/etc/opt/rh/rh-php73/php-fpm.d/zabbix.conf
>yum list
# yum list installed | grep zabbix
fping.x86_64 3.10-1.el7 @zabbix-non-supported
iksemel.x86_64 1.4-2.el7.centos @zabbix-non-supported
zabbix-agent.x86_64 5.0.13-1.el7 @zabbix
zabbix-apache-conf-scl.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-release.noarch 5.0-1.el7 installed
zabbix-server-pgsql.x86_64 5.0.13-1.el7 @zabbix
zabbix-web.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-deps-scl-php73.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-japanese.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-pgsql-scl-php73.noarch 5.0.13-1.el7 @zabbix-frontend
# yum list installed | grep php
rh-php73.x86_64 1-1.el7 @centos-sclo-rh
rh-php73-php-bcmath.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-cli.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-common.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-fpm.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-gd.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-json.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-ldap.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-mbstring.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-pdo.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-pear.noarch 1:1.10.9-1.el7 @centos-sclo-rh
rh-php73-php-pgsql.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-process.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-xml.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-php-zip.x86_64 7.3.20-1.el7 @centos-sclo-rh
rh-php73-runtime.x86_64 1-1.el7 @centos-sclo-rh
zabbix-web-deps-scl-php73.noarch 5.0.13-1.el7 @zabbix-frontend
zabbix-web-pgsql-scl-php73.noarch 5.0.13-1.el7 @zabbix-frontend
tora_ - 投稿数: 8
5.0から状況変わらずでしたので、一度3.0に戻してから再度TNKさんの手順を参考にしようと思います。
ダウングレードというより再構築の手順で実施したところ、以下ポイントで躓きました。
[問題]
zabbixに初回ログインしたところ下記エラーが表示され、フロントエンドとDBが一致しないと書かれています。
[エラー内容]
Database error
The frontend does not match Zabbix database. Current database version (mandatory/optional): 5000000/5000004.
Required mandatory version: 3000000. Contact your system administrator.
気になる点として本来下記フォルダの[create.sql.gz]を実行すると思うのですが、フォルダすら存在しておりませんでした。
/usr/share/docc/zabbix-server-psql-3.0.31
installしたrpmを参照すると確かに含まれていないように見えます。
#rpm -ql zabbix30-server-pgsql-3.0.31-1.el7
/usr/lib/systemd/system/zabbix-server-pgsql.service
/usr/sbin/zabbix_server_pgsql
上記原因は特定できませんでしたが、下記DDLで実施している方もおられましたのでこちらで実施済みです。※対象116テーブル
/usr/share/zabbix-postgresql
schema.sql
images.sql
data.sql
[質問]
テーブル情報からいつバージョンのテーブル構成かわかるものでしょうか。
また、3.0のバージョンにするにはどのようにすればよいのでしょうか。
[参考]
zabbix_server.logを一部抜粋
20210713:161218. ******************************
20210713:161218. using configuration file: /etc/zabbix_server.conf
20210713:161218. current database version (mandatory/optional): 03000000/03000000
20210713:161218. required mandatory version: 03000000
20210713:161218. server #0 started [main process]
# yum list installed | grep zabbix
fping.x86_64 3.10-1.el7 @zabbix-non-supported
iksemel.x86_64 1.4-2.el7.centos @zabbix-non-supported
zabbix-release.noarch 3.0-1.el7 installed
zabbix30.x86_64 3.0.31-1.el7 @epel
zabbix30-agent.x86_64 3.0.31-1.el7 @epel
zabbix30-dbfiles-pgsql.noarch 3.0.31-1.el7 @epel
zabbix30-server.noarch 3.0.31-1.el7 @epel
zabbix30-server-pgsql.x86_64 3.0.31-1.el7 @epel
zabbix30-web.noarch 3.0.31-1.el7 @epel
zabbix30-web-pgsql.noarch 3.0.31-1.el7 @epel
# php -v
PHP 5.4.16 (cli) (built: Apr 1 2020 04:07:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
TNK - 投稿数: 4754
既に5.0用のデータベースに変換されてしまったデータベースは、
3.0用には使用できません。
Zabbix社公式のリポジトリには、zabbix30というパッケージはあり
ません。
Zabbix社のパッケージではないので、create.sql.gzが含まれない
のだと思います。
とあるので、epelが提供しているパッケージなのでしょう。
上でも書いた通り、5.0にバージョンアップしてしまったデータベ
ースは3.0には使用できないので、3.0時点のバックアップがあれば
それを使用してください。
バックアップがないのであれば、新規に作成するしかありません。
tora_ - 投稿数: 8
TNKさん
コメントありがとうございます。
DB名zabbixは5.0でDB名zabbix2を3.0用として別に新規作成しております。
参考:
#egrep -v "^#|^$|^;" /etc/zabbix/zabbix_server.conf
DBName=zabbix2
ただTNKさんのご指摘通りエラー内容を見る限り確かに5.0と認識されてしまっているようです。
schema.sql他はzabbix30-dbfiles-pgsql.に含まれるDDLでそれがよろしくない、
もしくはzabbix(5.0)を参照してしまっていると考えるのが自然な気がしてきました。
一旦zabbix(5.0)をバックアップして再度実行、それでもだめならepelではない別パッケージから再実施してみます。
TNK - 投稿数: 4754
zabbix_serverプロセスが参照する設定ファイルは、
/etc/zabbix/zabbix_server.conf
ですが、Webインターフェースがアクセスするファイルは別です。
使用されているのがZabbix公式のパッケージではないようなので
正確にはわかりませんが、
/etc/zabbix/web/zabbix.conf.php
/usr/share/zabbix/conf/zabbix.conf.php
のどちらかか、同じ名前の設定ファイルがあるはずです。
その中に、どのデータベースに接続するかを記載するところがある
ので、その設定内容を確認してください。
tora_ - 投稿数: 8
ビンゴでした。
下記ファイルのDB参照先がzabbix(5.0)のままとなっており、そちらを参照しておりました。
無事ログイン出来ましたので、定義ファイルをインポート後バージョンアップを実施してみたいと思います。
/etc/zabbix/web/zabbix.conf.php
tora_ - 投稿数: 8
原因が分かりました。
FirefoxではなくChromeで参照したところ、scriptエラーが無くなりました。
細かい点は今から見ていきます。
色々と細かいご指摘いただきありがとうございます。