O que é o Zabbix

Zabbix foi criado por Alexei Vladishev e, atualmente, é desenvolvido e suportado ativamente pela Zabbix SIA.

Zabbix é uma solução de monitoramento distribuído open source de classe empresarial.

Zabbix é um software que monitora inúmeros parâmetros de uma rede e a saúde e integridade de servers, máquinas virtuais, aplicações, serviços, bancos de dados, sites, a nuvem e muito mais. Zabbix usa um mecanismo flexível de notificações que permite aos usuários configurar alertas por e-mail para praticamente qualquer evento. Isso permite uma reação rápida a problemas no server. Zabbix oferece excelentes recursos de relatórios e visualização de dados com base nos dados armazenados. Isso torna o Zabbix ideal para planejamento de capacidade.

Zabbix suporta tanto polling quanto trapping. Todos os relatórios e estatísticas do Zabbix, assim como os parâmetros de configuração, são acessados por meio de um frontend baseado na web. Um frontend baseado na web garante que o status da sua rede e a saúde dos seus servers possam ser avaliados de qualquer local. Quando configurado corretamente, o Zabbix pode desempenhar um papel importante no monitoramento da infraestrutura de TI. Isso é igualmente verdadeiro para pequenas organizações com poucos servers e para grandes empresas com uma multitude de servers.

O Zabbix é gratuito. O Zabbix é escrito e distribuído sob a licença AGPL-3.0. Isso significa que seu código-fonte é distribuído livremente e está disponível para o público em geral.

Suporte comercial está disponível e é fornecido pela Zabbix Company e seus parceiros ao redor do mundo.

Saiba mais sobre os recursos do Zabbix.

Usuários do Zabbix

Muitas organizações de diferentes portes ao redor do mundo dependem do Zabbix como uma plataforma principal de monitoramento.

Arquitetura

O Zabbix consiste em vários componentes de software principais. Suas responsabilidades estão descritas abaixo.

Server

Zabbix server é o componente central ao qual os agents informam dados de disponibilidade, integridade e estatísticas. O server é o repositório central no qual todos os dados de configuração, estatísticos e operacionais são armazenados.

Armazenamento do banco de dados

Todas as informações de configuração, bem como os dados coletados pelo Zabbix, são armazenados em um banco de dados.

Interface web

Para facilitar o acesso ao Zabbix de qualquer lugar e de qualquer plataforma, é fornecida a interface baseada na web. A interface faz parte do Zabbix server e, normalmente (mas não necessariamente), é executada na mesma máquina física que aquela em que o server está em execução.

Proxy

Zabbix proxy pode coletar dados de desempenho e disponibilidade em nome do Zabbix server. Um proxy é uma parte opcional da implantação do Zabbix; no entanto, pode ser muito benéfico para distribuir a carga de um único Zabbix server.

Agent

Os agents do Zabbix são implantados nos alvos de monitoramento para monitorar ativamente recursos e aplicações locais e reportar os dados coletados ao Zabbix server. Desde o Zabbix 4.4, há dois tipos de agents disponíveis: o Zabbix agent (leve, compatível com muitas plataformas, escrito em C) e o Zabbix agent 2 (extremamente flexível, facilmente extensível com plugins, escrito em Go).

Fluxo de dados

Além disso, é importante dar um passo atrás e observar o fluxo geral de dados dentro do Zabbix. Para criar um item que colete dados, você deve primeiro criar um host. Indo para o outro extremo do espectro do Zabbix, você deve primeiro ter um item para criar um trigger. Você deve ter um trigger para criar uma ação. Assim, se você quiser receber um alerta de que a carga da CPU em Server X está muito alta, primeiro você deve criar uma entrada de host para Server X, seguida de um item para monitorar sua CPU, depois um trigger que seja ativado se a CPU estiver muito alta, seguido de uma ação que envie um e-mail. Embora isso possa parecer muitas etapas, com o uso de templates isso realmente não é. No entanto, devido a esse design, é possível criar uma configuração muito flexível.

Recursos

O Zabbix é uma solução de monitoramento de rede altamente integrada, oferecendo uma multiplicidade de recursos em um único pacote.

