15 拡張範囲の数値へのアップグレード

概要

Zabbix 5.0 以降、数値 (float) データ型は約 15 桁の精度と約 -1.79E+308 から 1.79E+308 の範囲をサポートします。 以前の数値型は無効化されていましたが、引き続きサポートされていました。Zabbix 6.4 以降では非推奨となり、Zabbix 7.0 以降では完全に削除されました。

拡張範囲の数値を使用するようにアップグレードされていない場合は、[レポート] → システム情報 に次の警告が表示されます。 "データベース履歴テーブルがアップグレードされました: いいえ。以前の数値型のサポートは非推奨です。拡張範囲の数値にアップグレードしてください。"

Zabbix 7.0 にアップグレードすると、以下のデータベースが自動的にアップグレードされます。

  • MySQL
  • PostgreSQL/TimescaleDB (圧縮なし)
  • Oracle

ただし、Oracle、古いバージョンの MySQL、および大規模なインストールの場合は、Zabbix 7.0 にアップグレードする前に、データ型を手動でアップグレードすることをお勧めします。 手順については、MySQL、PostgreSQL/TimescaleDB (圧縮なし)、Oracle を参照してください。

圧縮機能付きの TimescaleDB を使用している場合は、Zabbix 7.0 にアップグレードする前に、データベースを手動でアップグレードする必要があります。 手順については、TimescaleDB (圧縮あり) を参照してください。

Zabbix 7.0 以降、テーブルを手動で主キーにアップグレードすると、倍精度データ型を使用するテーブルにもアップグレードされます。 主キーへのアップグレード手順については、データベースの主キーへのアップグレードを参照してください。

MySQL、PostgreSQL/TimescaleDB(圧縮なし)、Oracle

アップグレードパッチは、通常大量のデータを含む履歴テーブルとトレンドテーブルのデータ列を変更します。そのため、アップグレードの完了には時間がかかる場合があります。 正確な所要時間は予測できず、サーバーのパフォーマンス、データベース管理システムの構成とバージョンによって異なります。 そのため、まずは本番環境外でパッチをテストすることをお勧めします。 例えば、MySQL 8.0とMariaDB 10.5(デフォルト設定)の場合、効率的なアルゴリズムと、以前は同じdouble型が使用されていたものの精度が制限されていたため、大規模なテーブルでもパッチは即座に実行されることが分かっています。つまり、データ自体を変更する必要はありません。

Zabbix 7.0にアップグレードする前に、MySQL、PostgreSQL/TimescaleDB(圧縮なし)、またはOracleをアップグレードするには、以下の手順に従います。

1. Zabbixサーバーを停止します。

2. データベースをバックアップします。

3. Zabbix 6.4 データベースに適したパッチ(SQL ファイル)を実行してください。

サーバーデータベースのスクリプトのみを実行してください。プロキシはこのアップグレードによる恩恵を受けません。

  • /usr/share/zabbix-sql-scripts/mysql/double.sql
  • /usr/share/zabbix-sql-scripts/postgresql/double.sql (PostgreSQL/TimescaleDB の場合)
  • /usr/share/zabbix-sql-scripts/oracle/double.sql

ソースを使用する場合は、 MySQLPostgreSQL/TimescaleDB、 または Oracle のZabbix GITリポジトリにあるZabbix 6.4用パッチ。

4. Zabbixサーバーを起動します。

5. /ui/conf/zabbix.conf.php$DB['DOUBLE_IEEE754'] パラメータ値を true に更新または設定します。

TimescaleDB(圧縮あり)

Zabbix 7.0 にアップグレードする前に TimescaleDB(圧縮あり)をアップグレードするには以下を行います。:

1. Zabbix フロントエンドで TimescaleDB 圧縮 を無効にします。

2. ランタイムコントロール を使用して、Zabbix サーバーの設定キャッシュを再読み込みします。zabbix_server -R config_cache_reload

3. Zabbix サーバーを停止します。

4. データベースをバックアップします。

5. TimescaleDB 用の適切なパッチ(SQL ファイル)を実行します。

  • /usr/share/zabbix-sql-scripts/postgresql/double.sql

ソースコードを使用する場合は、Zabbix GIT リポジトリにある Zabbix 6.4 用の PostgreSQL/TimescaleDB パッチを参照してください。

6. Zabbix サーバーを起動します。

7. /ui/conf/zabbix.conf.php$DB['DOUBLE_IEEE754'] パラメータの値を true に更新または設定します。