zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1


openSUSE Leap 15.1 上の zabbix4 を Zabbix5 にアップデート

Zabbix 5.0 LTS がリリースされたので、現行で運用している openSUSE Leap 15.1 上の zabbix 4.2.5 からのアップデート顛末記です。
前回 zabbix 4.2 をインストールした手順はこちら

How to setup zabbix4.2 on openSUSE Leap 15.1 セットアップ
https://islandcnt.exblog.jp/239366228/

zabbix 5.0 のインストールはこちら

Download and install Zabbix
https://www.zabbix.com/jp/download

今回から、バイナリは提供されず、リポジトリを登録してインストールする形式になりました。閉塞環境ではインストールできないようです・

Zabbix5 の仮想アプライアンス、ライブメディアはこちらです。ubuntu ではなく CentOS に変更されたようです。

Zabbix Cloud Images and Appliances
https://cdn.zabbix.com/zabbix/sources/stable/5.0/

Install Zabbix Appliance
https://www.zabbix.com/jp/download_appliance

アップデートに必要な情報はこちらにまとめられています。php7.2 以降が必要、maiadb は10.2.1 以前はアップデートが必要です。yast か zypper でアップデートしておきます。

9 Upgrade notes for 5.0.0
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500







- バックアップ -

一応、大事なものはバックアップしておきます。マニュアルに記載があるのは、次のファイルです。(マニュアル読んどけよ、取らなかったじゃないか....)
  • /etc/zabbix/zabbix_server.conf
  • /etc/apache2/conf.d/zabbix.conf  (RH系は /etc/httpd)
  • /usr/share/zabbix/*
  • /usr/share/doc/packages/zabbix-* (RH系は /usr/share/doc/zabbix*)

仮想環境なら、イメージ毎バックアップしておけば良いでしょう。
openSUSE 15 はデフォルト BtrFS なので、スナップショットを取っておきました。(/var が XFS だった.... 敗因)

SLES12が採用した btrfs, snapper を使った Snap Shot
https://islandcnt.exblog.jp/20441162/

SLES12 の Snapper のチューニング
https://islandcnt.exblog.jp/20453565/

4 Snapperによるスナップショットとロールバック
https://documentation.suse.com/ja-jp/sles/11-SP4/html/SLES-all/cha-snapper.html

yast2 > Filesystem Snapshot で、スナップショットを作成しておきます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09164227.png

- アップデート -

このページにあるインストール手順に従って、zabbix リポジトリを更新します。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09174603.png

具体的には、次のコマンドを実行するだけでした。

# rpm -Uvh --nosignature https://repo.zabbix.com/zabbix/5.0/sles/15/x86_64/zabbix-release-5.0-1.el15.noarch.rpm

リポジトリをアップデートしたら YaST の Software Repositories から、Zabbix5 のリポジトリを Enabled, Autorefresh にチェックを入れます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09185202.png


- Zabbix の停止 -

アップデートの前に、 YaST > Service Manager から zabbix_server, zabbix_agent, MariaDB を Stop させておきます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09210686.png



- zabbix 本体のアップデート -

YaST > Software Management から ”zabbix” を検索して、zabbix パッケージにチェックが入っているものを全部、右ボタンから "Update" にセットし、Accept します。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09200290.png

アップデートが終わりました。


- zabbix5 の起動 -

YaST > Service Manager から、停止させていた MariaDB, zabbix_server, zabbix_agent を Start させます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09223345.png

インストールが終わった後の、バージョン情報です。

zabbix:~ # zabbix_server -V
zabbix_server (Zabbix) 5.0.0
Revision 9665d62db0 11 May 2020, compilation time: May 11 2020 14:35:25

Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later .
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.0i-fips 14 Aug 2018
Running with OpenSSL 1.1.0i-fips 14 Aug 2018
zabbix:~ #
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.0i-fips  14 Aug 2018
Running with OpenSSL 1.1.0i-fips  14 Aug 2018
zabbix:~ #


- あれ?フロントエンドが動かない .... -

アップデートした後、ブラウザをリロードしたら、変なデータベースエラーが出ていました。どうもDBのスキーマを更新していたようです... すぐにログインできる様になりましたが、情報もなく冷や汗モノでした。(敗因)

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_15124586.png

- ログイン -

全体のフロントエンドスクリーンです。かなりデザインが変わりました。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09230458.png



ー グラフがない? ー

グラフの表示は随分変わりました。以前は Graph というメニューがあったのですが、左のメニューから Latest data > Hosts より、グラフを出したいホストを Select して選び、”Applications" から、例えば "Network interfaces" とか”Storage” などのアイテムを選んで "Apply" すると、フィルタがかかります。右に”Graph” リンクを開くと、そのアイテムのグラフが出てくる方式です。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09232986.png

例えば、 NIC のI/O を見たい場合、Bits Sent と Receive の二つをチェックして、"Display stacked graph" を押します。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09234899.png

Network Interface の I/O グラフが出てきました。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09241687.png

- なにぃ? 404 Error だと! -
 zabbix url http://zabbix/zabbix  "Object not found 404 error" after update zabbix4 to 5.
  -> /etc/apache2/conf.d # cp zabbix.conf.rpmsave zabbix.conf 

ブラウザがクラッシュして、もう一度、"http://zabbix/zabbix" を開いたら、404エラーを吐きやがった!

そこで /srv/www/htdocs/zabbix ディレクトリを掘って、 /usr/share/zabbix/ 以下をコピーしたら、問題なく動いた。

zabbix:/srv/www/htdocs/zabbix # cp /usr/share/zabbix/* -Rv .

ははぁ、これは何かリダイレクトの問題だなと思い、調べたけれどわからない。そこで、バックアップを取っていた KVM の RAW イメージフォーマットをマウントし

sles15:~/mnt # kpartx -av /var/lib/libvirt/images/zabbix42/zabbix42.disk1.raw
add map loop0p1 (254:0): 0 16384 linear 7:0 2048
add map loop0p2 (254:1): 0 29360128 linear 7:0 18432
add map loop0p3 (254:2): 0 4194527 linear 7:0 48242688
add map loop0p4 (254:3): 0 18864128 linear 7:0 29378560
sles15:~/mnt # ls /dev/mapper/
control  loop0p1  loop0p2  loop0p3  loop0p4
sles15:~/mnt #
sles15:~/mnt # mount -o loop /dev/mapper/loop0p2 /mnt/tmp
sles15:~/mnt # ls /mnt/tmp
.snapshots  boot  etc   lib    mnt  proc  run   selinux  sys  usr
bin         dev   home  lib64  opt  root  sbin  srv      tmp  var
sles15:~/mnt # ls /mnt/tmp/etc/apache2/conf.d/ -al
total 16
drwxr-xr-x 1 root root  84 Feb  5 17:51 .
drwxr-xr-x 1 root root 778 Jan  9 00:06 ..
-rw-r--r-- 1 root root 361 Jan  9 00:06 gitweb.conf
-rw-r--r-- 1 root root 793 Apr 11  2019 manual.conf
-rw-r--r-- 1 root root 354 May  4  2019 php7.conf
-rw-r--r-- 1 root root 913 Jul 11  2019 zabbix.conf
sles15:~/mnt # cd
sles15:~ # kpartx -d /var/lib/libvirt/images/zabbix42/zabbix42.disk1.raw
loop deleted : /dev/loop0
sles15:~ #

調べてみたら、あった。
/etc/apache2/conf.d/zabbix.conf が zabbix.conf.rpmsave にリネームされていた。


zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_15202752.png

zabbix:~ # cat /etc/apache2/conf.d/zabbix.conf.rpmsave
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Require all granted

    <IfModule mod_php7.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
        php_value date.timezone Asia/Tokyo
    </IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/app">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/local">
    Require all denied
</Directory>
zabbix:~ #



zabbix:/etc/apache2/conf.d # cp zabbix.conf.rpmsave zabbix.conf
zabbix:/etc/apache2/conf.d #
zabbix:/etc/apache2/conf.d # ls -al
total 20
drwxr-xr-x 1 root root 122 May 20 15:30 .
drwxr-xr-x 1 root root 778 May 20 13:22 ..
-rw-r--r-- 1 root root 361 Jan  9 00:06 gitweb.conf
-rw-r--r-- 1 root root 793 Apr 11  2019 manual.conf
-rw-r--r-- 1 root root 354 May  6 21:23 php7.conf
-rw-r--r-- 1 root root 913 May 20 15:30 zabbix.conf
-rw-r--r-- 1 root root 913 Jul 11  2019 zabbix.conf.rpmsave
zabbix:/etc/apache2/conf.d #

サービスの再起動ではうまく行かなかったので、再起動したら、問題は解決できた。

何のためにスナップショット取ったのか、今になって反省しています。

- First Look (まとめ)-

Zabbix4 から Zabbix5 へのアップデートは、予想より困難な事はありませんでした。openSUSE Leap 15.1 では特にハマる点もなく(エイリアスにはハマったけど)、ほとんどの作業を YaST のマウス操作でアップデートできてしまいました。

/var を xfs パーティションにしたのは、スナップショットが使えず、敗因だったなと思います。

Web Interface は随分変わってしまったので、オペレータさん用の新しい操作マニュアルが必要そうです。

特に私の様に「グラフ命」だったヒトには、グラフの操作方法が変わってしまって、残念な感じがします。一応 Widget に旧タイプのグラフがあるようです。慣れの問題と言えますが、カスタマイズした場合、内容がそのまま移行できたかどうかは分からないので、アップデートは十分な調査が必要です。

主な変更点はマニュアルで確認してください。SUSEに関する記述が抜けているのはご愛敬です。

5 What's new in Zabbix 5.0.0
https://www.zabbix.com/documentation/current/manual/introduction/whatsnew500





isLandcenter.jp




by islandcenter | 2020-05-20 09:29 | SUSE | Comments(0)