O que há de novo no Zabbix 5.0

Em meados de maio, foi lançada a versão Zabbix 5.0, e organizamos uma série de meetups online em diferentes idiomas com o objetivo de demonstrar claramente à comunidade todas as mudanças e inovações. Convidamos você a conferir a apresentação do CEO e criador do Zabbix, Alexey Vladyshev, na qual ele discutiu passo a passo as novidades do Zabbix 5.0.

O que há de novo no Zabbix 5.0

Zabbix 4.2 e Zabbix 4.4

Começaremos com as mudanças introduzidas na versão Zabbix 4.0, em função do uso de versões LTS.
Na versão Zabbix 4.2, lançada em abril de 2019, surgiram as seguintes funcionalidades:

  • Monitoramento de alta frequência com throttling, que proporciona escalabilidade e aumento de NVPS, significando uma detecção mais rápida de problemas e direcionamento de notificações sem grande carga para o Zabbix.
  • Coleta de dados utilizando um agente HTTP.
  • Suporte à coleta de dados do Prometheus Pro.
  • A pré-processamento suporta validação e JavaScript, permitindo a transformação de quaisquer dados coletados.
  • Pré-processamento do lado do proxy, que garante escalabilidade mais eficiente por meio do proxy.
  • Gerenciamento de tags melhorado — metainformação em nível de eventos e problemas, que é fácil de trabalhar, pois as tags são suportadas tanto em nível de templates quanto em nível de nós de rede.

Em setembro do ano passado, foi lançada a versão Zabbix 4.4, que ofereceu as seguintes funcionalidades:

  • Novo agente Zabbix.
  • Suporte a Webhook para notificações e alertas, permitindo a integração com sistemas externos.
  • Suporte ao TimescaleDB.
  • Uma base de conhecimento embutida para métricas e gatilhos tornou-se visível para os usuários do Zabbix. Por exemplo, os usuários podem usar a descrição dos itens de dados e gatilhos em Monitoring > Latest data.
  • Novo padrão para templates.

Zabbix 5.0

Hoje falaremos sobre o lançamento LTS do Zabbix 5.0, que será suportado por 5 anos. O suporte para a versão 4.4 será encerrado em um mês. O lançamento LTS do Zabbix 3.0 terá suporte por mais 3,5 anos.

O Zabbix oferece monitoramento de muitas coisas, cuja lista pode ser refinada na página http://www.zabbix.com/integrations, onde estão apresentados templates para monitoramento e plugins, incluindo para o novo agente.

O que há de novo no Zabbix 5.0
Templates disponíveis para monitoramento e integração

Além disso, há possibilidades de integração com vários sistemas, incluindo sistemas de tickets, sistemas ITSM e sistemas de entrega de mensagens através de Webhook.

O que há de novo no Zabbix 5.0
Recursos de integração

No Zabbix 5.0, o suporte interno para integração com vários sistemas de tíquetes e sistemas de notificações foi ampliado:

O que há de novo no Zabbix 5.0
Integração com diversos sistemas

A lista de modelos incorporados para monitoramento de aplicações e dispositivos foi ampliada:

O que há de novo no Zabbix 5.0
Modelos incorporados para monitoramento de aplicações e dispositivos

Todas as atualizações estão disponíveis para download em Repositório Git.

Qualquer usuário ou desenvolvedor pode participar do Zabbix com contribuições prontas – modelos ou plugins, utilizando um procedimento simples:

  1. Assinatura do Acordo de Contribuição do Zabbix (ZCA) em https://www.zabbix.com/developers.
  2. Criação de Pull Request em https://git.zabbix.com.
  3. Avaliação do pedido pela equipe de desenvolvedores. Se o plugin ou modelo atender aos padrões do Zabbix, ele será incluído no produto, e o trabalho desse desenvolvedor será oficialmente apoiado pela equipe do Zabbix.

Zabbix é um software livre de código aberto, disponível para visualização, estudo e modificação. Os usuários têm a liberdade de usar o produto, participar da melhoria do programa ou usar o código para seus novos projetos. Por outro lado, a equipe do Zabbix faz o possível para que o Zabbix possa ser facilmente instalado em várias plataformas.

Os desenvolvedores do Zabbix oferecem pacotes para praticamente todas as distribuições mais populares e várias plataformas de virtualização. Além disso, o Zabbix pode ser instalado em um clique na nuvem pública. O Zabbix também está disponível nas plataformas Red Hat Openshift ou OpenStack.

O que há de novo no Zabbix 5.0
Pacotes do Zabbix para distribuições e plataformas

Suporte ao Zabbix Agent 2 para Windows e Linux

