Estas notas são para atualização do Zabbix 6.4.x para o Zabbix 7.0.0.
Todas as notas estão agrupadas em:
Veja também:
Para concluir uma atualização bem-sucedida do Zabbix server no MySQL/MariaDB, pode ser necessário definir GLOBAL log_bin_trust_function_creators = 1 no MySQL se o log binário estiver ativado, não houver privilégios de superusuário e log_bin_trust_function_creators = 1 não estiver definido no arquivo de configuração do MySQL.
Para definir a variável usando o console do MySQL, execute:
Após a conclusão bem-sucedida da atualização, esta opção pode ser desativada:
Atualizar para o Zabbix 7.0.1 (ou posterior) a partir do Zabbix 7.0.0 com TimescaleDB resulta em uma falha do servidor. Esse problema é causado por uma solução alternativa para um problema de job de compressão na tabela auditlog no Zabbix 7.0 que altera irreversivelmente a política de compressão da tabela auditlog.
Veja problemas conhecidos para detalhes de como corrigir manualmente a tabela auditlog.
Se você ainda não atualizou para o Zabbix 7.0.0, observe que não deve haver tais problemas para atualizações de versões do Zabbix anteriores à 7.0 para a 7.0.1. Para instruções de atualização, consulte Atualizando o schema do TimescaleDB.
Usar o pg_restore para restaurar um backup do PostgreSQL ou TimescaleDB criado no Zabbix 7.0.0-7.0.4 resultará em um erro de função base36_decode ausente, fazendo com que a restauração falhe. Esse erro ocorre ao restaurar um backup criado com pg_dump.
Veja problemas conhecidos para detalhes sobre como corrigir esse problema manualmente antes de criar o backup.
Se você ainda não atualizou para o Zabbix 7.0.0, observe que não deve haver tais problemas para atualizações de versões anteriores ao Zabbix 7.0 para a 7.0.5. Para instruções de atualização, consulte Atualizando o schema do TimescaleDB.
O escape adequado de barras invertidas foi adicionado nos parâmetros de string da função de histórico.
Como barras invertidas adicionais são adicionadas durante a atualização de versões do Zabbix anteriores à 7.0, isso leva a parâmetros mais longos, o que pode resultar em funções de trigger quebradas se o comprimento do parâmetro exceder o tamanho máximo de dados de 255 caracteres.
Para evitar esse problema, sugere-se mover manualmente parâmetros longos para macros de usuário antes da atualização.
Observe que, desde o Zabbix 7.0.11, verificações adicionais para o comprimento do parâmetro resultante foram adicionadas para atualizações de versões do Zabbix anteriores à 7.0. Se o comprimento resultante exceder o tamanho máximo, tais parâmetros não são atualizados, enquanto uma mensagem de aviso é impressa nos logs pedindo aos usuários que corrijam manualmente os parâmetros listados.
Veja também problemas de atualização relacionados ao escape.
A versão mínima do PHP necessária foi alterada de 7.4.0 para 8.0.0.
O local padrão onde o agent do Zabbix no Windows procura o arquivo de configuração foi alterado. Agora o agent o procura no diretório onde o binário do agent zabbix_agentd.exe está localizado (em vez de C:\zabbix_agentd.conf, como anteriormente).
O agent 2 do Zabbix no Windows já procurava o arquivo de configuração padrão no diretório onde o binário zabbix_agent2.exe está localizado. No entanto, na nova versão o agent 2 espera que o arquivo de configuração seja nomeado como zabbix_agent2.conf (em vez de zabbix_agent2.win.conf)
Veja também: Instalando o agent do Zabbix no Windows.
Agora, valores vazios são permitidos nos parâmetros de configuração relacionados ao plugin no agent 2 do Zabbix.
O suporte ao TimescaleDB 1.x foi removido.
Antes de atualizar para o Zabbix 7.0.0, é necessário atualizar manualmente o TimescaleDB para usar tipos de dados de precisão dupla se o TimescaleDB for usado com compressão. Você pode saber se o TimescaleDB não está usando tipos de dados de precisão dupla pelo aviso na seção Informações do sistema do frontend ou no log do server do Zabbix: "O banco de dados não foi atualizado para usar valores de precisão dupla. O suporte para o tipo numérico antigo será removido em versões futuras."
Para mais informações, consulte Atualizando para valores numéricos de faixa estendida.
A tabela auditlog foi convertida em hypertable no TimescaleDB em novas instalações para se beneficiar do particionamento automático por tempo (7 dias por padrão) e melhor desempenho.
Para atualizar com sucesso instalações existentes, consulte Atualizando o schema do TimescaleDB.
Veja também: Versões do TimescaleDB suportadas
Os registros de proxy foram movidos da tabela hosts e agora são armazenados na nova tabela proxy.
Além disso, os dados operacionais dos proxies (como último acesso, versão, compatibilidade) foram movidos da tabela host_rtdata e agora são armazenados na nova tabela proxy_rtdata.
Há também um novo objeto proxy na API. Todas as operações com proxies devem ser atualizadas para serem feitas por meio desse novo objeto proxy.
Com base nas alterações na configuração de tempo limite do item, tanto o tempo limite de login ODBC quanto o tempo limite de execução da consulta para itens de monitoramento de banco de dados agora são limitados ao valor do parâmetro Timeout definido no formulário de configuração do item.
wmi.get e wmi.getall, quando usados com o Zabbix agent 2, agora retornam um JSON com valores booleanos representados como strings (por exemplo, "RealTimeProtectionEnabled": "True" em vez de "RealTimeProtectionEnabled": true retornado anteriormente) para corresponder ao formato de saída desses itens no Zabbix agent;oracle.ts.stats possui um novo parâmetro conname para especificar o nome do container de destino. O formato JSON dos dados retornados foi atualizado. Quando nenhum tablespace, type ou conname for especificado nos parâmetros da chave, os dados retornados incluirão um nível adicional de JSON com o nome do container, permitindo a diferenciação entre containers.net.dns.* não podem mais ser configurados sem o parâmetro name. Embora sempre listado como obrigatório, o parâmetro name, se omitido, anteriormente era resolvido para um valor padrão (zabbix.com), o que não é mais o caso.Para a lista de alterações de itens que não quebram a compatibilidade, consulte Novidades no Zabbix 7.0.0.
O Zabbix agora pode ler arquivos de trap SNMP do local correto caso o nó ativo seja alternado em uma configuração de alta disponibilidade.
No entanto, para que essa funcionalidade funcione, é necessário atualizar o formato de data/hora em todos os scripts bash, perl e SNMPTT para "%Y-%m-%dT%H:%M:%S%z" (ou seja, 2024-01-10T11:56:14+0300).
A largura padrão foi aumentada 3 vezes para todos os widgets. Observe que, se você estiver usando widgets personalizados, talvez seja necessário atualizar os respectivos parâmetros do arquivo manifest.json (por exemplo, ao configurar um widget Clock personalizado, o parâmetro width deve ser alterado de 4 para 12).
Agora, um widget pode ter até 72 colunas de largura (anteriormente 24) e de 1 a 64 linhas de altura (anteriormente de 2 a 32). Portanto, o dashboard agora pode conter até 72 widgets horizontalmente.
O novo widget de dashboard Histórico de item substituiu o widget Texto simples, oferecendo várias melhorias.
Ao contrário do widget Texto simples, que exibia apenas o dado mais recente do item em texto simples, o widget Histórico de item suporta várias opções de exibição para múltiplos tipos de item (numérico, caractere, log, texto e binário). Por exemplo, ele pode mostrar barras de progresso ou indicadores, imagens para tipos de dados binários (útil para itens de navegador) e destacar valores de texto (útil para monitoramento de arquivos de log).
Após a atualização, todos os widgets Texto simples previamente configurados serão automaticamente substituídos por widgets Histórico de item, mantendo as mesmas configurações. No entanto, quaisquer scripts de API que referenciem o widget Texto simples devem ser atualizados manualmente.
No Zabbix 7.0.4, o comportamento de resolução das macros {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {EVENT.CAUSE.*}, {EVENT.TAGS.*} e {EVENT.SYMPTOMS} foi corrigido para garantir consistência com outras macros internas. Agora, elas serão resolvidas como *UNKNOWN* se ocorrer um erro ao avaliar seu valor.
Como resultado dessa alteração, para garantir o funcionamento adequado, é necessário atualizar os tipos de mídia para as seguintes integrações: iTop, Jira Service Desk, ManageEngine ServiceDesk, SolarWinds Service Desk.
Essa alteração também pode afetar quaisquer scripts personalizados ou integrações que utilizem as macros mencionadas acima.
Veja a lista de mudanças na API no Zabbix 7.0.0.
O suporte ao Oracle como banco de dados backend está obsoleto desde o Zabbix 7.0 e espera-se que seja completamente removido em versões futuras.
Uma verificação de atualização de software agora é adicionada por padrão a novas instalações e instalações existentes - o frontend do Zabbix se comunicará com o endpoint público do Zabbix para verificar atualizações.
Você pode desabilitar essa verificação definindo AllowSoftwareUpdateCheck=0 na configuração do server.
Agora, se um valor de ponto flutuante for recebido para um item inteiro sem sinal, o valor será truncado da parte decimal e salvo como um inteiro. Anteriormente, um valor de ponto flutuante tornava um item inteiro não suportado.
As exibições de hora e data no frontend agora estão em conformidade com o padrão de exibição de hora/data dos EUA quando o idioma padrão (en_US) do frontend é usado.
| Antes | Agora |
|---|---|
![]() |
![]() |
Após a atualização, todas as verificações de agent, HTTP agent e SNMP walk[OID] serão movidas para pollers assíncronos.
Anteriormente, os recursos da biblioteca cURL eram detectados no momento da compilação do Zabbix server, proxy ou agent. Se os recursos do cURL fossem atualizados, para utilizá-los, o respectivo componente do Zabbix precisava ser recompilado.
Agora, apenas um reinício é necessário para que os recursos atualizados da biblioteca cURL fiquem disponíveis no Zabbix. A recompilação não é mais necessária. Isso é válido para o Zabbix server, proxy ou agent.
Além disso:
Após a atualização, os timeouts globais para todos os tipos de item suportados serão definidos com base no valor do parâmetro Timeout do arquivo de configuração do server. Se um proxy estiver configurado, por padrão, ele usará as configurações globais de timeout do server.
Ao usar um server atualizado (versão 7.0.0 ou mais recente) com um proxy ou agent mais antigo, o proxy ou agent funcionará como antes:
Timeout do arquivo de configuração do proxy;Timeout do arquivo de configuração do agent.Os parâmetros de timeout foram removidos dos arquivos de configuração dos plugins Modbus e MQTT. Os timeouts de execução das requisições agora podem ser definidos usando o formulário de configuração do item.
Um novo tipo de item - Item de navegador - foi adicionado ao Zabbix, permitindo o monitoramento de sites e aplicações web complexas usando um navegador. Itens de navegador permitem a execução de código JavaScript definido pelo usuário para simular ações relacionadas ao navegador, como clicar, inserir texto, navegar por páginas da web, etc.
Além disso, este recurso adiciona as seguintes alterações:
StartBrowserPollers e WebDriverURL foram adicionados;-w <webdriver url> para habilitar o monitoramento de navegador foi adicionado à utilidade de linha de comando zabbix_js.Na nova versão, o processo de descoberta de rede foi reformulado para permitir a concorrência entre as verificações de serviço. Um novo processo de gerenciador de descoberta foi adicionado juntamente com um número configurável de workers de descoberta (ou threads). O gerenciador de descoberta processa as regras de descoberta e cria um job de descoberta para cada regra com tarefas (verificações de serviço). As verificações de serviço são coletadas e executadas pelos workers de descoberta.
O parâmetro StartDiscoverers agora determina o número total de workers de descoberta disponíveis para a descoberta. O número padrão de StartDiscoverers foi aumentado de 1 para 5, e o intervalo de 0-250 para 0-1000. Os processos discoverer das versões anteriores do Zabbix foram removidos.
Além disso, o número de workers disponíveis para cada regra agora é configurável no frontend. Este parâmetro é opcional. Durante a atualização, ele será definido como "Um", como nas versões anteriores do Zabbix.
Todos os ícones no frontend foram trocados de imagens para fontes.
Em Monitoramento → Dados mais recentes, o subfiltro e os dados não são mais exibidos por padrão se o filtro não estiver definido. Observe, no entanto, que os filtros salvos anteriormente que foram definidos usando apenas o subfiltro permanecem inalterados. Nesses casos, o subfiltro permanecerá visível e os dados serão exibidos mesmo sem que o filtro principal seja definido.
O valor padrão de vários parâmetros de configuração foi alterado:
Plugins.<PluginName>.Capacity, obsoleto no Zabbix 6.0, foi removido completamente;Essas alterações não afetam instalações existentes onde esses parâmetros estão definidos explicitamente.
Várias funções agregadas foram atualizadas. Agora:
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 tipo numérico antigo foi desabilitado, mas ainda era 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órios → Informações do sistema: "Tabelas de histórico do banco de dados atualizadas: Não. O suporte ao tipo numérico antigo está depreciado. Atualize para valores numéricos de intervalo estendido".
Ao atualizar para o Zabbix 7.0, os seguintes bancos de dados são atualizados automaticamente:
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 TimescaleDB com compressão, o banco de dados deve ser atualizado manualmente.
Para detalhes sobre a atualização, consulte Atualizando para valores numéricos de intervalo estendido.
A opção para definir o tipo de inicialização do serviço do agent/agent 2 do Zabbix no Windows (-S --startup-type) foi adicionada. Esta opção permite configurar o serviço do agent/agent 2 para iniciar automaticamente na inicialização do Windows (automatic), após a inicialização dos serviços iniciados automaticamente ter sido concluída (delayed), quando iniciado manualmente por um usuário ou aplicativo (manual) ou para desabilitar o serviço completamente (disabled).
Ao realizar a instalação do agent do Windows a partir do MSI, o tipo de inicialização padrão no Windows Server 2008/Vista e versões posteriores agora é delayed se não for especificado de outra forma no parâmetro de linha de comando STARTUPTYPE parâmetro de linha de comando. Isso melhora a confiabilidade e o desempenho do serviço do agent/agent 2 do Zabbix no Windows, especialmente durante reinicializações do sistema.
Para novos templates e alterações em templates existentes, consulte Alterações em templates.
Ao instalar o Zabbix a partir de pacotes e preparar o schema do banco de dados, a localização dos arquivos relacionados ao banco de dados foi alterada para corresponder melhor à estrutura de arquivos nas fontes:
schema.sql, data.sql, images.sql) estão localizados na raiz do diretório do banco de dados.option-patches.tsdb foi substituída por timescaledb.option-patches inclui os subdiretórios with-compression e without-compression; estes contêm arquivos/patches opcionais para atualização de tabelas do banco de dados dependendo das configurações de compressão do TimescaleDB.database/postgresql/timescaledb/schema.sql.Além disso, observe as seguintes alterações:
history_pk_*.sql foram renomeados para history_upgrade_*.sql, e um arquivo trends_upgrade.sql foi adicionado para melhorar os scripts de atualização do banco de dados.double.sql foi removido devido à remoção do antigo tipo de valor numérico (float).Abaixo está uma comparação da estrutura de diretórios anterior e atual para os bancos de dados MySQL e PostgreSQL.
# Anterior: # Atual:
database database
├── mysql ├── mysql
│ ├── data.sql │ ├── option-patches
│ ├── double.sql │ │ └── history_upgrade_prepare.sql
│ ├── history_pk_prepare.sql │ ├── data.sql
│ ├── images.sql │ ├── images.sql
│ └── schema.sql │ └── schema.sql
│ │
│ │
├── postgresql ├── postgresql
│ ├── tsdb_history_pk_upgrade_no_compression │ ├── option-patches
│ │ ├── history_pk.sql │ │ └── history_upgrade_prepare.sql
│ │ ├── history_pk_log.sql │ ├── timescaledb
│ │ ├── history_pk_str.sql │ │ ├── option-patches
│ │ ├── history_pk_text.sql │ │ │ ├── with-compression
│ │ └── history_pk_uint.sql │ │ │ │ ├── history_upgrade.sql
│ ├── tsdb_history_pk_upgrade_with_compression │ │ │ │ ├── history_upgrade_log.sql
│ │ ├── history_pk.sql │ │ │ │ ├── history_upgrade_str.sql
│ │ ├── history_pk_log.sql │ │ │ │ ├── history_upgrade_text.sql
│ │ ├── history_pk_str.sql │ │ │ │ ├── history_upgrade_uint.sql
│ │ ├── history_pk_text.sql │ │ │ │ └── trends_upgrade.sql
│ │ └── history_pk_uint.sql │ │ │ └── without-compression
│ ├── data.sql │ │ │ ├── history_upgrade.sql
│ ├── double.sql │ │ │ ├── history_upgrade_log.sql
│ ├── history_pk_prepare.sql │ │ │ ├── history_upgrade_str.sql
│ ├── images.sql │ │ │ ├── history_upgrade_text.sql
│ ├── schema.sql │ │ │ ├── history_upgrade_uint.sql
│ └── timescaledb.sql │ │ │ └── trends_upgrade.sql
│ │ │ └── schema.sql
│ │ ├── data.sql
│ │ ├── images.sql
│ │ └── schema.sql
├── ... ├── ...Atualize seus scripts, se houver, que contenham referências à estrutura de diretórios ou arquivos anteriores.
Um protocolo baseado em JSON para verificações passivas do agent foi implementado.
Para compatibilidade com agents mais antigos, foi adicionado um failover para o antigo protocolo de texto simples. Se o agent retornar "ZBX_NOTSUPPORTED", o Zabbix irá armazenar em cache a interface como protocolo antigo e tentar novamente a verificação enviando apenas a chave do item em texto simples.
O Zabbix get agora pode ser executado com uma nova opção -P --protocol <valor>, onde "valor" pode ser:
Se uma chave de item não for suportada, o Zabbix get agora retornará o código de saída 1 em vez de 0.