Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

15 Atualizando para valores numéricos de faixa estendida

Visão geral

Desde o Zabbix 5.0, o tipo de dado numérico (float) suporta precisão de aproximadamente 15 dígitos e intervalo de aproximadamente -1.79E+308 a 1.79E+308. O antigo tipo numérico foi desabilitado, mas ainda suportado. A partir do Zabbix 6.4, ele foi depreciado e, a partir do Zabbix 7.0, foi totalmente removido.

Se sua instalação não foi atualizada para usar valores numéricos de intervalo estendido, o seguinte aviso é exibido em RelatóriosInformações do sistema: "Tabelas de histórico do banco de dados atualizadas: Não. O suporte ao antigo tipo numérico está depreciado. Por favor, atualize para valores numéricos de intervalo estendido".

Ao atualizar para o Zabbix 7.0, os seguintes bancos de dados são atualizados automaticamente:

  • MySQL
  • PostgreSQL/TimescaleDB (sem compressão)
  • Oracle

No entanto, para Oracle, versões antigas do MySQL e instalações grandes, recomenda-se atualizar o tipo de dado manualmente antes de atualizar para o Zabbix 7.0. Para instruções, consulte MySQL, PostgreSQL/TimescaleDB (sem compressão), Oracle.

Se estiver usando TimescaleDB com compressão, o banco de dados deve ser atualizado manualmente antes de atualizar para o Zabbix 7.0. Para instruções, consulte TimescaleDB (com compressão).

A partir do Zabbix 7.0, a atualização manual das tabelas para chaves primárias também atualiza as tabelas para usar tipos de dados de dupla precisão. Para instruções sobre como atualizar para chaves primárias, consulte Atualização do banco de dados para chaves primárias.

MySQL, PostgreSQL/TimescaleDB (sem compressão), Oracle

O patch de atualização altera as colunas de dados das tabelas de histórico e tendências, que geralmente contêm muitos dados; por esse motivo, a atualização pode levar algum tempo para ser concluída. A estimativa exata não pode ser prevista e depende do desempenho do servidor, da configuração e da versão do sistema de gerenciamento de banco de dados. Portanto, recomenda-se primeiro testar o patch fora do ambiente de produção. Por exemplo, com MySQL 8.0 e MariaDB 10.5 (configuração padrão), sabe-se que o patch é executado instantaneamente para tabelas grandes devido ao algoritmo eficiente e ao fato de que anteriormente o mesmo tipo double era usado, mas com precisão limitada, o que significa que os próprios dados não precisam ser modificados.

Para atualizar o MySQL, PostgreSQL/TimescaleDB (sem compressão) ou Oracle antes de atualizar para o Zabbix 7.0:

1. Pare o Zabbix server.

2. Faça backup do seu banco de dados.

3. Execute o patch apropriado (arquivo SQL) para o seu banco de dados Zabbix 6.4:

Execute os scripts apenas para o banco de dados do server. O proxy não se beneficiará desta atualização.

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

Se estiver usando fontes, consulte o patch do MySQL, PostgreSQL/TimescaleDB ou Oracle para o Zabbix 6.4 no repositório GIT do Zabbix.

4. Inicie o Zabbix server.

5. Atualize ou defina o valor do parâmetro $DB['DOUBLE_IEEE754'] como true em /ui/conf/zabbix.conf.php.

TimescaleDB (com compressão)

Para atualizar o TimescaleDB (com compressão) antes de atualizar para o Zabbix 7.0:

1. Desabilite a compressão do TimescaleDB no frontend do Zabbix.

2. Recarregue o cache de configuração do Zabbix server usando o controle em tempo de execução: zabbix_server -R config_cache_reload

3. Pare o Zabbix server.

4. Faça backup do seu banco de dados.

5. Execute o patch apropriado (arquivo SQL) para o TimescaleDB:

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

Se estiver usando os fontes, veja o patch PostgreSQL/TimescaleDB para o Zabbix 6.4 no repositório GIT do Zabbix.

6. Inicie o Zabbix server.

7. Atualize ou defina o valor do parâmetro $DB['DOUBLE_IEEE754'] para true em /ui/conf/zabbix.conf.php.