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 and MariaDB 10.5 (подразумевана конфигурација), познато је да се закрпа извршава тренутно за велике табеле због ефикасног алгоритма и чињенице да је претходно коришћен исти двоструки тип, али са ограниченом прецизношћу, што значи да се сами подаци не треба модификовати.

Да бисте надоградили MySQL, PostgreSQL/TimescaleDB (без компресије) или Oracle пре надоградње на Zabbix 7.0:

1. Зауставите Zabbix сервер.

2. Направите резервну копију ваше базе података.

3. Покрените одговарајућу закрпу (SQL датотеку) за вашу Zabbix 6.4 базу података:

Покрените скрипте само за базу података сервера. Прокси неће имати користи од ове надоградње.

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

Ако користите изворе, погледајте MySQL, PostgreSQL/TimescaleDB, или Oracle закрпу за Zabbix 6.4 у Zabbix GIT репозиторијуму.

4. Покрените Zabbix сервер.

5. Ажурирајте или подесите вредност параметра $DB['DOUBLE_IEEE754'] на true у /ui/conf/zabbix.conf.php.

TimescaleDB (са компресијом)

Да бисте надоградили TimescaleDB (са компресијом) пре надоградње на Zabbix 7.0:

1. Онемогућите TimescaleDB компресију у Zabbix корисничком интерфејсу.

2. Поново учитајте кеш конфигурације Zabbix сервера користећи runtime control: zabbix_server -R config_cache_reload

3. Зауставите Zabbix сервер.

4. Направите резервну копију ваше базе података.

5. Покрените одговарајућу закрпу (SQL датотеку) за TimescaleDB:

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

Ако користите изворе, погледајте PostgreSQL/TimescaleDB закрпу за Zabbix 6.4 у Zabbix GIT репозиторијуму.

6. Покрените Zabbix сервер.

7. Ажурирајте или подесите вредност параметра $DB['DOUBLE_IEEE754'] на true у /ui/conf/zabbix.conf.php.