O novo Zabbix Agent 2 é uma das melhores soluções do mercado.

  • Oferece uma estrutura baseada em plugins e suporta scripts para coleta de dados, que podem operar continuamente.
  • Suporta verificações ativas paralelas, conexões permanentes com sistemas externos, o que é útil, por exemplo, para monitoramento eficiente de bancos de dados.
  • Suporta armadilhas e eventos, o que é importante para monitoramento de dispositivos MQTT, por exemplo.
  • A nova versão do agente é fácil de instalar (pois o novo agente mantém todas as funcionalidades anteriores).

Além disso, o novo agente no Zabbix 5.0 oferece suporte ao armazenamento persistente de dados. Anteriormente, informações não enviadas eram armazenadas apenas na memória buffer do agente, enquanto na nova versão, é possível configurar o armazenamento dessas informações em disco.

O que há de novo no Zabbix 5.0
Armazenamento permanente de dados

Isso é importante no monitoramento de sistemas críticos e comunicações instáveis, uma vez que uma grande quantidade de dados essenciais é preservada até serem enviados ao servidor Zabbix. A opção também é útil para conexões via satélite, que podem ficar inacessíveis por longos períodos.
IMPORTANTE! No Zabbix 5.0, é mantido o suporte ao Zabbix Agent 1.

Mudanças no sistema de segurança no Zabbix 5.0

1. A nova versão suporta HTTP proxy para webhook, permitindo que conexões do servidor Zabbix com sistemas externos de notificação sejam realizadas de forma mais segura e gerenciável.

Se for necessária a integração do servidor Zabbix em uma rede local com um sistema externo, como JIRA na nuvem, a conexão pode ser mantida através de um HTTP proxy, o que melhora o controle e a confiabilidade da conexão.

2. Para o agente antigo e o novo, há a possibilidade de escolher quais verificações devem estar disponíveis em um determinado agente. Por exemplo, é possível limitar o número de verificações, criando listas brancas e negras, definindo as chaves suportadas.

  • Lista branca para verificações relacionadas ao MySQL
    AllowKey=mysql[*] 
    DenyKey=*
  • Lista negra para negar todos os scripts de shell
    DenyKey=system.run[*]
  • Lista negra para negar acesso a /etc/password
    DenyKey=vfs.file.contents[/etc/passwd,*]

3. É possível escolher algoritmos de criptografia para todos os componentes do Zabbix, evitando o uso de cifradores inseguros para conexões TLS. Isso é importante para monitoramento em ambientes que requerem determinados padrões de segurança.

O que há de novo no Zabbix 5.0
Escolha de algoritmos de criptografia para conexões TLS

4. O Zabbix 5.0 passou a suportar conexões criptografadas com bancos de dados. No momento, apenas a conexão criptografada com PostgreSQL e MySQL está disponível.

O que há de novo no Zabbix 5.0
Conexões criptografadas com bancos de dados

5. O Zabbix 5.0 passou de MD5 para SHA256 para armazenar hashes de senhas de usuários no banco de dados, pois atualmente esse é o algoritmo mais seguro.

6. O Zabbix 5.0 suporta macros secretas de usuário para armazenar qualquer informação confidencial, como senhas e tokens de API, que não são acessíveis aos usuários finais.

O que há de novo no Zabbix 5.0
Macros secretas

7. Todas as conexões Zabbix com sistemas externos e conexões internas com agentes são seguras. O suporte é fornecido para criptografia usando certificados TLS ou para criptografia com chave pré-compartilhada (pre-shared key encryption) para a conexão com agentes e com proxies, ou HTTPS. A segurança do lado dos agentes pode ser reforçada com listas brancas e listas negras. A interface opera através de HTTPS.

O que há de novo no Zabbix 5.0
Conexões seguras

8. Suporte ao SAML para garantir um único ponto de autenticação de um fornecedor de serviços de identidade confiável, de modo que as credenciais do usuário não saiam dos limites do firewall.

O que há de novo no Zabbix 5.0
Autenticação SAML

O suporte ao SAML permite integrar o Zabbix com vários provedores de serviços de identidade locais e em nuvem, como Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, além de Azure, AWS ou Google Cloud Platform.

Facilidade de uso do Zabbix 5.0

1. Interface de usuário otimizada para telas largas. Transferimos o menu da parte superior, onde sempre falta espaço, para o lado esquerdo da tela. O menu ainda é exibido em modo completo, mínimo e oculto.

O que há de novo no Zabbix 5.0
Interface otimizada para tela larga

2. Cópia de widgets de painéis permite criar novos PAINÉIS muito rapidamente. Para isso, no PAINEL, é necessário selecionar o widget desejado, pressionar Copiar

