Zabbix5.0がリリースされたのでやっていきましょう
なお今回のバージョンアップでは、新しいバージョンのZabbix Serverはアップグレード前の古いバージョンのZabbix Proxyからのデータを無視するため注意すること
-
Zabbixの停止 データベースに新たな値が書き込まれないようZabbix Serverを停止する
systemctl stop zabbix-server
Zabbix Proxyも同様に停止する
systemctl stop zabbix-proxy
-
バックアップ用ディレクトリ作成
mkdir /opt/zabbix-backup/
-
データベースのバックアップ
mysqldump -u {$USERNAME} -p -h {$HOSTNAME} {$DBNAME} > /opt/zabbix-backup/{$FILENAME}
-
Zabbix関連ファイルのバックアップ 設定ファイル
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
PHPファイルとバイナリ
cp -R /usr/share/zabbix/ /opt/zabbix-backup/ cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
-
リポジトリの更新
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
-
SCLリポジトリのインストール
SCLとは:The Software Collections ( SCL ) Repositoryyum install centos-release-scl yum clean all
-
/etc/yum.repos.d/zabbix.repo
ファイルを編集する
[zabbix-frontend]
セクションのenabled=0
をenabled=1
に書き換える<snip> [zabbix-frontend] <snip> enabled=1 <snip>
-
古いフロントエンドパッケージの削除
yum remove zabbix-web-*
-
新しいフロントエンドパッケージをインストールする
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl zabbix-web-japanese
-
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
ファイルを編集する
[zabbix]
セクションのlisten.acl_users = apache
をlisten.acl_users = apache,nginx
に書き換える[zabbix] <snip> listen.acl_users = apache,nginx <snip>
[zabbix]
セクションの; php_value[date.timezone] = Europe/Riga
をアンコメントしphp_value[date.timezone] = Asia/Tokyo
に書き換える[zabbix] <snip> php_value[date.timezone] = Asia/Tokyo <snip>
-
/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
ファイルを編集する
server
ディレクティブの# listen 80;
と# server_name example.com;
をアンコメントしserver_name
を適切なものに書き換えるserver { listen 80; server_name example.com; <snip>
-
Zabbixコンポーネントのアップグレード
yum update zabbix-*
Zabbix Proxyをアップグレードする場合
yum update zabbix-proxy-mysql
-
Zabbixコンポーネントの起動
systemctl start zabbix-server systemctl start zabbix-proxy systemctl restart zabbix-agent
-
ログの確認
起動時に以下のようなログが出力されデータベースがアップグレードされる18118:20200516:160931.619 Starting Zabbix Server. Zabbix 5.0.0 (revision 9665d62db0). 18118:20200516:160931.619 ****** Enabled features ****** 18118:20200516:160931.619 SNMP monitoring: YES 18118:20200516:160931.619 IPMI monitoring: YES 18118:20200516:160931.619 Web monitoring: YES 18118:20200516:160931.619 VMware monitoring: YES 18118:20200516:160931.619 SMTP authentication: YES 18118:20200516:160931.619 ODBC: YES 18118:20200516:160931.619 SSH support: YES 18118:20200516:160931.619 IPv6 support: YES 18118:20200516:160931.619 TLS support: YES 18118:20200516:160931.619 ****************************** 18118:20200516:160931.619 using configuration file: /etc/zabbix/zabbix_server.conf 18118:20200516:160931.625 current database version (mandatory/optional): 04050130/04050130 18118:20200516:160931.625 required mandatory version: 05000000 18118:20200516:160931.625 starting automatic database upgrade 18118:20200516:160931.630 completed 14% of database upgrade 18118:20200516:160931.633 completed 28% of database upgrade 18118:20200516:160931.635 completed 42% of database upgrade 18118:20200516:160931.649 completed 57% of database upgrade 18118:20200516:160931.652 completed 71% of database upgrade 18118:20200516:160931.654 completed 85% of database upgrade 18118:20200516:160931.655 completed 100% of database upgrade 18118:20200516:160931.655 database upgrade fully completed
ただし環境によっては以下のようなエラーが出力されるため次に挙げる対処が必要
詳しくはエラーメッセージでググってください16565:20200516:155028.966 [Z3005] query failed: [1118] Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs [alter table `media_type` add `event_menu_name` varchar(255) default '' not null] 16565:20200516:155028.967 database upgrade failed
18020:20200516:160848.023 [Z3005] query failed: [1118] Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs [alter table `hosts` add `discover` integer default '0' not null] 18020:20200516:160848.023 database upgrade failed
MariaDBに接続しエラーが出ているテーブル(今回であれば
media_type
とhosts
)のROW_FORMAT
をDYNAMIC
に変更しZabbix Serverを起動mysql -uroot -p
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 21 Server version: 10.3.23-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use zabbix; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [zabbix]> alter table media_type row_format=dynamic -> ; Query OK, 0 rows affected (0.009 sec) Records: 0 Duplicates: 0 Warnings: 0 MariaDB [zabbix]> alter table hosts row_format=dynamic -> ; Query OK, 0 rows affected (0.031 sec) Records: 0 Duplicates: 0 Warnings: 0 MariaDB [zabbix]> quit Bye
-
httpdの停止
systemctl stop httpd
-
Nginxとphp-fpmの起動
systemctl start rh-nginx116-nginx rh-php72-php-fpm systemctl enable rh-nginx116-nginx rh-php72-php-fpm
- おまけ:Zabbix Agent2をインストール
yum install zabbix-agent2
Zabbix 5.0にした https://t.co/CixIESnVkT
— 堀京子 (@MyM4i) May 16, 2020