zabbix serverを5.0へupgrade
zabbix serverを5.0へupgrade
5.0のLTSがでたのでupgrade。リリースされたのは随分前ですが。
手順はここに書かれているとおりです。
www.zabbix.com
zabbixサーバのプロセスを停止する。
$ sudo systemctl stop zabbix-server
データベースのバックアップをとる
$ mysqldump zabbix > /opt/zabbix-backup
設定ファイル、PHPファイル、バイナリファイルのバックアップをとる
$ sudo cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup $ sudo cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup
zabbixリポジトリをupdateする
自分の環境に合わせて。
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
自環境ではなぜかrepo.zabbix.comhがdenyされるので、rpmを入手してからupdateしました。
うしろのyumもhttpでリクエスト。故にとおるところへproxyを通す設定をyumのconfigへいれます。
zabbixコンポーネントをupdateする。
$ sudo yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent (中略) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libssh.so.4(LIBSSH_4_5_0)(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libevent-2.1.so.6()(64bit) エラー: パッケージ: zabbix-web-japanese-5.0.1-1.el8.noarch (zabbix) 要求: glibc-langpack-ja エラー: パッケージ: zabbix-web-japanese-5.0.1-1.el8.noarch (zabbix) 要求: google-noto-sans-cjk-ttc-fonts エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libnetsnmp.so.35()(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libmariadb.so.3()(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libmariadb.so.3(libmysqlclient_18)(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libmariadb.so.3(libmariadb_3)(64bit) ********************************************************************** yum can be configured to try to resolve such errors by temporarily enabling disabled repos and searching for missing dependencies. To enable this functionality please set 'notify_only=0' in /etc/yum/pluginconf.d/search-disabled-repos.conf ********************************************************************** エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libssh.so.4(LIBSSH_4_5_0)(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libevent-2.1.so.6()(64bit) エラー: パッケージ: zabbix-web-japanese-5.0.1-1.el8.noarch (zabbix) 要求: glibc-langpack-ja エラー: パッケージ: zabbix-web-japanese-5.0.1-1.el8.noarch (zabbix) 要求: google-noto-sans-cjk-ttc-fonts エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libnetsnmp.so.35()(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libmariadb.so.3()(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libmariadb.so.3(libmysqlclient_18)(64bit) エラー: パッケージ: zabbix-server-mysql-5.0.1-1.el8.x86_64 (zabbix) 要求: libmariadb.so.3(libmariadb_3)(64bit) 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest
なんじゃ?いっぱいエラーがでたぞ。
落ち着いて考える
ん〜なんだろ。sshがどうのとか、mariadbがどうとかっていってるな。
ちょっと考えて、上記のリポジトリが間違っていることに気づく。
$ uname -a Linux dcvsvzbx01 3.10.0-1062.9.1.el7.x86_64 #1 SMP Mon Dec 2 08:31:54 EST 2019 x86_64 x86_64 x86_64 GNU/Linux
RHEL8じゃなくてRHEL7でした。
リポジトリを消して入れ直す。
$ sudo rpm -e zabbix-release-5.0-1.el8.noarch $ sudo rpm -Uvh /tmp/zabbix-release-5.0-1.el7.noarch.rpm
オプション、ivhでもいいと思う。
yumのキャッシュを削除
$ sudo yum clean all
zabbixのupgradeリトライ
$ sudo yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
zabbix-serverとagentを起動。
$ sudo systemctl start zabbix-server $ sudo systemctl start zabbix-agent
例によってWebブラウズするとDBバージョンが違うぞってエラーメッセージがでますが、serverプロセスがDBをupgradeしきれていないから。
しばらくすると見えるようになります。。、と思っていたが、どうやら違うらしい。
現状DBのバージョンが5になってるけど、4を要求しているぞっていってる。
も一回考える
上記のエラーメッセージからみると、upgradeしたつもりのzabbix5.0中に4.0がのこってるじゃないかな。
yum listで確認。
# yum list | grep zabbix percona-zabbix-templates.noarch 1.1.8-1 @percona-release-x86_64 zabbix-agent.x86_64 5.0.1-1.el7 @zabbix zabbix-get.x86_64 4.0.21-2.el7 @zabbix zabbix-release.noarch 5.0-1.el7 installed zabbix-server-mysql.x86_64 5.0.1-1.el7 @zabbix zabbix-web.noarch 4.0.21-2.el7 @zabbix zabbix-web-japanese.noarch 4.0.21-2.el7 @zabbix zabbix-web-mysql.noarch 4.0.21-2.el7 @zabbix
どうもサーバは5.0に上がってるけど、フロントエンドプロセス(zabbix-web-*)が4.0のまま残ってる模様。
消して入れ直す
入れ直したzabbixのレポジトリ中に[zabbix-frontend]というセクションがあって、これがデフォルトでenabled=0で無効になってる。
これが原因かなとおもって、
enabled=1
にする。でもって、いま入っている4.0を削除。
$ sudo yum remove zabbix-web.noarch zabbix-web-japanese.noarch zabbix-web-mysql.noarch
そしてzabbox-server-mysqlをインストール。
$ sudo yum install # yum install zabbix-web-mysql 読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager パッケージ zabbix-web-mysql は利用できません。 エラー: 何もしません
ないって。えー?
RHELのソフトウェアコレクションを有効にする。
$ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
zabbixのフロントエンドパッケージをインストール
$ sudo yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
おう、ようやく動きました。メニューが左に写りましたね。ちょっとかっこいい。