O que há de novo no Zabbix 5.0
Cópia de widget

e colar o widget no painel desejado.

O que há de novo no Zabbix 5.0
Inserção de widget copiado

3. Exportação de gráficos. Para copiar um gráfico e enviá-lo, por exemplo, por e-mail, você pode obter o gráfico em formato PNG, selecionando o widget desejado e clicando em Baixar imagem.

O que há de novo no Zabbix 5.0
Exportação de gráficos

4. Filtragem por tags: Problema por severidade e Problemas hosts. Agora é possível, por exemplo, reunir em um único data center dados sobre todos os problemas relacionados a um nó de rede.

O que há de novo no Zabbix 5.0
Filtragem por tags

5. Suporte a módulos para expandir a interface do Zabbix. Para instalar um módulo independente, é necessário copiá-lo para um diretório específico. Os módulos permitem expandir a funcionalidade existente da interface, criar novas páginas, alterar a estrutura do menu, como adicionar itens.

Qualquer usuário pode escrever e integrar um módulo. Para isso, o módulo é copiado para a pasta modules, após o que se torna visível para a interface, onde pode ser ativado ou desativado.

O que há de novo no Zabbix 5.0
Adicionando um novo módulo

6. Facilidade de navegação pelos recursos relacionados aos nós de rede. No Monitoramento > Hosts é exibida uma lista de dispositivos monitorados pelo Zabbix: nós de rede, serviços, dispositivos de rede, etc. Além disso, a navegação rápida para telas, gráficos e problemas de dispositivos específicos está disponível.

Removemos as guias Monitoramento > Gráficos e Monitoramento > Webs, e toda a navegação é feita através de Monitoramento > Hosts. As informações exibidas podem ser filtradas, inclusive por tags, o que permite mostrar dispositivos desativados

O que há de novo no Zabbix 5.0
Navegação pelos recursos relacionados aos nós de rede

Por exemplo, é possível selecionar dispositivos que pertencem a serviços de usuários finais, escolhendo ‘Service’, além de definir o nível de prioridade desses problemas.

O que há de novo no Zabbix 5.0
Recursos de filtragem

7. Nova operação de pré-processamento — ‘Substituição‘ permite realizar várias tarefas úteis que antes só poderiam ser feitas com expressões regulares, bastante complexas para muitos usuários.
Replace permite efetivamente substituir uma string ou símbolo por outros, o que torna simples converter dados recebidos em formato de texto para uma representação numérica.

O que há de novo no Zabbix 5.0
Operador Replace

8. Operador JSONPath, que permite extrair os nomes dos atributos de forma conveniente

O que há de novo no Zabbix 5.0
Operador para JSONPath

9. Exibição de mensagens de e-mail do Zabbix. Nas versões anteriores, todas as mensagens de e-mail do Zabbix na pasta Entrantes eram exibidas em lista. A partir do Zabbix 5.0, as mensagens serão agrupadas por problemas.

O que há de novo no Zabbix 5.0
Agrupamento de mensagens de e-mail do Zabbix

10. Suporte a macros personalizadas para IPMI para nome de usuário e senha. Se macros secretas forem usadas para nome de usuário e senha, o acesso ao seu valor será restrito.

O que há de novo no Zabbix 5.0
Suporte a macros personalizadas

11. Alteração em massa de macros personalizadas para nós de rede. Na nova versão, é possível abrir uma lista de templates, selecionar uma lista de nós de rede e adicionar macros ou mudar valores de macros existentes,

O que há de novo no Zabbix 5.0
Adicionar e alterar macros personalizadas

bem como excluir determinadas ou todas as macros dos templates selecionados para nós de rede.

O que há de novo no Zabbix 5.0
Exclusão de macros personalizadas específicas ou todas

12. Controle do formato das mensagens no nível do método de notificação. No Tipos de mídia apareceu a guia Templates de mídia com templates de mensagens.

O que há de novo no Zabbix 5.0
Modelos de notificações

Para diferentes tipos de mensagens, é possível definir diferentes modelos.

O que há de novo no Zabbix 5.0
Definindo o modelo para o tipo de mensagens

Nas versões anteriores, era necessário gerenciar essas mensagens a nível de ações, definindo as mensagens e o assunto padrão.

O que há de novo no Zabbix 5.0
Gerenciamento de modelos a nível de ações

Na nova versão, tudo pode ser definido em um nível global, e em nível de mensagens — reescrever as configurações globais.

O que há de novo no Zabbix 5.0
Gerenciamento de modelos a nível global

