Após 6 meses de desenvolvimento nova versão do sistema de monitoramento , cujo código está sob a licença GPLv2. O Zabbix consiste em três componentes básicos: um servidor para coordenar a execução de verificações, gerar solicitações de verificação e acumular estatísticas; agentes para realizar verificações em hosts externos; e um frontend para gerenciar o sistema.
Para reduzir a carga no servidor central e formar uma rede de monitoramento distribuída, pode ser implantada uma série de proxies que agregam dados sobre a verificação de um grupo de hosts. Os dados podem ser armazenados nos SGBDs MySQL, PostgreSQL, TimescaleDB, DB2 e Oracle. Sem agentes, o servidor Zabbix pode receber dados através de protocolos como SNMP, IPMI, JMX, SSH/Telnet, ODBC, testar a disponibilidade de aplicações web e sistemas de virtualização.
:
- Foi apresentado um novo tipo de agente — zabbix_agent2, escrito na linguagem Go e que fornece um framework para o desenvolvimento de plugins para verificar diversos serviços e aplicações. O novo agente inclui um agendador embutido com suporte para um cronograma flexível de execução de verificações e pode monitorar o estado entre verificações (por exemplo, mantendo uma conexão aberta com o SGBD). Para economizar tráfego, é suportado o envio de dados recebidos em modo de pacote. O novo agente pode ser usado para uma substituição transparente do antigo, por enquanto apenas na plataforma Linux;
- Foi adicionada a possibilidade de usar e manipuladores de ações e notificações personalizadas ao detectar falhas nos serviços verificados. Os manipuladores podem ser criados em JavaScript e usados para interagir com serviços externos de entrega de notificações ou sistemas de rastreamento de erros. Por exemplo, é possível escrever um manipulador para enviar mensagens sobre problemas para um chat corporativo;
- Suporte oficial para SGBDs como repositórios de dados sobre verificações. Ao contrário dos suportados anteriormente,
MySQL, PostgreSQL, Oracle e DB2, o SGBD TimescaleDB é especificamente otimizado para o armazenamento e processamento de dados na forma de séries temporais (cortes de valores de parâmetros em intervalos de tempo definidos, onde os registros formam tempo e um conjunto de valores correspondentes a esse tempo). O TimescaleDB permite um aumento significativo ao lidar com esses dados, demonstrando um nível de desempenho praticamente linear. Além disso, o TimescaleDB oferece recursos como limpeza automática de registros antigos; - especificações para formatação de templates visando a padronização de configurações. A estrutura dos arquivos XML/JSON foi ajustada para ser editável manualmente em um editor de texto comum. Os templates existentes foram alinhados com as especificações propostas;
- Foi implementada uma base de conhecimento para documentar os elementos e gatilhos verificados, que podem ser fornecidos com uma descrição detalhada, explicação dos objetivos de coleta de informações e instruções sobre como agir em caso de problemas;
- Apresentadas capacidades expandidas de visualização do estado da infraestrutura. Adicionada a possibilidade de alterar as configurações dos widgets em um clique. Os conjuntos de gráficos foram otimizados para exibição em telas largas e grandes painéis de parede. Todos os widgets foram adaptados para serem exibidos em modo sem cabeçalho. Um novo widget para exibição de protótipos de gráficos foi adicionado. Um novo modo de visualização agregado foi incorporado ao widget de estatísticas resumidas sobre problemas;
- Foi adicionada suporte para a exibição de dados processados usando várias funções de agregação em gráficos de barras e gráficos, facilitando a análise de dados ao longo de períodos mais longos e simplificando o planejamento. As seguintes funções são suportadas: min,
max,
avg,
count,
sum,
first e
last; - Foi adicionada a possibilidade de registro automático de novos dispositivos usando chaves PSK (Pre-shared key) com criptografia das configurações para o host adicionado;
- Adicionada suporte para uma sintaxe JSONPath estendida, permitindo a organização de pré-processamento complexo de dados em formato JSON, incluindo operações de agregação e busca;
- Adicionada suporte para anexar descrições a macros personalizadas;
- A eficiência da coleta e determinação de dados relacionados ao WMI, JMX e ODBC foi aumentada através da adição de novas verificações que retornam arrays de objetos em formato JSON. Também foi adicionada suporte a armazéns para VMWare e serviços systemd, além da possibilidade de conversão de dados CSV para JSON;
- O limite máximo para o número de elementos dependentes foi aumentado para 10 mil;
- Adicionada suporte a novas plataformas: SUSE Linux Enterprise Server 15, Debian 10, Raspbian 10, macOS e RHEL 8. Para Windows, foi preparado um pacote com agente no formato MSI. Adicionada suporte para rápida implementação do sistema de monitoramento em contêineres isolados ou em ambientes em nuvem AWS, Azure,
Google Cloud Platform,
Digital Ocean e Docker.
Fonte: opennet.ru