Coleta de dados

  • verificações de disponibilidade e desempenho
  • suporte para SNMP (tanto trapping quanto polling), IPMI, JMX, monitoramento VMware
  • verificações personalizadas
  • coleta dos dados desejados em intervalos personalizados
  • realizada pelo server/proxy e pelos agents

Definições flexíveis de limiar

  • você pode definir limiares de problema muito flexíveis, chamados triggers, referenciando valores do banco de dados de backend

Alertas altamente configuráveis

  • o envio de notificações pode ser personalizado conforme o cronograma de escalonamento, destinatário e tipo de mídia
  • as notificações podem ser tornadas significativas e úteis usando variáveis macro
  • ações automáticas incluem comandos remotos

Geração de gráficos em tempo real

  • os items monitorados são imediatamente plotados usando a funcionalidade de gráficos integrada

Recursos de monitoramento web

  • o Zabbix pode seguir um caminho de cliques simulados do mouse em um site e verificar a funcionalidade e o tempo de resposta

Amplas opções de visualização

  • capacidade de criar gráficos personalizados que podem combinar múltiplos items em uma única visualização
  • mapas de rede
  • apresentações em estilo slideshow em uma visão geral no estilo dashboard
  • relatórios
  • visão de alto nível (negócios) dos recursos monitorados

Armazenamento de dados históricos

  • dados armazenados em um banco de dados
  • histórico configurável
  • procedimento de housekeeping integrado

Configuração fácil

  • adicione dispositivos monitorados como hosts
  • os hosts são incluídos para monitoramento assim que estão no banco de dados
  • aplique templates aos dispositivos monitorados

Uso de templates

  • agrupamento de verificações em templates
  • templates podem herdar outros templates

Descoberta de rede

  • descoberta automática de dispositivos de rede
  • autoregistro de agent
  • descoberta de sistemas de arquivos, interfaces de rede e OIDs SNMP

Frontend web rápido

  • um frontend baseado na web em PHP
  • acessível de qualquer lugar
  • você pode navegar clicando
  • log de auditoria

API do Zabbix

  • a API do Zabbix fornece uma interface programável para o Zabbix para manipulações em massa, integração com software de terceiros e outros propósitos.

Sistema de permissões

  • autenticação segura de usuários
  • certos usuários podem ser limitados a determinadas visualizações

Agent completo e facilmente extensível

  • implantado nos alvos de monitoramento
  • pode ser implantado tanto em Linux quanto em Windows

Daemons binários

  • escritos em C, para desempenho e baixo consumo de memória
  • facilmente portáveis

Pronto para ambientes complexos

  • monitoramento remoto facilitado pelo uso de um Zabbix proxy

Glossário

Nesta seção, você pode aprender o significado de alguns termos comumente usados no Zabbix.

host

- qualquer dispositivo físico ou virtual, aplicação, serviço ou qualquer outra coleção logicamente relacionada de parâmetros monitorados.

host group

- um agrupamento lógico de hosts. Host groups são usados ao atribuir direitos de acesso a hosts para diferentes grupos de usuários.

item

- uma determinada informação que você deseja receber de um host, uma métrica de dados.

value preprocessing

- uma transformação do valor da métrica recebida antes de salvá-lo no banco de dados.

trigger

- uma expressão lógica que define um limite de problema e é usada para "avaliar" os dados recebidos em items.

Quando os dados recebidos estão acima do limite, os triggers passam de Ok para o estado Problem. Quando os dados recebidos estão abaixo do limite, os triggers permanecem ou retornam ao estado Ok.

template

- um conjunto de entidades (items, triggers, graphs, regras de descoberta em baixo nível, cenários web) pronto para ser aplicado a um ou vários hosts.

A função dos templates é acelerar a implantação de tarefas de monitoramento em um host; além disso, facilitar a aplicação de alterações em massa nas tarefas de monitoramento. Templates são vinculados diretamente a hosts individuais.

template group

- um agrupamento lógico de templates. Template groups são usados ao atribuir direitos de acesso a templates para diferentes grupos de usuários.

event

- uma ocorrência única de algo que merece atenção, como uma trigger mudando de estado ou uma descoberta/autoregistro do agent ocorrendo.