Para a maioria dos usuários, é suficiente definir os formatos de modelos em nível de método de notificação. Além disso, após a importação de um novo método de notificação, todos os formatos de modelos correspondentes já fazem parte dele.

13. Uso ampliado do JavaScript. JavaScript é utilizado para scripts de pré-processamento, para Webhook, etc. Na linha de comando, trabalhar com JavaScript não é fácil.
No Zabbix 5.0, uma nova ferramenta é utilizada — zabbix_js, que executa JavaScript, que recebe dados, processa-os e gera saídas.

O que há de novo no Zabbix 5.0
Ferramenta zabbix_js

O que há de novo no Zabbix 5.0
Exemplos de uso da ferramenta zabbix_js

14. Suporte a operações textuais com expressões de gatilho permite verificar versões de componentes instalados, comparar valores com quaisquer constantes, onde uma constante pode ser um macro do usuário,

{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}

comparar o último valor com o anterior, por exemplo, quando se trata de dados textuais,

{host:text.last()}<>{host.text.prev()}

ou

{host:text.last(#1)}<>{host.text.prev(#2)}

ou comparar valores textuais de diferentes métricas.

{hostA:textA.last()}={hostB:textB.last()}

15. Automação e descoberta.

  • Novas verificações JMX estão disponíveis para obter e descobrir a lista de contadores JMX, o que é muito útil, por exemplo, para monitoramento de aplicativos Java, além da automação na criação de itens de monitoramento, métricas, gatilhos e gráficos.
    jmx.get[]

    e

    jmx.discovery[]

    O que há de novo no Zabbix 5.0
    Verificações JMX

  • Na nova versão, uma chave foi introduzida para monitorar contadores de desempenho do Windows, que é suportada tanto por agentes antigos quanto novos em inglês e russo, e permite, por exemplo, descobrir a quantidade de processadores, sistemas de arquivos, serviços, etc.

    O que há de novo no Zabbix 5.0
    Monitoramento de contadores de desempenho do Windows com a chave perf_counter

  • O monitoramento ODBC tornou-se muito mais simples. Anteriormente, todos os parâmetros para o monitoramento ODBC precisavam ser descritos em um arquivo externo /etc/odbc.ini, que não era acessível pela interface do Zabbix. Na nova versão, praticamente todos os parâmetros podem ser parte da chave de métrica.

    O que há de novo no Zabbix 5.0
    Chave de métrica com descrição dos parâmetros

    Na nova versão, é possível definir o nome do servidor e a porta no nível da métrica, enquanto o nome e a senha para acesso podem ser utilizados através de macros secretas para segurança.

    O que há de novo no Zabbix 5.0
    Uso de macros secretas

  • Com o uso do protocolo IPMI para monitoramento de hardware, surgiu a possibilidade de criar templates mais simples para automação com o ipmi.get.

    O que há de novo no Zabbix 5.0
    ipmi.get

16. Teste de elementos de dados a partir da interface. No Zabbix 5.0, surgiu a possibilidade de testar alguns elementos de dados e, o que é mais importante, templates de elementos de dados a partir da interface.

O que há de novo no Zabbix 5.0
Teste de elementos de dados

Quaisquer problemas que surgirem são exibidos na interface.

O que há de novo no Zabbix 5.0
Exibição de problemas na interface

Um algoritmo semelhante é utilizado para templates de elementos de dados. Além disso, se algum elemento de dado não for suportado, para descobrir a razão da falha, basta clicar em Test.

17. Teste de métodos de alerta, que foi introduzido no Zabbix 4.4 e é importante na integração do Zabbix com outros sistemas, como sistemas de tickets.

O que há de novo no Zabbix 5.0
Teste de métodos de alerta

18. Suporte a macros personalizadas para prototypes de elementos de dados. Para determinar os valores de macros personalizadas, é possível utilizar macros LLD.

O que há de novo no Zabbix 5.0
Uso de macros LLD para determinar valores de macros personalizadas

19. Suporte a dados Float64, que são necessários, principalmente, para monitorar valores muito grandes, requerem suporte no Zabbix para dados recebidos de agentes Prometheus.
No caso da instalação do Zabbix 5.0, a migração automática de dados para o tipo padrão Float64 não acontece. O usuário ainda tem a opção de usar os tipos de dados antigos. Os scripts de migração para Float64 são executados manualmente e alteram os tipos de dados nas tabelas históricas. A substituição automática não é utilizada devido ao longo tempo que consome.

20. Melhoria da escalabilidade do Zabbix 5.0: otimização da interface e eliminação de 'gargalos'

  • As listas suspensas foram removidas, por exemplo, para a seleção de nós de rede, pois essa função não é escalável.
  • Limites 'embutidos' foram introduzidos para tamanhos de tabelas Visão Geral.
  • Novas funcionalidades foram adicionadas em Monitoramento > Hosts > Gráficos.
  • Foi adicionada a função de paginação (Monitoramento > Hosts > Web) onde antes não existia.

21. Compressão aprimorada
A compressão no Zabbix é baseada na extensão para PostgreSQL — TimescaleDB (a partir do Zabbix 4.4). A TimescaleDB oferece particionamento automático do banco de dados e melhora seu desempenho, pois a eficiência da TimescaleDB não depende realmente do tamanho do banco de dados.

No Zabbix 5.0 em Administração > Geral > Manutenção pode-se configurar, por exemplo, a compressão de dados com mais de 7 dias. Isso reduz significativamente o espaço em disco necessário (quase dez vezes, de acordo com os usuários), melhorando a economia de espaço em disco e aumentando a eficiência.

O que há de novo no Zabbix 5.0
Compressão usando TimescaleDB

22. Configuração de SNMP no nível da interface. No Zabbix 5.0, em vez de três tipos de itens de dados, apenas um é utilizado — agente SNMP. Todos os atributos SNMP foram transferidos para o nível da interface dos nós de rede, simplificando assim os templates, a troca entre versões SNMP, etc.

O que há de novo no Zabbix 5.0
Configuração de SNMP no nível da interface

23. A dependência de monitoramento da disponibilidade dos nós de rede em relação à disponibilidade do proxy permite exibir o problema de disponibilidade do proxy como prioritário caso os nós de rede estejam indisponíveis ao monitorar usando um gatilho com a função nodata:

{HostA:item.nodata(1m)}=1

O que há de novo no Zabbix 5.0
A disponibilidade dos nós de rede é determinada pela disponibilidade do proxy

Função nodata que, por padrão, considera a disponibilidade do proxy. Para uma verificação mais estrita, que não leva em conta a disponibilidade do proxy, utiliza-se o segundo parâmetro — strict:

{HostA:item.nodata(1m,strict)}=1

24. Gerenciamento de regras de descoberta de baixo nível. No Zabbix 5.0, um filtro LLD foi introduzido, permitindo visualizar, entre outras coisas, regras de descoberta não suportadas

O que há de novo no Zabbix 5.0
Filtro LLD

25. A possibilidade de desmarcar um problema (unacknowledge) permite corrigir erros e é útil na criação de fluxos de trabalho que dependem da confirmação do problema.

O que há de novo no Zabbix 5.0
Desmarcação do problema

26. Alteração das regras de descoberta de baixo nível —a capacidade de adicionar exceções ao detectar objetos como resultado da monitoração de sistemas de arquivos, que permite, em detecções de baixo nível, criar ou não criar determinados objetos, gatilhos, elementos de dados etc., alterar a importância de problemas, adicionar tags para certos objetos, excluir objetos, como sistemas de arquivos temporários, da busca, mudar o intervalo de atualização de dados, etc.

O que há de novo no Zabbix 5.0
Exclusão da detecção de baixo nível de sistemas de arquivos temporários

Por exemplo, é possível alterar o nível de prioridade dos gatilhos para sistemas de arquivos Oracle detectados, mantendo o nível de prioridade de gatilhos de outros sistemas de arquivos inalterado.

O que há de novo no Zabbix 5.0
Mudança do nível de prioridade dos gatilhos para sistemas de arquivos específicos

27. Novos macros no Zabbix 5.0 ajudam a melhorar a qualidade da monitoração.

O que há de novo no Zabbix 5.0
Novos macros no Zabbix 5.0

28. Outras novidades no Zabbix 5.0:

O que há de novo no Zabbix 5.0
Melhorias no Zabbix 5.0

29. Fim do suporte
O que há de novo no Zabbix 5.0
Funcionalidade não suportada

Conclusão

Atualizar para o Zabbix 5.0 é muito simples! Instale e execute novos arquivos binários para o servidor e arquivos do frontend, e o servidor atualizará automaticamente seu banco de dados.
Informações sobre o procedimento de atualização do Zabbix estão disponíveis em:
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500

IMPORTANTE!

  1. A atualização de dados históricos para o formato Float64 não é obrigatória.
  2. Os dados do TimescaleDB estão disponíveis apenas para leitura.
  3. Versão mínima requerida PHP 7.2.
  4. DB2 não é suportado como backend para o servidor Zabbix

(!) Você pode assistir aos vídeos e slides das apresentações de Alexey Vladychev e outros palestrantes do Zabbix Meetup Online (Russo) aqui.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster