Zabbix 5.0 以降、数値 (float) データ型は約 15 桁の精度と約 -1.79E+308 から 1.79E+308 の範囲をサポートします。 以前の数値型は無効化されていましたが、引き続きサポートされていました。Zabbix 6.4 以降では非推奨となり、Zabbix 7.0 以降では完全に削除されました。
拡張範囲の数値を使用するようにアップグレードされていない場合は、[レポート] → システム情報 に次の警告が表示されます。 "データベース履歴テーブルがアップグレードされました: いいえ。以前の数値型のサポートは非推奨です。拡張範囲の数値にアップグレードしてください。"
Zabbix 7.0 にアップグレードすると、以下のデータベースが自動的にアップグレードされます。
ただし、Oracle、古いバージョンの MySQL、および大規模なインストールの場合は、Zabbix 7.0 にアップグレードする前に、データ型を手動でアップグレードすることをお勧めします。 手順については、MySQL、PostgreSQL/TimescaleDB (圧縮なし)、Oracle を参照してください。
圧縮機能付きの TimescaleDB を使用している場合は、Zabbix 7.0 にアップグレードする前に、データベースを手動でアップグレードする必要があります。 手順については、TimescaleDB (圧縮あり) を参照してください。
Zabbix 7.0 以降、テーブルを手動で主キーにアップグレードすると、倍精度データ型を使用するテーブルにもアップグレードされます。 主キーへのアップグレード手順については、データベースの主キーへのアップグレードを参照してください。
アップグレードパッチは、通常大量のデータを含む履歴テーブルとトレンドテーブルのデータ列を変更します。そのため、アップグレードの完了には時間がかかる場合があります。 正確な所要時間は予測できず、サーバーのパフォーマンス、データベース管理システムの構成とバージョンによって異なります。 そのため、まずは本番環境外でパッチをテストすることをお勧めします。 例えば、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
ソースを使用する場合は、 MySQL、 PostgreSQL/TimescaleDB、 または Oracle のZabbix GITリポジトリにあるZabbix 6.4用パッチ。
4. Zabbixサーバーを起動します。
5. /ui/conf/zabbix.conf.php
で $DB['DOUBLE_IEEE754']
パラメータ値を true
に更新または設定します。
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
に更新または設定します。