event tag

- um marcador predefinido para o evento. Ele pode ser usado em correlação de eventos, granularidade de permissões etc.

event correlation

- um método de correlacionar problemas com sua resolução de forma flexível e precisa.

Por exemplo, você pode definir que um problema reportado por uma trigger pode ser resolvido por outra trigger, que pode até usar um método diferente de coleta de dados.

problem

- uma trigger que está no estado "Problem".

problem update

- opções de gerenciamento de problemas fornecidas pelo Zabbix, como adicionar comentário, reconhecer, alterar a severidade ou fechar manualmente.

action

- um meio predefinido de reagir a um evento.

Uma action consiste em operações (por exemplo, enviar uma notificação) e condições (quando a operação é executada)

escalation

- um cenário personalizado para executar operações dentro de uma action; uma sequência de envio de notificações/execução de comandos remotos.

macro

- um espaço reservado de variável que é resolvido para um valor específico dependendo do contexto.

media

- um meio de entrega de notificações; canal de entrega.

notification

- uma mensagem sobre algum evento enviada a um usuário por meio do canal de media escolhido.

remote command

- um comando predefinido que é executado automaticamente em um host monitorado sob alguma condição.

web scenario

- uma ou várias solicitações HTTP para verificar a disponibilidade de um site.

frontend

- a interface web fornecida com o Zabbix.

dashboard

- seção personalizável da interface web que exibe resumos e visualizações de informações importantes em unidades visuais chamadas widgets.

widget

- unidade visual que exibe informações de um determinado tipo e origem (um resumo, um mapa, um gráfico, o relógio etc.), usada no dashboard.

Zabbix API

- a Zabbix API permite usar o protocolo JSON RPC para criar, atualizar e obter objetos do Zabbix (como hosts, items, graphs e outros) ou executar qualquer outra tarefa personalizada.

Zabbix server

- um processo central do software Zabbix que realiza o monitoramento, interage com Zabbix proxies e agents, calcula triggers, envia notificações; um repositório central de dados.

Zabbix proxy

- um processo que pode coletar dados em nome do Zabbix server, retirando parte da carga de processamento do server.

Zabbix agent

- um processo implantado nos alvos de monitoramento para monitorar ativamente recursos e aplicações locais.

Zabbix agent 2

- uma nova geração do Zabbix agent para monitorar ativamente recursos e aplicações locais, permitindo o uso de plugins personalizados para monitoramento.

Como o Zabbix agent 2 compartilha grande parte da funcionalidade com o Zabbix agent, o termo "Zabbix agent" na documentação representa ambos - Zabbix agent e Zabbix agent 2, se o comportamento funcional for o mesmo. O Zabbix agent 2 é nomeado especificamente apenas quando sua funcionalidade difere.

encryption

- suporte a comunicações criptografadas entre componentes do Zabbix (server, proxy, agent, utilitários zabbix_sender e zabbix_get) usando o protocolo Transport Layer Security (TLS).

agent autoregistration

- processo automatizado pelo qual um Zabbix agent é registrado como um host e inicia o monitoramento.

network discovery

- descoberta automatizada de dispositivos de rede.

low-level discovery

- descoberta automatizada de entidades de baixo nível em um dispositivo específico (por exemplo, sistemas de arquivos, interfaces de rede etc.).

low-level discovery rule

- conjunto de definições para a descoberta automatizada de entidades de baixo nível em um dispositivo.

item prototype

- uma métrica com determinados parâmetros como variáveis, pronta para a descoberta em baixo nível. Após a descoberta em baixo nível, as variáveis são automaticamente substituídas pelos parâmetros reais descobertos e a métrica começa automaticamente a coletar dados.

trigger prototype

- uma trigger com determinados parâmetros como variáveis, pronta para a descoberta em baixo nível. Após a descoberta em baixo nível, as variáveis são automaticamente substituídas pelos parâmetros reais descobertos e a trigger começa automaticamente a avaliar os dados.

Prototypes de algumas outras entidades do Zabbix também são usados na descoberta em baixo nível - graph prototypes, host prototypes, host group prototypes.